列に数値と文字列(NA)の両方の値があるKendo-Gridを使用しています。それらを並べ替える方法はありますか?
質問する
10755 次
4 に答える
8
カスタム比較関数を使用してそれらを並べ替えることができます。以下は、 「N/A」を先頭に表示するサンプル コードです。
$("#grid").kendoGrid({
dataSource: [
{ price: 1 },
{ price: "N/A" },
{ price: 20 },
{ price: 2 }
],
sortable: true,
columns: [
{
field: "price",
sortable: {
compare: function(a, b) {
var x = a.price;
var y = b.price;
if (x == 'N/A') {
x = 0;
}
if (y == 'N/A') {
y = 0;
}
return x - y;
}
}
}
]
});
これがライブデモです: http://jsbin.com/urUXOCa/1/edit
于 2013-09-26T06:39:32.903 に答える
0
フィールド値を数値にします。次に、必要に応じて、表示時に文字列を追加します。
親切にこれを参照してください:数字の並べ替え(ドルの金額とパーセンテージ)が機能しない
于 2013-09-25T19:53:38.583 に答える
0
私の知る限り、フィールドに対して独自のソート関数を作成する方法はありません。私はhttp://sympletech.com/how-to-enable-case-insensitive-sorting-on-kendo-ui-grid/を見つけました.誰かがあなたが求めているようなものを実装しました(彼は大文字と小文字を区別しないソートを行っていました) )。
私はこれを一度しなければなりませんでした (ありがたいことに、編集不可能なグリッドでは、データを表示するだけでした)、テンプレートを使用してグリッドをだましました。dataBound になる前にデータを調べ、適切にソートされるデータを表す別のプロパティを追加し、元の列ではなくその列にグリッドをバインドしますが、元のデータ値を返すテンプレートを使用します。
于 2013-09-25T19:55:02.043 に答える