Я хочу реализовать пользовательский пейджинг с помощью DataGrid и не переходить в GridView для этого, как это сделано по этой ссылке Отличное решение для пользовательского пейджинга GridView , потому что проект, над которым я работаю, уже работаетпостроен с использованием DataGrids.
Кроме того, я искал через Интернет, но не смог найти пользовательский пейджинг без использования ObjectDataSource.Использование ObjectDataSource, на мой взгляд, связано с быстрыми демонстрациями, которые вы можете увидеть на конференциях и в видеоруководствах (которые обычно говорят мне «не делайте так в производстве»).
Также будут поступать мои данныевне хранимой процедуры с использованием запроса CTE:
SELECT * FROM (SELECT RowID = ROW_NUMBER() OVER ([Name] ORDER BY ASC),
[ID],[Name],[Status] FROM [UserMaster]) as [UserMaster]
WHERE ((RowID BETWEEN @StartIndex AND @StartIndex-@PageSize-1) OR @StartIndex = -1 OR @PageSize = -1)
Этот запрос является частичной реализацией, чтобы дать представление о том, как он работает. Здесь в этом запросе, если @StartIndex и @PageSize не пройдены, будут возвращены все записии я проверил запрос, и он работает, как ожидалось.Запрос построен в отношении N-слойных веб-приложений с ASP.NET 3.5, часть 4: сортировка, разбиение на страницы и фильтрация
В коде установлено то, что я делаю в работающем старом коде AllowPaging=false
, AllowCustomPaging=true
и VirtualItemcount=100
, но это не работает, поскольку пейджинг сейчас вообще не отображается.
Затем я попытался настроить и установить AllowPaging=true
, AllowCustomPaging=true
иVirtualItemcount=100
это отображает пейджинг, но не помогает, так как нажатие на pagedItem не меняет столбцы данных в области содержимого.
Надеюсь, все это хорошо объяснено.
Также я нашел некоторыессылки, которые не очень помогли мне, надеюсь, это поможет улучшить часть ответчиков.