1

私はdojox.grid.Datagridの並べ替え動作を理解しようとしていました。特に、2つ(またはそれ以上)の行が同じセル値を持つ列で並べ替えられた場合、それらが順序を決定する複数列のグリッドについて疑問に思いました。グリッドに表示されますか?

4

1 に答える 1

0

データグリッドは、選択した列のみを並べ替えに使用します。

getSortProps: function(){
    var c = this.getCell(this.getSortIndex());
    if(!c){
        if(this.sortFields){
            return this.sortFields;
        }
        return null;
    }else{
        var desc = c["sortDesc"];
        var si = !(this.sortInfo>0);
        if(typeof desc == "undefined"){
            desc = si;
        }else{
            desc = si ? !desc : desc;
        }
        return [{ attribute: c.field, descending: desc }];
    }
}

したがって、samセル値を持つ2つの行がある場合、行の追加の時刻によって順序が決まります。(どちらの行が古いか、それは前方の位置になります)。

それ以外の場合は、オブジェクトのgetSortPropsメソッドを再定義して、2次ソートオプションを追加できます。

于 2011-07-27T17:29:18.247 に答える