2013-09-06 2 views
0

У меня есть сетка kendo ui с dropdownlists в ячейках. Проблемы в том, что я теряю выбранную строку, когда кто-то выбирает новое значение в выпадающем списке. Может ли кто-нибудь помочь мне с этим?Kendo ui сетка с dropdownlists

+1

Не хватает информации, чтобы помочь вам. Отправьте свою модель просмотра и конфигурацию сетки. – Brett

ответ

0

Что, вероятно, происходит в том, что выбор элемента в DropDownList меняет значение в элементе связанных данных. Это приводит к тому, что DataSource запускает событие «change», поэтому в таблице известно, что ему необходимо обновить. Способ записи таблицы Кендо, когда он получает событие изменения из DataSource, воссоздает ячейки таблицы. Я уверен, что существующие ячейки таблицы будут удалены из DOM и новый набор добавлен на свое место. Когда это произойдет, выбор удаляется.


Один из способов сохранить выбранную строку будут добавить обработчик функции «изменить» событие сетки, и сохранить UID выбранного элемента данных. Затем в событии «dataBound» вы можете повторно выбрать эту строку. Например:

var selectedUid; 

$("#grid").kendoGrid({ 
    ... 

    change: function() { 
     selectedUid = this.select().data("uid"); 
    } 

    dataBound: function() { 
     if(selectedUid) { 
      this.select($(this.element).find('tr[data-uid="' + selectedUid + '"]')); 
     } 
    } 
}); 
+0

Это не работает, ondatabound необходимо вызвать оператор if при обратном вызове. – dan8912

+0

Можете ли вы помочь мне сделать обратный вызов? Можно ли сделать что-то подобное в Кендо? – dan8912

+0

Я не уверен, что вы имеете в виду. Вышеуказанная функция устанавливается как обратный вызов события 'dataBound' для сетки, когда она передается в параметрах. – CodingWithSpike

Смежные вопросы