【问题标题】:Paging on GridViewGridView 上的分页
【发布时间】:2012-11-18 02:50:27
【问题描述】:

我现在不知道如何在另一个页面中显示我的网格数据。

基本上,我有一个启用分页的 GridView 名称“gdvRiders”。问题是当我单击第 2 页时,我得到一个没有数据的空白页面。有人能帮我吗?我开始学习c#了

这是我的代码:

protected void Page_Load(object sender, EventArgs e)
    {
        DataBase db = new DataBase(true);
        string strSQL;
        DataTable dt;

        if (!IsPostBack)
        {
            strSQL = "SELECT r.surname, r.firstname, cn.country, r.age, f.flagurl " +
                     "FROM (Riders r INNER JOIN par_CountryNation cn ON r.countryid = cn.countryid) INNER JOIN par_Flags f ON cn.flagid = f.flagid ";

            dt = db.getDataTableAc(strSQL, "list_Riders");

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

        }

    }

    protected void gdvRiders_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
            gdvRiders.PageIndex = e.NewPageIndex;
            gdvRiders.DataBind();

    }
}

【问题讨论】:

  • 你不需要重置索引并重新绑定。 GridView 分页会自动完成。

标签: c# asp.net


【解决方案1】:

需要将数据分配给网格的数据源You should put the code to bind the gridview in separate function and call it from page_load and PageIndexChanging.

protected void gdvRiders_PageIndexChanging(object sender, GridViewPageEventArgs e)
{             
       strSQL = "SELECT r.surname, r.firstname, cn.country, r.age, f.flagurl " +
                 "FROM (Riders r INNER JOIN par_CountryNation cn ON r.countryid = cn.countryid) INNER JOIN par_Flags f ON cn.flagid = f.flagid ";
        dt = db.getDataTableAc(strSQL, "list_Riders");
        gdvRiders.PageIndex = e.NewPageIndex;
        gdvRiders.DataSource = dt; 
        gdvRiders.DataBind();

}

【讨论】:

  • 知道了...非常感谢您的快速回复。
猜你喜欢
  • 1970-01-01
  • 2013-11-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-16
  • 2011-03-27
  • 1970-01-01
相关资源
最近更新 更多