开发者

LINQ and paging with a DataTable - can't get Skip working?

Ok so this might be a dumb question, but I can't seem to figure it out. I thought I'd try out LINQ against a DataTable. I got my query working and now I'm trying to implement some simple paging.

DataTable dataTable = null;

dataTable = Get开发者_JAVA技巧AllDataTables();

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);

My problem is that I get an error at 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?)

References I have:

  • Microsoft.SharePoint
  • System
  • System.Core
  • System.Data
  • System.Data.DataSetExtensions
  • System.Web
  • System.Xml

What am I missing?


You need using System.Linq; at the top of your file.

A second problem is that you need to assign the result of Skip and Take to something otherwise the result is simply discarded:

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


using System.Linq?
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜