【问题标题】:How to remove row from gridview on row command event?如何在行命令事件中从 gridview 中删除行?
【发布时间】:2012-07-13 15:09:20
【问题描述】:

我试图通过单击放置在 gridview 内的 ImageButton 从 gridview 中删除行。我正在获取行索引,但不知道如何删除。我的 gridview 从 session 绑定,我不想重新绑定 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);
    }
  }

如果有人对此有任何想法,请帮助我..

【问题讨论】:

    标签: asp.net gridview aspxgridview


    【解决方案1】:

    使用gridview deleterow 方法。

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

    【讨论】:

    • 删除后是否绑定了网格?删除后调用gridview.Bind()方法。
    • 你必须调用绑定方法bcz否则gridview不会更新。
    【解决方案2】:
    protected void GVPurchaseOrderTax_RowDeleting(object sender, GridViewDeleteEventArgs e)
    {
        try
        {
            if (dt.Rows.Count > 0)
            {
                dt.Rows[e.RowIndex].Delete();
                GVPurchaseOrderTax.DataSource = dt;
                GVPurchaseOrderTax.DataBind();
            }
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-08-08
      • 2010-10-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-10
      • 2012-10-20
      • 1970-01-01
      相关资源
      最近更新 更多