4

プログラムで作成しましたdojox.grid.datagridが、列のカスタム並べ替えが必要です。このために私はを使用してみItemFileWriteStore.comparatorMap['field'] = comparatorFuncました。しかし、私のコンパレータ関数は呼び出されません。

私がここで欠けているものについて何か考えはありますか?

4

1 に答える 1

0

データグリッドでカスタムソートを行いました。(Dojo-1.4) サンプルコードはこちら:

function(response, ioArgs){                                                             
                    queryGrid.queryOptions={ignoreCase:true};
                    queryGrid.setStore(new dojo.data.ItemFileReadStore(response[responseResult]));  
                    setCustomSort(queryGrid.store);


..

}

function setCustomSort(store){
            if(!store.comparatorMap){
                store.comparatorMap = {};
            }

            store.comparatorMap["unresolvedHrs"] = sortNum;
            store.comparatorMap["tat"] = sortNum;
        }

function sortNum(a, b){
            var _a = convertTimeToNum(a);
            var _b = convertTimeToNum(b);
            var ret = 0;
            if (_a > _b) {
                ret = 1;
            }
            if (_a < _b) {
                ret = -1;
            }
            return ret;
        }

ここで convertTimeToNum は、時間形式の値を分単位の数値に変換します。

于 2013-10-03T08:14:52.110 に答える