1

我有一个 DataGrid,以编程方式创建并从 ItemFileReadStore 加载。我希望 DataGrid 的第一列始终按降序排序,并禁止用户进行排序。任何其他列都应可用于作为辅助可排序的排序。

我不想为用户提供如此强大(复杂且令人困惑)的功能,例如按多列排序,因为我的网格中有太多列。

因此,它应该是用户的一个可排序列,实际上是另一个“已经排序的不可排序”列。

有谁知道如何做到这一点?谢谢。

4

1 回答 1

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

于 2012-08-06T14:43:25.273 回答