我有一个DataGrid,以编程方式创建并从ItemFileReadStore加载。 我希望DataGrid的第一列始终按降序排序,并禁用用户进行排序。任何其他列都可以作为辅助排序进行排序。
我不想为用户提供如此强大(复杂且令人困惑)的功能,因为按多列排序,因为我的网格中有太多列。
因此,它应该是用户的一个可排序列,另一个是“已经排序的不可排序”列实际上。
有谁知道如何实现这一目标? 感谢。
答案 0 :(得分:1)
要对第一列进行排序,请在创建对象时添加“sortInfo:-1”。
要允许从任何其他列排序网格,而不是第一个,您需要覆盖函数canSort。 要创建网格现在应该是这样的。
dijit.grid.DataGrid({
canSort: function (sortInfo) {
if (Math.abs(sortInfo) == 1){
return false;
} else {
return this.inherited("canSort", arguments);
}
},
sortInfo: -1, .....
如果您需要将其作为一列排序,则需要dojox.grid.enhanced.plugins.NestedSorting。 http://dojotoolkit.org/reference-guide/1.7/dojox/grid/EnhancedGrid/plugins/NestedSorting.html