При нажатии кнопки мне нужно прочитать первую страницу моих данных. Распространенный ответ — использовать метод query() источника данных, указав страницу и другие дополнительные значения через параметрMap. Проблема в том, что в моем источнике данных я также использую агрегаты, и методы query(), похоже, вообще не обрабатывают их. Я прав? Это потому, что только read() использует настройки «transport.read»? Есть ли другой способ сбросить сетку, привязанную к источнику данных, на первую страницу со всеми настройками источника данных?
Несоответствия методов чтения () и запроса () источника данных KendoUI
Ответы (2)
Да, приятель, есть специальный метод для пейджинга -> dataSource.page(3). Здесь ссылка из документации.
person
Petur Subev
schedule
12.12.2012
Хорошо, но что, если мне нужно изменить карту параметров перед вызовом page(1)? Можно ли программно переопределить параметрMap при каждом вызове?
- person Matteo Piazza; 13.12.2012
@Matteo для большинства свойств веб-элементов управления кендо, включая карту параметров для источника данных, вы можете заменить свойство js функцией, см. doc: 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