在GridView中如果想添加自己的按钮,指定执行的事件要如下做:
1、设置每个按钮的CommandName 属性。
2、给每个按钮绑定CommandArgument 属性。
3、编写RowCommand事件,通过e.CommandArgument得到行索引号,这样就Over了。
例:
html代码:
<asp:TemplateField><ItemTemplate>
<asp:Button id="Button1" runat="server" Text="受理" CssClass="gridviewbtn"
Enabled='<%# !(bool)Eval("issl") %>' CommandName="sl" CommandArgument='<%# Eval("ids") %>'>
</asp:Button>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField><ItemTemplate>
<asp:Button id="Button2" runat="server" Text="回复" CssClass="gridviewbtn"
Enabled='<%# (bool)Eval("issl") && !(bool)Eval("ishf") %>' CommandName="hf" CommandArgument='<%# Eval("ids") %>'>
</asp:Button>
</ItemTemplate>
CS代码如下 :
switch (e.CommandName)
{
case "sl":
if (d.AcceptTransact(e.CommandArgument.ToString()))
{
ScriptManager.RegisterClientScriptBlock(upLeader, this.GetType(), "click", "alert('受理成功!')", true);
CustomerGrid.DataBind();
}
else
{
ScriptManager.RegisterClientScriptBlock(upLeader, this.GetType(), "click", "alert('受理失败!')", true);
}
break;
case "hf":
if (d.RestoreTransact(e.CommandArgument.ToString()))
{
ScriptManager.RegisterClientScriptBlock(upLeader, this.GetType(), "click", "alert('回复成功!')", true);
CustomerGrid.DataBind();
}
else
{
ScriptManager.RegisterClientScriptBlock(upLeader, this.GetType(), "click", "alert('回复失败!')", true);
}
break;
}