0

ボタンをクリックすると、データの最初のページを読み取る必要があります。一般的な答えは、datasource の query() メソッドを使用し、page を指定し、parameterMap を介してその他の追加の値を指定することです。問題は、データソースで集計も使用していて、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 に答える