【问题标题】:Delete Gridview row when paging is enabled启用分页时删除 Gridview 行
【发布时间】:2015-05-06 09:41:34
【问题描述】:

我有一个启用分页和启用删除按钮的 Gridview。使用下面的代码,删除按钮被按下的那一行上方的行被删除。我也试过做“dt.Rows.Remove(dt.Rows[rowIndex-1]”。

行值仅在数据表中(不在数据库中)。

卡住了

在gridview中启用分页时需要帮助或代码来删除行。

protected void GVRequest_RowDeleting(object sender, GridViewDeleteEventArgs e)
    {
        if (ViewState["CurrentTable"] != null)
        {
            DataTable dt = (DataTable)ViewState["CurrentTable"];
            DataRow drCurrentRow = null;
            int rowIndex = Convert.ToInt32(e.RowIndex);
            if (dt.Rows.Count > 1)
            {
                dt.Rows.Remove(dt.Rows[rowIndex]);
                drCurrentRow = dt.NewRow();
                ViewState["CurrentTable"] = dt;

                GVRequest.DataSource = dt;
                GVRequest.DataBind();

                for (int i = 0; i < GVRequest.Rows.Count - 1; i++)
                {
                    GVRequest.Rows[i].Cells[0].Text = Convert.ToString(i + 1);
                }
                //SetPreviousData();

                dt.AcceptChanges();

                ViewState["CurrentTable"] = dt;

                DataView view = new DataView(dt);
                DataTable dt1 = view.ToTable( /*distinct*/ true, "CartonID", "FileID", "FileMasterID", "DeptFileID", "RequestID");

                GVRequest.DataSource = dt1;

                DataBind();
            }
        }

【问题讨论】:

  • DataBind() 是做什么的?
  • 进行更改并尝试使用 GVRequest.DataBind()..no Joy
  • 试着把 dt.AcceptChanges();在for循环之前
  • 感谢您的宝贵时间 Adil...尝试了您的建议,但它不起作用...事实上...当我按下删除按钮时,它仅从第一页删除选定的行...行在其他页面上没有被删除
  • 我觉得很难在评论中解释,请检查我的答案。

标签: c# asp.net gridview datatable paging


【解决方案1】:

来自 OP cmets

当我按下删除按钮时,它正在从 仅限第一页

当您要从第一页之后的页面中删除记录时,您必须添加前几页的记录以获得DataTable中记录的索引,因为DataTable不知道您在哪个页面上。

如果您在第二页上删除索引 4 处的记录,则使用您拥有的代码,您实际上将删除第一页上索引 4 处的记录。

你需要计算DataTable的索引,保持PageNo和PageSize的表达式如下所示。

int rowIndex = e.RowIndex + GVRequest.PageIndex * GVRequest.PageSize ;

注意:我假设第一页的 PageNo 为零

【讨论】:

  • 阿迪尔,我亲爱的人......你是上帝派来的......它就像一个梦......非常感谢兄弟......
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-30
  • 2013-03-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多