私が達成しようとしているのは、ユーザーが剣道グリッドの列をソートするときに「自動」セカンダリ列ソートを適用することです。剣道グリッドの複数ソート/ DataSource - ソートを動的に設定する
したがって、this JS fiddle exampleでは、ユーザーが「値」でソートすると、「名前」でソートされます。 0は一緒にソートされますが、名前はアルファベット順ではありません。私はそれらをアルファベット順(二次的な並べ替え)にしたいと思います。
Here's an attemptこれを達成するためにデータソースの並べ替えをオーバーライドします。私は、ユーザーの元のソートを取って、 "SortedName"に追加のソートを追加しています。ログに記録されている並べ替え配列に基づいて、近いと思われるがまだ動作していない。
これを達成するための他のアイデアはありますか?
注:ユーザーが複数の列で並べ替えることを許可したくありません。私がこれを使用している現実世界の例は、50個以上の列を持つことができます(残念ながら)ので、複数のソートは混乱するかもしれません。そして私はそれが余分なユーザーの介入なしに場面の裏で行われることを望みます。剣道のデータソースの並べ替えを上書きするための
例コード():
dataSource.originalSort = dataSource.sort;
dataSource.sort = function() {
// take the user's sort and apply sorting on an additional column
// the sort array should look like this:
[
{ field: "Value", dir: "asc" }, // this is what the user sorted by
{ field: "SortedName", dir: "asc" }, // and I'm adding this
]
return dataSource.originalSort.apply(this, arguments);
}
剣道のソースにオプションを1行追加していますか?データソースソートメソッドが呼び出される直前に、kendo.columnsorter.jsで簡単にイベントをトリガーできます。これがオプションの場合は、使用している剣道のバージョンを教えてください。追加するコードと場所は教えてください。 – Failwyn
これは間違いなくスタートです:)私は2016.1.112です。ありがとう! – dmathisen