我有一个 DataGrid,以编程方式创建并从 ItemFileReadStore 加载。我希望 DataGrid 的第一列始终按降序排序,并禁止用户进行排序。任何其他列都应可用于作为辅助可排序的排序。
我不想为用户提供如此强大(复杂且令人困惑)的功能,例如按多列排序,因为我的网格中有太多列。
因此,它应该是用户的一个可排序列,实际上是另一个“已经排序的不可排序”列。
有谁知道如何做到这一点?谢谢。
我有一个 DataGrid,以编程方式创建并从 ItemFileReadStore 加载。我希望 DataGrid 的第一列始终按降序排序,并禁止用户进行排序。任何其他列都应可用于作为辅助可排序的排序。
我不想为用户提供如此强大(复杂且令人困惑)的功能,例如按多列排序,因为我的网格中有太多列。
因此,它应该是用户的一个可排序列,实际上是另一个“已经排序的不可排序”列。
有谁知道如何做到这一点?谢谢。
要对第一列进行排序,请在创建对象时添加“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