データを読み取る前に KendoUI DataSource の並べ替えパラメータをプログラムで設定し、2 番目のサーバー読み取りを回避することは可能ですか? スコープは、特定のユーザー インタラクションでデフォルトの並べ替えを設定しています。どのように?
これは、私がやろうとしていることの例です。答えが要点に達していないためです (または、物事がどのように機能するかを理解していない可能性があります)。
初期ソートで Kendo DataSource を定義します。
var datasource = new kendo.data.DataSource({
parameterMap: function (inputParams, operation) {
return JSON.stringify(inputParams)
},
// default sort
sort: [
{field: "field_1", dir: "asc"},
{field: "field_2", dir: "asc"}
]
});
この DataSource は Kendo グリッドにバインドされています。
var grid = $("element").kendoGrid({
dataSource: datasource
});
次に、DataSource で「読み取り」を呼び出し、グリッドにデータの最初のページを入力するボタンがあります。
$("#btn").bind("click", function(e) {
datasource.page(1);
});
このようにして、ボタンをクリックした後、ユーザーは「field_1」と「field_2」で並べ替えられたデータを取得し、グリッドは列ヘッダーでこの並べ替えを表示します。ユーザーは、列ヘッダーをクリックして、任意の方法でデータを並べ替えることができます。
私がやりたいことは、DataSource 宣言で定義されているように、デフォルトの並べ替えを最初の並べ替えにリセットし、列ヘッダーに再度表示し、新しい DataSource を再度作成することなく行うことです。
何かのようなもの:
$("#btn").bind("click", function(e) {
datasource.sort = [
{field: "field_1", dir: "asc"},
{field: "field_2", dir: "asc"}
];
datasource.page(1);
});
提供された解決策は要点に達していないようです (それでも、それほど些細ではないように思われ、フレームワークによって対処されるべき正当な質問に対して、なぜ私が評判ポイントを失っているのか理解できません)。
私が間違っていることを教えてください (私は評判を失うことを心配していません - 問題を解決する方法を理解したいだけです)。