我需要根据从网格视图从数据表中删除现有行
我试图使它选定值从数据表中删除一行,但我失败了
protected void GV_Repair_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
var row = GV_Repair.Rows[e.RowIndex];
newdt.Rows.Remove();
bind_grid();
}
我需要根据从网格视图从数据表中删除现有行
我试图使它选定值从数据表中删除一行,但我失败了
protected void GV_Repair_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
var row = GV_Repair.Rows[e.RowIndex];
newdt.Rows.Remove();
bind_grid();
}
如果你有一个静态数据源,你可以这样做:
protected void GV_Repair_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
newdt.Rows.RemoveAt(e.RowIndex);
bind_grid();
}
如果数据源是动态的,你会需要隐藏字段在GridView的模板字段(如果你没有的话):
<asp:TemplateField>
<ItemTemplate>
<asp:HiddenField ID="hdnId" runat="server" Value='<%# Eval("ID") %>' />
<!-- Other Items -->
</ItemTemplate>
</asp:TemplateField>
和更改的行删除方法:
protected void GV_Repair_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
int id = 0;
GridViewRow row = GV_Repair.Rows[e.RowIndex];
HiddenField hdnId = row.FindControls("hdnId") as HiddenField;
if(hdnId != null && int.TryParse(hdnId.Value, out id)
{
//Logic to delete from table where Id = id
}
bind_grid();
}
你有什么错误? –