2011-02-08 9 views
1

グリッド内の各行に対してサブグリッドを作成したいので、サブグリッドが非表示になりますので、ユーザーはそこにいるかどうかわかりません - 各行の異なるデータを保存するために使用します。jqgrid hidden subgrid

どのように各行に隠しサブグリッドを追加できますか?どのように行を追加するのですか?

ありがとうございました。

答えて

3

追加情報をグリッドまたはグリッドの任意の行に関連付ける必要がある場合は、隠しサブグリッドのように他の方法でこれを行うことができます。ローカルグリッドを使用するのか、 'json'または 'xml'のデータ型を使用するのかを正確には説明していません。私は、サーバーからデータを取得し、データ型 'json'または 'xml'を使用すると仮定します。ここではいくつかの標準オプションを使用することができます

1)いくつかの追加の隠しコラムをグリッドに定義することができます。 (hidden:trueカラムプロパティを参照)。 getCellまたはgetRowDataメソッドを使用してデータにアクセスできます。

2)userdataとすると、絶対に無料の形式のデータを使用できます。データは以下のフォーマット(それが唯一の例である)

{ 
    "id1":{/*any data object what you want associate with the row having id="id1"*/}, 
    "id2":{/*any data object what you want associate with the row having id="id2"*/}, 
    ... 
    "idN":{/*any data object what you want associate with the row having id="idN"*/} 
} 

を持っていることになるなら、あなたは

var myUserData = jQuery("#grid_id").getGridParam('userData'); 

で、あなたがすることができ、上述のユーザデータの構造とユーザデータを任意の時間を得ることができます行に固有のデータにはmyUserData[rowid]myUserData["id2"])のようにアクセスします。

3)グリッド列がを必要としてあなたが戻ってサーバからより多くのデータを投稿する場合は、dataパラメータを通じてloadComplete: function(data)の内部データにアクセスすることができます。追加のデータは他の場所に保存できます。たとえば、jQuery.dataを使用して、すべてのデータをグリッド行に関連付けます(保存するには、すべて<tr>要素になります)。