datagrid模板列

来源:互联网 发布:java自学的方法 编辑:程序博客网 时间:2024/04/29 15:09

我在datagrid用到模板列,其中模板列中有时候用到textbox按钮,如果我有两个或者更多的textbox按钮,我应该如何捕获这个事件,或者是我在模板列中用到了dropdownlist或者radio这种控件,我应该如何捕获这些事件?

1.<ItemTemplate>  
<asp:LinkButton id="EditLB" runat="server" OnClick="LBClick" CommandName="EDIT">编辑</asp:LinkButton><FONT face="宋体">&nbsp;</FONT>  <asp:LinkButton id="DeleteLB" runat="server" OnClick="LBClick" CommandName="DELETE">删除</asp:LinkButton>
</ItemTemplate>

在.cs文件中添加
public void LBClick(object source, System.EventArgs e )
{
//你的处理代码
}

2.为模板列中的控件设定CommandName和CommandArgument
ItemCommand事件中判别参数传递的CommandName确定是哪个控件触发,CommandArgument存放触发命令的参数(比如记录索引号……)

3.在DataGrid的ItemCreated事件里,DropDownList1.SelectedIndexChanged+=new System.EventHandler(this.DropDownList_SelectedIndexChanged);
DropDownList_SelectedIndexChanged是你自己写的方法

4.用该按钮的OnComand属性。例如:
OnCommand="DelRecord" CommandArgument='<%# DataBinder.Eval(Container.DataItem,"publishinfoid")%>'


在DataGrid的OnItemCommand事件中写
switch(e.CommandName)
{
case "cmdname1":
.....
break;
case "???":
....
break;
default:break;
}

cmdname1是你那个按钮的CommandName属性的值。