代码之家  ›  专栏  ›  技术社区  ›  Afshar Mohebi

C中的网格视图分页#

  •  1
  • Afshar Mohebi  · 技术社区  · 14 年前

    我正在使用 PageIndexChanging 用于在C中处理GridView分页的事件。但不知道如何使用pagesize/pagenumber/pagecount。换句话说,我的代码总是被迫返回所有数据。注意以下代码:

    protected void grdList_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
            grdList.PageIndex = e.NewPageIndex;
            grdList.DataSource = MyGetData();
            grdList.DataBind();
    }
    

    现在如何在代码中使用真正的分页?

    注意到 MyGetData 有一个超负荷 PageIndex PageSize 也是。

    更新

    我已经定好了 每页记录条数 并启用 AllowPaging 也是。我知道如果我使用声明性数据绑定,我应该为GridView提供所有数据的计数。问题是如何在这个方法中使用计数。

    更新2 我需要这样的东西似乎是不可能的 Problem with Efficient Gridview paging without datasource control

    4 回复  |  直到 12 年前
        1
  •  1
  •   Community TheSoundDefense    7 年前

    网格视图中的高效分页需要统计数据,否则网格视图将加载每个页面中的所有数据。由于在不使用数据源控件的情况下无法告诉GridView数据计数是多少,因此在没有数据源控件的情况下,无法在GridView中进行有效的分页。有关详细信息,请访问 this link this link .

        2
  •  0
  •   Shaun Mason    14 年前

    您可以设置 PageSize GridView 控制。

        3
  •  0
  •   anishMarokey FIre Panda    14 年前

    你需要设置 PageSize="10"

    请参见此链接: http://www.dotnetspider.com/resources/1249-Grid-View-Paging-Sorting.aspx

        4
  •  0
  •   PhilPursglove    14 年前

    如果你 MyGetData 方法已经接受pageIndex和pageSize,那么您只需要:

    protected void grdList_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        grdList.PageIndex = e.NewPageIndex;
        grdList.DataSource = MyGetData(e.NewPageIndex, grdList.PageSize);
        grdList.DataBind();
    }
    

    但这似乎有点过于简单了,所以我可能在这里遗漏了一些东西。