2017-02-01 20 views
1

В настоящее время мы устанавливаем scrolltop следующим образом:Как установить по умолчанию для прокрутки WebDataGrid в нижней части сетки

webGrid.ScrollTop = dt.Rows.Count * 30; 

где дт содержит полные данные для связывания в WebGrid. Но когда огромные данные присутствуют в datatable и после установки свойства scrolltop, webGrid.Rows.Count уменьшает причину проблемы. Просьба помочь установить нижнюю часть прокрутки для webgrid, не уменьшая количество строк webGrid

ответ

2

Вы упомянули сокращение числа строк, означает ли это, что вы используете виртуальную прокрутку, а не все строки загружаются изначально?

Что касается вас, то есть простой способ реализовать это на клиенте . Вы можете получить высоту контейнера прокрутки - $ ("# WebDataGrid1 table [role = 'grid']") .. и используйте scrollTop для прокрутки до нижней части контейнера.

var height = parseInt($("#WebDataGrid1 table[role='grid']").css("height")); 
ig_controls.WebDataGrid1._container.scrollTop = height; 
+0

Куда поместить вышеуказанный код? Не работает в document.ready, а также в функции на кнопке «Добавить новую». Я предполагаю, что эти строки выполняются, а затем загружается WebGrid. – psobhan

+0

Заметил, что для «VirtualScrolling RowCacheFactor» установлено значение 100. Возможно, из-за уменьшения числа строк. Увеличено до 1000 и свойство scrollTop работает нормально. – psobhan

+0

Вы можете поместить код в событие WebDataGrid Initialize client, чтобы корректно применяться Grid, поэтому необходимо: Функция WebDataGrid1_Init (отправитель, eventArgs) { var height = parseInt ($ ("# WebDataGrid1 table [role = 'сетка'] ") CSS (." высота ")); ig_controls.WebDataGrid1._container.scrollTop = height; } ... Что касается виртуализации, я рад, что помог вам. –