使用 Linq-to-sql、Listview 和 Datapager 进行分页

问题描述 投票:0回答:2

我正在使用 LINQ to SQL 搜索相当大的数据库,并使用 listview 和 datapager 进行分页。我知道 Skip() 和 Take() 方法并且它们可以正常工作。但是,我无法使用数据分页器的结果计数,因为它们始终是 Take() 方法中确定的页面大小。

例如:

var result = (from c in db.Customers
              where c.FirstName == "JimBob"
              select c).Skip(0).Take(10);

即使有 1000 个 JimBobs,此查询也将始终返回 10 个或更少的结果。因此,DataPager 始终会认为只有一个页面,而用户无法在整个结果集中导航。

如何欺骗数据分页器显示页数为 1000,但一次绑定 10 个项目?我不想使用对象数据源。

谢谢。

pagination linq-to-sql
2个回答
1
投票

运行第二个查询:

var count = Customers.Where(c => c.FirstName == "JimBob").Count();

0
投票

尝试使用这个..

    var result = (from c in db.Customers
          where c.FirstName == "JimBob"
          select c).Skip((PAGENUMBER-1 * 10)).Take(10);

查看此处有关简单 LINQ 分页

的博文

希望有帮助..:)

© www.soinside.com 2019 - 2024. All rights reserved.