Гаразд, це може бути нерозумним питанням, але я не можу це зрозуміти. Я думав, що я спробую LINQ проти DataTable. Я працював над моїм запитом, і зараз я намагаюсь запровадити якийсь простий пейджинговий файл.
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);
Моя проблема в тому, що я отримую помилку при запиті. Skip (...).
Помилка 1 "System.Data.OrderedEnumerableRowCollection " не містить визначення для "Пропустити" і немає способу розширення "Пропустити" прийняття першого аргументу типу "System.Data.OrderedEnumerableRowCollection" міг бути знайдений (ви відсутній a використовуючи директиву або збірку довідник?)
Посилання на мене:
- Microsoft.SharePoint
- Система
- System.Core
- System.Data
- System.Data.DataSetExtensions
- System.Web
- System.Xml
Що мені не вистачає?
Відповіді:
7 для відповіді № 1Тобі потрібно using System.Linq;
у верхній частині вашого файлу.
Друга проблема полягає в тому, що вам потрібно призначити результат "Пропустити" та "Взяти", щоб інше, результат просто відкидається:
var query2 = query.Skip(WPP_PAGE_SIZE * pageIndex).Take(WPP_PAGE_SIZE);
2 для відповіді № 2
using System.Linq?