KendoUI read()和query()数据源方法不一致

时间:2012-12-12 18:48:04

标签: grid datasource kendo-ui

点击按钮我需要阅读数据的第一页。常见的答案是通过parameterMap使用数据源的query()方法,指定页面和其他附加值。问题是在我的数据源中我也使用聚合,而query()方法似乎根本不处理它们。 我对吗?是因为只有read()使用“transport.read”设置吗? 是否有另一种方法可以将绑定到数据源的网格重置为保存所有数据源设置的第一页?

2 个答案:

答案 0 :(得分:2)

是的,有特定的分页方法 - >的 dataSource.page(3)即可。 Here是文档中的链接。

答案 1 :(得分:1)

我使用“datasource.page(1)”解决了我的问题(通过datasource读取数据的第一页),并通过“observable”对象设置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>