如何删除Gridview中新添加的行
本文关键字:添加 新添加 Gridview 何删除 删除 | 更新日期: 2023-09-27 17:59:13
我有两个GridView。一个是源网格视图,另一个是目标网格视图。两个GridView加载了一些记录。在目标网格视图中,添加了一个显示"删除"的CommandField列。在这里,我想将一行从源网格视图移动到目标网格视图。假设如果我不想,我可以通过单击GridView中的Delete命令字段来删除新添加的记录。
除了删除行,我已经完成了其他的事情。如何删除新添加的记录。目标网格视图中的DeleteCommand字段仅对新添加的记录启用,否则应启用false。任何建议。
不要添加命令字段列,而是添加模板字段。在该templatefield中,添加一个itemtemplate、一个ImageButton,并对从源网格添加的行保持ImageButton的enabled属性为true,对其他行保持false。(您可以通过在gridview中保留一个标签来检查这一点,该标签应该被隐藏,并将从源网格获取的行的文本设置为"true")示例:
<asp:TemplateField HeaderText="Delete">
<ItemTemplate>
<asp:ImageButton ID="imgbtnDelete" ToolTip="Delete" runat="server" CommandArgument='<%# DataBinder.Eval(Container.DataItem,"SomeField") %>' CommandName="Delete" />
</ItemTemplate>
</asp:TemplateField>
在CodeBehind 中
protected void Grid_RowDataBound(object sender, GridViewRowEventArgs e)
{
Label lbl = (Label)e.Row.FindControl("lbl");
ImageButton imgbtnDeleteUser = (ImageButton)e.Row.FindControl("imgbtnDelete");
if (imgbtnDeleteUser != null && lbl.Text==true)
{
imgbtnDeleteUser.Enabled = true;
}
else
{
imgbtnDeleteUser.Enabled = false;
}
}
假设您为每个DataGridView
行呈现delete button
,在删除按钮tag property
中,您可以保存它所在行的索引,在delete按钮的事件处理程序上,您可以获取行索引,然后从datagridview中删除该行。当您也想从数据库中删除记录或希望在服务器端删除记录时,就会出现这种情况。
但是,如果在clientside
处添加行,则可以使用javascript
从datagridview
中删除行,因为datagridview呈现为html表,并且可以使用javascript从html表中删除行。
如果您为不同的网格视图使用两个数据表,也许您可以使用DataRow的DataRowState枚举。
在TemplateField 中具有删除按钮