datagrid模板列

我在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屬性的值。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章