javascript - Dojox.grid.datagrid 排序顺序

标签 javascript dojox.grid.datagrid dojo

我试图理解 dojox.grid.Datagrid 的排序行为,特别想知道多列网格,如果在 2(或更多)行具有相同单元格值的列上排序,那么什么决定了其中的顺序它们将出现在网格中?

最佳答案

数据网格仅使用选定的列进行排序:

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 方法,以便添加辅助排序选项。

关于javascript - Dojox.grid.datagrid 排序顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6846985/

相关文章:

javascript - 排除 Express.js 路由中的单词列表

javascript - Dojo 增强网格 : How can I make particular cell editable not the entire column

grails - GSP访问 Controller 结果

dojox.enhancedGrid 获取选定行

validation - 文本区域的 Dojo 验证

javascript - 如何将对象值名称传递给 Jquery 中的函数

javascript - 如何覆盖函数?

JavaScript 有条件地覆盖类方法

javascript - DOJO 构造函数同步

toggle - Dojo 切换隐藏和显示 Div