曜日名の列を持つデータテーブルがあります。この列を曜日名で並べ替えます。たとえば、[金曜日、月曜日、日曜日] の場合、並べ替えは [月曜日、金曜日、日曜日] (昇順) と [日曜日、金曜日、月曜日] (降順) を返す必要があります。
カスタムの並べ替えを使用しようとしましたが、カスタムの順序を表すことができませんでした。
アイデアはありますか?
ありがとう
曜日名の列を持つデータテーブルがあります。この列を曜日名で並べ替えます。たとえば、[金曜日、月曜日、日曜日] の場合、並べ替えは [月曜日、金曜日、日曜日] (昇順) と [日曜日、金曜日、月曜日] (降順) を返す必要があります。
カスタムの並べ替えを使用しようとしましたが、カスタムの順序を表すことができませんでした。
アイデアはありますか?
ありがとう
問題の解決策を見つけました。数値を含む非表示の列を作成しました。並べ替えは、この列に基づいて行われます。カスタムソート機能です
// Custom function to sort Column by another Column
var mysortFunction = function(a, b, desc) {
// Deal with empty values
if(!YAHOO.lang.isValue(a)) {
return (!YAHOO.lang.isValue(b)) ? 0 : 1;
} else if(!YAHOO.lang.isValue(b)) {
return -1;
}
// compare column values
var comp = YAHOO.util.Sort.compare;
var compState = comp(a.getData("myhiddenColumn"), b.getData("myhiddenColumn"), desc);
return compState;
};
そして列 defs :
var myColumnDefs = [
{ key: "A", sortable:true,hidden:true },
{ key: "columnToSort",label:"ABC", sortable:true, sortOptions: { sortFunction: mysortFunction }
{ key: "myhiddenColumn", sortable:true, hidden:true }
}
];
お役に立てれば