我试图理解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方法,这样你就可以添加二级排序选项。