Настраиваемая страница / сортировка для GridView, заполненная источником данных CodeBehind? - PullRequest
0 голосов
/ 15 ноября 2010

Я кодирую страницу отчета.На этой странице есть два поля даты для пользователя, чтобы отфильтровать дату, и GridView заполняется в зависимости от этих дат в CodeBehind (когда пользователь нажимает кнопку просмотра).Теперь я хочу реализовать функцию подкачки / сортировки для этого GridView.Я исследовал и вижу, что для GridView есть страница по умолчанию, которая не очень эффективна (моя таблица отчетов может содержать тысячи записей) и пользовательская страница, но для этого необходимо использовать ObjectDataSource (который я не использую).Таким образом, кто-нибудь может порекомендовать мне некоторые подходы, которые лучше всего использовать в этой ситуации?Некоторые уроки будут с благодарностью оценены:)

Спасибо,

1 Ответ

1 голос
/ 17 ноября 2010

Если у вас есть записи, хранящиеся в базе данных, я бы получил их количество и использовал бы этот номер для подкачки.Затем я бы запросил те, которые я хочу видеть на каждой странице.

string.Format(@"
    SELECT TOP {0} * FROM Records WHERE pkId NOT IN (
        SELECT TOP {1} pkId FROM Records ORDER BY pkId
    ) ORDER BY pkId;",
    upperBoundary,
    lowerBoundary
);

Где upperBoundary будет, например, lowerBoundary + itemsPerPage.Используя MSSQL, мы не можем позволить себе такую ​​роскошь, как функция LIMIT в MySQL, но она делает то же самое.Кстати, потому что это приводит к небольшому трафику, и если вы кешируете количество записей, у вас также не будет большого количества запросов.

...