如何在DataGrid中动态添加按纽并为其添加事件(如insert,delete,update)---解决就给分
如何在DataGrid中动态添加按纽并为其添加事件(如insert,delete,update)
...全文
请发表友善的回复…
发表回复
winunix 2005-01-25
- 打赏
- 举报
方法很多 动态的魔板列
hedonister 2005-01-25
- 打赏
- 举报
编辑模板列,拖三个按纽上去,双击就有了,或直接添加按扭列
fwq11223344 2005-01-25
- 打赏
- 举报
上面的方法先进,学习之中,UP,MARK
kuailewangzi1212 2005-01-25
- 打赏
- 举报
public class CTemplateColumn:ITemplate
{
private string colname;
private string cmd;
public CTemplateColumn(string cname,string command)
{
colname=cname;
cmd=command;
}
//为了使用接口必须实现的方法
public void InstantiateIn(Control container)
{
Button BT=new Button();
BT.DataBinding+=new EventHandler(this.OnDataBinding);
BT.CommandName=cmd;
container.Controls.Add(BT);
}
public void OnDataBinding(object sender, EventArgs e)
{
Button BT=(Button)sender;
DataGridItem container=(DataGridItem) BT.NamingContainer;
BT.Text=((DataRowView) container.DataItem)[colname].ToString();
}
}
private void AddDataGrid()//动态添加列(普通,模板列,给模板列添加事件)
{
BoundColumn ID=new BoundColumn();
BoundColumn XMMC=new BoundColumn();
BoundColumn BKC=new BoundColumn();
BoundColumn A=new BoundColumn();
ID.HeaderText="1";
ID.DataField="ID";
XMMC.HeaderText="2";
XMMC.DataField="XMMC";
BKC.HeaderText="3";
BKC.DataField="BKC";
A.HeaderText="4";
A.DataField="A";
DataGrid1.Columns.AddAt(0,ID);
DataGrid1.Columns.AddAt(1,XMMC);
DataGrid1.Columns.AddAt(2,BKC);
DataGrid1.Columns.AddAt(3,A);
TemplateColumn tm=new TemplateColumn();
tm.ItemTemplate=new CTemplateColumn("XMMC","Yes");
DataGrid1.Columns.AddAt(4,tm);
DataGrid1.DataSource=CreateDataSource();
DataGrid1.DataBind();
/*if(CreateDS().Tables["XMGL_XMXX"].Rows.Count>0)
{
for(int i=0;i<DataGrid1.Items.Count;++i)
{
DataGrid1.Items[i].Cells[0].Text=System.Convert.ToString(i+1);
}
}*/
}
{
private string colname;
private string cmd;
public CTemplateColumn(string cname,string command)
{
colname=cname;
cmd=command;
}
//为了使用接口必须实现的方法
public void InstantiateIn(Control container)
{
Button BT=new Button();
BT.DataBinding+=new EventHandler(this.OnDataBinding);
BT.CommandName=cmd;
container.Controls.Add(BT);
}
public void OnDataBinding(object sender, EventArgs e)
{
Button BT=(Button)sender;
DataGridItem container=(DataGridItem) BT.NamingContainer;
BT.Text=((DataRowView) container.DataItem)[colname].ToString();
}
}
private void AddDataGrid()//动态添加列(普通,模板列,给模板列添加事件)
{
BoundColumn ID=new BoundColumn();
BoundColumn XMMC=new BoundColumn();
BoundColumn BKC=new BoundColumn();
BoundColumn A=new BoundColumn();
ID.HeaderText="1";
ID.DataField="ID";
XMMC.HeaderText="2";
XMMC.DataField="XMMC";
BKC.HeaderText="3";
BKC.DataField="BKC";
A.HeaderText="4";
A.DataField="A";
DataGrid1.Columns.AddAt(0,ID);
DataGrid1.Columns.AddAt(1,XMMC);
DataGrid1.Columns.AddAt(2,BKC);
DataGrid1.Columns.AddAt(3,A);
TemplateColumn tm=new TemplateColumn();
tm.ItemTemplate=new CTemplateColumn("XMMC","Yes");
DataGrid1.Columns.AddAt(4,tm);
DataGrid1.DataSource=CreateDataSource();
DataGrid1.DataBind();
/*if(CreateDS().Tables["XMGL_XMXX"].Rows.Count>0)
{
for(int i=0;i<DataGrid1.Items.Count;++i)
{
DataGrid1.Items[i].Cells[0].Text=System.Convert.ToString(i+1);
}
}*/
}
wen1818 2005-01-25
- 打赏
- 举报
关注