0

Я изменяю источник данных с помощью метода setDataSource, но вам также нужно изменить шаблон. Динамическое изменение шаблона, похоже, не работает.Изменить шаблон для Kendo Mobile ListView на setDataSource?

Ниже приведено то, что у меня есть, и jsFiddle здесь: http://jsfiddle.net/MfSup. Обратите внимание, что при щелчке по группе кнопок она не изменяется на «Шаблон 2» в событии «onFilter». Это ошибка, или я делаю это неправильно?

new kendo.mobile.Application(); 

var ds1 = new kendo.data.DataSource({ 
    data: [{ 
     stagename: "ds1 A", 
     b: "1b" 
    }, { 
     stagename: "ds1 B", 
     b: "2b" 
    }] 
}); 

var ds2 = new kendo.data.DataSource({ 
    data: [{ 
     stagename: "ds2 A", 
     b: "1b" 
    }, { 
     stagename: "ds2 B", 
     b: "2b" 
    }] 
}); 

var onFilter = function (e) { 
    var lv = $("#stages_listview") 
     .data('kendoMobileListView'); 

    //CHANGE TEMPLATE DOESN'T WORK 
    lv.options.template = this.selectedIndex == 0 
     ? $("#stages_listview_template1").html() 
    : $("#stages_listview_template2").html(); 

    lv.setDataSource(this.selectedIndex == 0 ? ds1 : ds2); 
}; 

$("#stages_listview").kendoMobileListView({ 
    dataSource: ds1, 
    template: $("#stages_listview_template1").html() 
}); 

ответ

1

должно работать:

lv.template = kendo.template("<li data-uid='#=uid#'>" + 
       (this.selectedIndex == 0 ? 
       $("#stages_listview_template1").html() : 
       $("#stages_listview_template2").html() 
      ) + 
      "</li>"); 
+0

Thx. Это похоже на ошибку. Я надеюсь, что исправлено или, еще лучше, добавить необязательный параметр для setDataSource для предоставления шаблона. – TruMan1

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

  • Нет связанных вопросов^_^