linq到sql gridview分页服务器端

时间:2015-08-11 05:17:13

标签: c# asp.net sql-server linq gridview

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

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

我想通过分页转换它,以便它不会同时显示所有数据。

2 个答案:

答案 0 :(得分:1)

您需要使用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。

答案 1 :(得分:0)

.CS代码

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>

请参阅This了解GridView Pagination。