Получить dataItem для выбранного элемента KendoUI ListView

У меня есть виджет KendoUI ListView на веб-странице, который объявлен с использованием оболочек MVC. Мне нужно получить dataItem из источника данных для выбранного элемента в ListView. Как предложено в этом сообщении на форуме:

http://www.telerik.com/forums/get-listview-item-id-from-datasource

Я старался:

    // the ListView is bound to a dataSource with only one item  
var selected = listView.select();  
    // when the first (only) item is selected the below returns 1  
var itemIndex = selected.index();  
   // the index needed for the below is 0  
var dataItem = listView.dataSource.view()[itemIndex];

Проблема в том, что функция index() для выбранного элемента возвращает индекс на основе одного. Я хорошо подумал, хорошо. Я просто добавлю строку, чтобы уменьшить индекс. Это работало до тех пор, пока я не открыл KendoUI DropDownList на той же странице. Хотя DropDownList не был связан с ListView и имел собственный источник данных, приведенный выше код selected.index() вернул 0. Я не мог обойти проблему с кодом. Кажется, что функция index() элемента ListView должна возвращать индекс на основе нуля, но это не так или по крайней мере, пока не активируется другой виджет KendoUI.

Я использую 2014.1.416

Изменить: я думаю, что проблема должна быть с моей реализацией. Я создал свой собственный jsFiddle, и он работал как ожидалось, то есть функция index() вернула индекс, основанный на нуле. Я на самом деле создал тестовое приложение, используя мою установку kendoui, и поведение было таким, как я сообщал в вопросе, то есть индекс на основе одного. Мне нужно было развернуть мое приложение, поэтому я решил эту проблему, поместив нужный элемент dataItem в скрытое поле в шаблоне ListView, где я нашел его в html. Подводя итог, я не думаю, что это вопрос кендо. Когда у меня будет время, я переустановлю наш кендои и проведу повторную проверку.

0 ответов

Другие вопросы по тегам