0

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

4

2 回答 2

2

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

于 2012-12-12T20:46:29.890 回答
1

我使用“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>
于 2012-12-13T10:58:59.917 回答