【发布时间】:2011-10-14 09:20:31
【问题描述】:
我试图了解 dojox.grid.Datagrid 的排序行为,特别想知道一个多列网格,如果在 2(或更多)行具有相同单元格值的列上排序,那么什么决定了中的顺序它们将出现在网格中?
【问题讨论】:
标签: javascript dojox.grid.datagrid dojo
我试图了解 dojox.grid.Datagrid 的排序行为,特别想知道一个多列网格,如果在 2(或更多)行具有相同单元格值的列上排序,那么什么决定了中的顺序它们将出现在网格中?
【问题讨论】:
标签: javascript dojox.grid.datagrid dojo
datagrid 只使用选中的列进行排序:
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 方法,以便添加辅助排序选项。
【讨论】: