显示数据表格.RowDeleting'on ItemTemplate单击
本文关键字:on ItemTemplate 单击 数据 数据表 表格 RowDeleting 显示 | 更新日期: 2023-09-27 18:08:37
嘿,伙计们,我试图删除一个行itemtemplate按钮单击,但当调用GridView.DeleteRow
方法从我的OnRowCommand
方法,我得到的错误:
The GridView 'MyGridView' fired event RowDeleting which wasn't handled
据我所知,RowDeleting
只有在您将CommandName设置为Delete
时才会被调用?
以下是我的GridView
和OnRowCommand
的示例:
显示数据表格
<asp:GridView ID="MyGridView" runat="server" OnRowCommand="Gv_RowCommand">
<Columns>
.
.
.
<asp:TemplateField>
<ItemTemplate>
<asp:ImageButton ID="ImgBtn" runat="server" CommandName="RemoveRow" CommandArgument="<%# ((GridViewRow) Container).RowIndex %>" ImageUrl="img.png" ToolTip="Remove" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
OnRowCommand后台代码
protected void Gv_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "RemoveRow")
{
int index = Convert.ToInt32(e.CommandArgument);
//THROWS EXCEPTION
Gv_SelectedLineItems.DeleteRow(index);
}
}
我一直在msdn上遵循这个例子,但到目前为止还没有任何成功。请帮助。
您在这里错过了一件事-调用Gv_SelectedLineItems.DeleteRow(index)
是有意义的,期望RowDeleting
函数
混乱来自您已经在按钮回调中,删除命令有时也在其中。
当您在GridView
上执行DeleteRow
时,它要求您具有此事件-希望您将在其中处理任何可能需要预删除的内容。
你的按钮点击- "RemoveRow"
是无关的删除,它只是一个按钮点击。
您需要创建RowDeleting事件处理程序。
protected void Gv_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
}
在GridView的顶部,你需要添加事件处理程序:
<asp:GridView ID="MyGridView" runat="server" OnRowCommand="Gv_RowCommand" OnRowDeleting="Gv_RowDeleting">