2012-07-13 88 views
0

我想通过点击位于gridview内的ImageButton从gridview中删除行。我得到行索引但不知道如何删除。我的gridview从会话绑定,我不想重新绑定gridview。如何从行命令事件的gridview中删除行?

这里是我的代码:

protected void GVDetail_RowCommand(object sender, GridViewCommandEventArgs e) 
    { 
    if (e.CommandName.Equals("Remove")) 
    { 
     List<Class1> list = (List<Class1>)Session["value1"]; 
     int index = Convert.ToInt32(e.CommandArgument); 
     GridViewRow gridRow = gvDetail.Rows[index];// (GridViewRow)(((ImageButton)e.CommandSource).NamingContainer); 

     ((List<Class1>)Session["value1"]).RemoveAt(index); 
    } 
    } 

如果有人对此有比请帮我的任何想法..

回答

2

使用gridview的deleteRow方法即可。

void GVDetail_RowCommand_RowCommand(Object sender, GridViewCommandEventArgs e) 
{ 
if(e.CommandName=="Remove") 
{ 
    var id = Int32.Parse(e.CommandArgument); 
    GVDetail.DeleteRow(id); 

} 
} 
+0

我都尝试过,但它不工作... – user968441 2012-07-13 15:46:01

+0

有你删除后网格绑定?删除后调用gridview.Bind()方法。 – 2012-07-13 15:55:14

+1

你必须调用绑定方法bcz,否则gridview不会更新。 – 2012-07-13 15:55:50

0
protected void GVPurchaseOrderTax_RowDeleting(object sender, GridViewDeleteEventArgs e) 
{ 
    try 
    { 
     if (dt.Rows.Count > 0) 
     { 
      dt.Rows[e.RowIndex].Delete(); 
      GVPurchaseOrderTax.DataSource = dt; 
      GVPurchaseOrderTax.DataBind(); 
     } 
    } 
} 
+0

考虑提供解​​释给你的代码 – arghtype 2015-09-24 07:30:42