【问题标题】:gridview_paging messing upgridview_paging 搞砸了
【发布时间】:2009-09-23 18:32:51
【问题描述】:

我有一个 asp.net C# 网络应用程序。在其中我有一个网格视图。 gridview 从数据库中获取搜索结果。有时结果很多,所以我想使用分页。这是我尝试过的:

     protected void grdResults_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        grdResults.PageIndex = e.NewPageIndex;
        grdResults.DataBind();
    }

由于某种原因,当我单击页码时,它会显示 EmptyDataText(没有要显示的记录)。什么代码可以工作? 请帮忙。

谢谢

【问题讨论】:

    标签: c# asp.net gridview paging


    【解决方案1】:

    尝试在 NeedDataSource 事件中分配数据源。

    干杯。

    【讨论】:

      【解决方案2】:

      在调用 DataBind() 之前,您需要将数据源重新分配给 grdResults。

      【讨论】:

      • 仅当它尚未在标记或例如 Load 事件中声明时。您是否禁用了 ViewState?如果没有,我认为您不需要重新绑定数据,除非您的数据源仅包含显示的记录(并省略其他页面上的记录)。
      • 你是对的。我不需要重新绑定数据。但是现在,它不会更改页面,直到我单击两次页码...
      【解决方案3】:

      试试这个代码它绝对可以工作:

      protected void GV_PageIndexChanging(object sender, GridViewPageEventArgs e)
      {
      
          GV.PageIndex = e.NewPageIndex;
          BindGrid();
      }
      
          public override void BindGrid()
      {
          query = new CommonQueries();
          GV.DataSource = query.getAllBooks();
          GV.DataBind();
      }
      

      您的代码的问题是您没有将数据源重新分配给您的网格视图!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2010-10-15
        • 2012-04-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多