c# - LINQ 和使用 DataTable 进行分页 - 无法让 Skip 工作?

标签 c# linq datatable

好吧,这可能是个愚蠢的问题,但我似乎无法弄明白。我想我会针对 DataTable 试用 LINQ。我的查询正常运行,现在我正在尝试实现一些简单的分页。

DataTable dataTable = null;

dataTable = GetAllDataTables();

var query = from r in dataTable.AsEnumerable()
            orderby r.Field<string>(Constants.fileName)
            select r;

query.Skip(WPP_PAGE_SIZE * pageIndex).Take(WPP_PAGE_SIZE);

我的问题是我在 query.Skip(...) 处遇到错误。

Error 1 'System.Data.OrderedEnumerableRowCollection' does not contain a definition for 'Skip' and no extension method 'Skip' accepting a first argument of type 'System.Data.OrderedEnumerableRowCollection' could be found (are you missing a using directive or an assembly reference?)

我的引用资料:

  • Microsoft.SharePoint
  • 系统
  • 系统核心
  • 系统数据
  • System.Data.DataSetExtensions
  • 系统.Web
  • 系统.xml

我错过了什么?

最佳答案

您需要在文件顶部使用 using System.Linq;

第二个问题是您需要将 Skip 和 Take 的结果分配给某些东西,否则结果将被简单地丢弃:

var query2 = query.Skip(WPP_PAGE_SIZE * pageIndex).Take(WPP_PAGE_SIZE);

关于c# - LINQ 和使用 DataTable 进行分页 - 无法让 Skip 工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3055866/

相关文章:

c# - 在 ASP.NET 自动回发之前更改下拉项目文本

c# - 如何读取外观流的文本?

c# - 使用内连接和左外连接将 6 个表连接在一起 - LINQ

c# - 如何删除数组的子数组

c# - .Net C# 数据表和数据集,如何关联表

winforms - 手动向 DataGridView 添加新行不会立即更新绑定(bind)的 DataTable

c# - 数据表:数据表结果中的 System.Byte[] 值

c# - IntPtr 与 ref C#

c# - 减少通用参数

c# - linq to sql 查询帮助