1

グリッドレベルの「sortable」オプションが有効になっているjqGridがあります。これにより、列をドラッグして並べ替えることができます。これはすばらしいことです。ただし、ユーザーが1つの特定の列でこれを実行しないようにし、他の列は影響を受けないようにします。これは可能ですか?

4

1 に答える 1

0

あなたの質問は非常に興味深いので、解決策を示す対応するデモを作成しました。デモでは、最初の列「日付」がソートできません。

近い主題に関する他の2つの古い回答を読むことをお勧めします: thisthis . 私の提案は同じ考えに基づいています。

jqGrid のオプションを使用する場合に内部的に使用される内部 jqGrid メソッド sortableColumns がありますsortable: true。このsortableColumnsメソッドは実装に jQuery Sortable を使用し、値 ">th:not(:has(#jqgh_list_cb,#jqgh_list_rn,#jqgh_list_subgrid),:hidden)"itemsを持つグリッドのオプションを初期化します。id="list""cb"を並べ替え不可に"rn""subgrid"ます。jqGrid オプションまたはを使用するとmultiselect: true、列をグリッドに挿入できます。同じように、列要素の対応する ID は になります。したがって、次のようにオプションを使用できますrownumbers: truesubGrid: truename: "invdate"jqgh_list_invdatesortable

sortable: {
    options: {
        items: ">th:not(:has(#jqgh_list_cb,#jqgh_list_invdate,#jqgh_list_rn,#jqgh_list_subgrid),:hidden)"
    }
}

"invdate"列をソート不可にします。

于 2012-09-26T19:34:20.837 に答える