Linq到SQL gridview分页服务器端

本文关键字:分页 服务器端 gridview SQL Linq | 更新日期: 2023-09-27 18:07:24

我有一个表有大量的记录,这是绑定到Gridview。目前,它在页面加载时绑定所有数据。我正在使用以下LINQ to SQL:

gvView.datasource = from c in _db.tblCategories
                        where c.bIsDeleted == false
                        select c;
gvView.databind();

我想把它转换为分页,这样它就不会一次显示所有的数据

Linq到SQL gridview分页服务器端

您需要使用skip并采用linq方法。请点击此链接,例如http://msdn.microsoft.com/en-us/library/bb386988.aspx

这里是一个示例,但请通过链接更好地理解

var custQuery2 =
    (from cust in db.Customers
    orderby cust.ContactName
    select cust)
    .Skip((currentpagenumber-1)*pagesize).Take(pagesize);

要使用上面的代码,你需要改变你的方法。您需要根据用户的选择确定当前页码和大小,执行此代码并将其重新绑定到gridview。

.CS Code

gvView.datasource = (from c in _db.tblCategories
                        where c.bIsDeleted == false
                        select c).ToList();
gvView.databind();

。GridView的ASPX代码:

<asp:GridView ID="gvView" runat="server" AutoGenerateColumns="false" AllowPaging="true"
    OnPageIndexChanging="OnPageIndexChanging" PageSize="10">
    <Columns>
        <asp:BoundField ItemStyle-Width="150px" DataField="myField1" HeaderText="myField1" />
    </Columns>
</asp:GridView>