Я использую пятно сетки для отображения списка элементов. Список заполняется с использованием $.ajax
звонка в jquery-ui dialog box
.scrollRowIntoView не работает в диалоговом окне jquery-ui
У меня есть требование прокрутить до позиции ранее выбранного элемента. Поэтому я использую следующую функцию для прокрутки и выбора ранее выбранного пункта:
function SetDefaultItemSelected() {
var selectedKey = 16; // hardcoded but there is logic to get previous item
for (var rowIndex = 0; rowIndex < myItemDataView.getLength(); rowIndex++) {
var gridRow = myItemDataView.getItem(rowIndex);
if (gridRow.Key === selectedKey) {
myItemGrid.setSelectedRows([rowIndex]);
//TODO: check why the scrollRowIntoView is not working
myItemGrid.scrollRowIntoView(rowIndex);
break;
}
}
Выход что-то вроде этого:
(Есть 22 строк в общей сложности, и я уже выбран 16-й ряд) Я не уверен, почему он скрывает верхние 3 строки и не прокручивается до 16-й строки.
UPDATE 1:
Просто проверить, что если добавить кнопку и связать его щелчок событие с указанной выше функции, прокрутка волшебно работает. Но, я не уверен, что я делаю неправильно при вызове функции сразу после создания сетки? Пожалуйста, помогите.
Может ли быть ошибка, поскольку функциональность работает на странице, но не в диалоговом окне jquery-ui?
UPDATE 2:
Я создал новое приложение MVC3 и пытался реализовать то же самое - Called функции LoadData на $ .ajax и заселена пятно сетки, а затем попытался выбрать идентификатор по умолчанию.
Я понял, что проблема возникает, только если сетка находится в диалоговом окне jquery-ui. Такая же сетка на странице работает нормально.
Может ли быть ошибкой, что пятно сетки прокрутки работает на странице, а не в диалоговом окне, загруженном вызовом ajax?
Пожалуйста, помогите и дайте мне знать, если мне нужно поделиться образцом кода.
UPDATE 3:
Добавлен пример кода. Любая помощь приветствуется!!
https://groups.google.com/forum/#!topic/slickgrid/CUjY3H1F_zM