Как определить, когда пользователь прокручивает до конца DataGridView?

Я пишу приложение С# Windows Forms в Visual Studio 2008. У меня есть DataGridView с большим количеством данных. Сначала я хотел бы заполнить только 10 000 строк и добавить больше только тогда, когда пользователь прокручивает страницу вниз. Я обрабатываю событие Scroll DataGridView, но оно никогда не возникает, когда для свойства ScrollEventArgs.Type установлено значение Last, что является условием, которое, как мне кажется, мне нужно поймать, чтобы добавить больше строк. Я читал о людях, имеющих плохой опыт работы с событием DataGridView.Scroll (например, событие DataGridView Scroll ( и ScrollEventType.EndScroll)), но предоставленное решение (Как я могу получать события прокрутки типа полосы прокрутки из DataGridView?) только добавляет свойство ScrollEventArgs.Type, которое возвращается как EndScroll, а не Last, как я нужно. Кто-нибудь знает, как правильно поднять событие или другой способ выполнить эту задачу?


person Craig W    schedule 24.03.2010    source источник


Ответы (1)


Я бы использовал виртуальный режим DataGridView (пошаговое руководство Microsoft по виртуальному режиму), который предназначен для обработки очень больших наборов данных. В виртуальном режиме вы можете поймать событие CellValueNeeded. Когда DataGridViewCellValueEventArgs.RowIndex равно 10 000, вы можете добавить в таблицу больше строк.

person Daniel Stutzbach    schedule 26.03.2010