15

列 (行ごとに一意の ID 列) を非表示にしたいのですが、行でアクションが実行されるときにそのデータが行に必要なため、「列」配列から削除できません (選択、ソートなど)。

たとえば、並べ替えられた後、以前のスタイルに一致する行を取得する必要があり、ID 列を使用してこれを行うことができます。行にデータが必要ですが、表示したくないだけです。

ありがとう。

4

8 に答える 8

13

答えはノーですが、それはあなたが探している答えではありません:)

データを取得するために列が見ているもの以外に、それらとデータ項目がどのように見えるかの間にハードリンクはありません。データ項目に ID を持つために列を表示する必要はありません。

于 2011-06-16T16:10:15.813 に答える
7

誰かがまだこれを探している場合に備えて、方法を見つけました...非常にエレガントではありませんが、機能します。Simon が提案したように、ID 列をグリッドの最後に追加します。次のように、cssClass と headerCssClass の両方を「display:none !important」に設定し、幅、minWidth、および maxWidth 列オプションを 0 に設定します。

var columns = [
    { id: "MyColumnId", name: "My Column", field: "MyColumnData", width: 100},
    { id: "Id", name: "Id", field: "Id", width: 0, minWidth: 0, maxWidth: 0, cssClass: "reallyHidden", headerCssClass: "reallyHidden" }
];

CSSは次のとおりです。

.reallyHidden { 表示: なし !重要;}

それが役立つことを願っています。

于 2013-11-26T15:33:40.533 に答える
1

回避策として、width/maxWidth を 1 に設定し、名前を空の文字列に設定して、列を他のすべての列の右端に配置することはできません。そのように(例はcoffeescriptにあります。構文が不明な場合はhttp://js2coffee.org/を使用してください):

columns = [

          ... some columns ...

            {
               id:"hidden"
               name:""
               field:"id"
               sortable:"true"
               width: 1
               maxWidth: 1
               minWidth: 1
               unselectable: true
               formatter: (row,cell,val,columnDef,dataContext) ->
                  "<div style='display: none;'>#{val}</div>"
            }
         ]
于 2011-10-31T11:11:48.090 に答える