Вопрос

Я думаю, что я разобрался со своим событием GridView1_PageIndexChanged и подумал, что оно должно сработать

 protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
    GridView1.DataSourceID = "lqPackWeights";
    GridView1.PageIndex = e.NewPageIndex;
}

Однако, когда я сейчас пытаюсь получить доступ к странице 2 x, я получаю следующее:

Ошибка сервера в приложении "/project".Этот поставщик поддерживает Skip() только для упорядоченных запросов, возвращающих сущности или проекции, которые содержат все столбцы идентификаторов, где запрос представляет собой запрос с одной таблицей (без объединения) или является отдельной операцией Except, Intersect или Union (не Concat).

Я немного сбит с толку этим, я не использую skip, насколько я могу видеть, если только я не ослепну?

В настоящее время я использую SQL2000, связана ли эта проблема непосредственно с этим экземпляром SQL?

Это было полезно?

Решение

Используете ли вы LINQ для SQL?Проблема, по-видимому, уникальна для SQL Server 2000.Смотрите эти статьи MSDN по Устранение неполадок (LINQ to SQL) и Стандартная трансляция оператора запроса (LINQ в SQL) для получения дополнительной информации.

Редактировать

Аналогичный вопрос задавался ранее, см.: LINQ, Skip, OrderBy и SQL Server 2000

Другие советы

Элемент управления использует Пропустить, чтобы перейти к записям для конкретной страницы, которую он должен отображать.

В SQL Server порядок запросов по умолчанию отсутствует (если только это не прямая таблица с кластеризованным индексом), поэтому вы должны указать порядок в запросе для источника данных. Результат запроса должен иметь определенный порядок; не имеет смысла пролистывать результаты, если упорядочение меняется от страницы к странице, так что вы получаете более или менее случайный выбор записей из результата для каждой страницы.

В настоящее время мой запрос linq упорядочен ... Я думаю, что это не путь вперед или я вас неправильно понимаю?

закрытый объект GetMaterialData (строка MemberKey, строка MaterialType, строка MaterialLevel, int Count)     {         ORWeightsDataClassesDataContext db = newORWeightsDataClassesDataContext ();         var query = db.tblOnlineReportingCOMPLETEWeights                     .Where (x = > x.MaterialLevel == MaterialLevel & amp; & amp; x.MaterialText == MaterialType & amp; & amp; x.MemberId == MemberKey)                     .OrderByDescending (x = & xt; x.ProductPercentage) .Take (Count);         обратный запрос;     }

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top