При натискане на бутон трябва да прочета първата страница от данните си. Общият отговор е да се използва методът query() на източник на данни, указване на страница и други допълнителни стойности чрез parameterMap. Проблемът е, че в моя източник на данни също използвам агрегати и методите query() изглежда изобщо не ги обработват. Прав ли съм? Дали защото само read() използва настройките "transport.read"? Има ли друг начин за нулиране на мрежа, обвързана с източник на данни, към първата страница, поддържаща всички настройки на източника на данни?
Несъответствия в методите за източник на данни KendoUI read() и query().
Отговори (2)
Да, приятелю, има специфичен метод за страниране -> dataSource.page(3). Ето връзка от документацията.
person
Petur Subev
schedule
12.12.2012
Добре, но какво ще стане, ако трябва да променя parameterMap, преди да извикам page(1)? Възможно ли е програмно да се замени parameterMap при всяко повикване?
- person Matteo Piazza; 13.12.2012
@Matteo за повечето свойства в кендо уеб контролите, включително карта с параметри за източник на данни, можете да замените свойството js с функция, вижте документ: docs.kendoui.com/api/framework/
- person Chris; 14.12.2012
Реших проблема си (прочетох първата страница с данни чрез източник на данни, с параметри), като използвах "datasource.page(1)" и зададох стойностите в parameterMap чрез "наблюдаем" обект, така че те се актуализират, когато променя параметрите си и изпратено чрез заявката "page(1)".
=== JAVASCRIPT ===
var vm = kendo.observable({
param1: "value1",
param2: "value2",
param3: "value3"
});
var datasource = new kendo.data.DataSource({
transport: {
parameterMap: function (inputParams, operation) {
return JSON.stringify($.extend({
param1: vm.get("param1"),
param2: vm.get("param2"),
param3: vm.get("param3"),
));
}
}
});
$("#btn").bind("click", function(e) {
// set call parameters, if needed
vm.set("param1", "new value");
datasource.page(1);
});
=== HTML ===
<button class="k-button" id="btn">GetData</button>
person
Matteo Piazza
schedule
13.12.2012