powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Постраничный DataGrid
6 сообщений из 6, страница 1 из 1
Постраничный DataGrid
    #32406861
kxmep
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет!

Возникло 2 проблемки при использовании постраничного вывода DataGrid...

1. Хранимая процедура возвращает около 4000 записей.
Свойства грида:
AllowPaging=true
PageSize=50
PagerStyle.Mode=NumericPages
PagerStyle.PageButton=20

События грида:
private void Grid_PageIndexChanged(object source, DataGridPageChangedEventArgs e)
{
Grid.CurrentPageIndex = e.NewPageIndex;
Grid.DataBind();
}

т.е. выводим 50 записей на странице и показываем 20 номеров для перехода по страницам.

Так как общее количество страниц > 20, то в конце номеров рисуется переход (...) к следующей партии страниц (от 21 до 40).

При нажатии на этот переход (...) отображается 21 страница и номера от 21 до 40, в начале и конце снова рисуются переходы (...) к предыдущей и следующей партиям страниц.

Теперь... при нажатии на номер 23 страницы, я попадаю на 3 страницу.
Или при нажатии на переход (...) к следующей партии, я попадаю на первую страницу.

2. Хранимая процедура возвращает около 4000 записей.
Свойства грида:
AllowPaging=true
PageSize=50
PagerStyle.Mode=NumericPages
PagerStyle.PageButton=20

События грида:
private void Grid_PageIndexChanged(object source, DataGridPageChangedEventArgs e)
{
Response.Write("PageIndexChanged<br>");

Grid.CurrentPageIndex = e.NewPageIndex;
Grid.DataBind();
}

При переходе на 2 страницу вижу, что событие сработало (на странице пишется PageIndexChanged), а когда выбираю 1 страницу - событие не срабатывает.

Кто-нить знает как с этим бороться?


kxmep
...
Рейтинг: 0 / 0
Постраничный DataGrid
    #32406881
Фотография hDrummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а что у вас в Page_Load'e?
...
Рейтинг: 0 / 0
Постраничный DataGrid
    #32406923
kxmep
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
private void Page_Load(object sender, System.EventArgs e)
{
DataSet1.dbo_sp_Test.DataSet.Clear();
DataAdapter1.Fill(DataSet1, "dbo_sp_Test");
Grid.DataSource = DataSet1;
Grid.DataMember = "dbo_sp_Test";
Grid.DataBind();
}

kxmep
...
Рейтинг: 0 / 0
Постраничный DataGrid
    #32406969
Фотография hDrummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
if (!Page.IsPostBack) {
DataSet1.dbo_sp_Test.DataSet.Clear();
DataAdapter1.Fill(DataSet1, "dbo_sp_Test");
Grid.DataSource = DataSet1;
Grid.DataMember = "dbo_sp_Test";
Grid.DataBind();
}

а так?
...
Рейтинг: 0 / 0
Постраничный DataGrid
    #32406994
Фотография hDrummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и ещё в этом методе

private void Grid_PageIndexChanged(object source, DataGridPageChangedEventArgs e)

надо перезаполнять DataSet и биндить его.
...
Рейтинг: 0 / 0
Постраничный DataGrid
    #32407272
kxmep
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дело вот в чем было...

Мало того, что у грида EnableViewState="False",
так еще этот грид был в панели, у которой тоже EnableViewState="False"

Всем спасибо.

kxmep
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Постраничный DataGrid
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]