【问题标题】:ASP.NET DataContext GridView Paging [duplicate]ASP.NET DataContext GridView 分页 [重复]
【发布时间】:2011-12-07 23:49:51
【问题描述】:

可能重复:
The data source does not support server-side data paging

我有一个使用 LINQ 查询将数据绑定到返回结果的 GridView。我在 gridview 上启用了分页,因为返回了大约 300 条记录。

我创建了一个搜索函数,它生成一般 SQL 查询并返回结果。但是执行时出现以下错误。

The data source does not support server-side data paging.

这是我执行 SQL 搜索的代码。

    IEnumerable<equipment> result = db.ExecuteQuery<equipment>(SQLQuery);
    equipmentGrid.DataSource = result;
    equipmentGrid.DataBind();

这是gridview代码:

<asp:GridView ID="equipmentGrid" OnPageIndexChanging="equipmentGrid_PageIndexChanging" runat="server">
            <Columns>
                <asp:TemplateField>
                    <ItemTemplate>
                    <a href="details.aspx?EQCN=<%# DataBinder.Eval(Container.DataItem, "EQCN") %>">Details</a> | 
                    <a href="edit.aspx?EQCN=<%# DataBinder.Eval(Container.DataItem, "EQCN") %>">Edit</a> | 
                    <a href="delete.aspx?EQCN=<%# DataBinder.Eval(Container.DataItem, "EQCN") %>">Delete</a>
                    </ItemTemplate>
                </asp:TemplateField>
            </Columns>
        </asp:GridView>

还有 OnPageIndexChanging 函数

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

非常感谢!!!!!!

【问题讨论】:

    标签: c# asp.net paging datacontext


    【解决方案1】:

    您需要将 Gridview 的 AllowPaging 属性设置为 true:

    <asp:GridView ID="equipmentGrid" OnPageIndexChanging="equipmentGrid_PageIndexChanging" runat="server" AllowPaging="true">
    

    您可能需要在您的 LINQ 查询上调用 ToList()。您还可以在 aspx 中设置 LINQ 数据源。

    【讨论】:

      【解决方案2】:

      试试这个...

      protected void gridView_PageIndexChanging(object sender, GridViewPageEventArgs e)
      {
      
          // Add here your method for DataBinding
           BindGridControl();
      
          gridView.PageIndex = e.NewPageIndex;
          gridView.DataBind();
       }
      

      如果没有数据绑定方法,您将无法获得分页结果。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2010-10-09
        • 2014-09-16
        • 2017-10-13
        • 2010-10-13
        • 2016-09-14
        相关资源
        最近更新 更多