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 }];
    }
}

因此,当您有两行具有相同单元格值时,添加行的时间将决定顺序。(哪一行较旧,将处于前列位置)。

否则,您可以在对象上重新定义 getSortProps 方法,以便添加辅助排序选项。

于 2011-07-27T17:29:18.247 回答