1

プログラムで作成され、ItemFileReadStore からロードされた DataGrid があります。DataGrid の最初の列を常に降順でソートし、ユーザーがソートできないようにします。他の列は、セカンダリ ソート可能としてソートできる必要があります。

グリッドに列が多すぎるため、複数の列による並べ替えなどの強力な (複雑で紛らわしい) 機能をユーザーに提供したくありません。

したがって、それはユーザーにとって1つの並べ替え可能な列であり、実際には別の1つの「既に並べ替えられていない」列である必要があります。

これをどのように達成できるか知っている人はいますか?ありがとう。

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 に答える