2011-02-08 19 views
0

私は2つのグリッドを持っています。両方ともloadonce:trueを使用します。 最初のグリッドには、 が第2のグリッドとダイアログを開くonblurイベントを持つセルがあります。 私は2番目のグリッドを編集した後、内容はxmlとして保存し、 は最初のグリッドの行に置き換えます(行ウィジットがダイアログを開いた)。 最後に、私は に2番目のグリッドで前に生成したxmlを含める最初のグリッドからxmlを生成したいと思います。jqgrid xml文字列を隠しセルの中に保存する

これを実装する最善の方法は何ですか?

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

+0

「隠しセル」の意味は? jqGridには非表示の列と「隠れたセル」しかありません。非表示列のセルの設定を意味しますか? – Oleg

+0

@Oleg:申し訳ありませんが、非表示の列です。 – user590586

+0

@Oleg:質問をxml文字列で更新しました。 – user590586

答えて

0

説明するシナリオをどのくらい具体的に実装するかによって、data内のデータはjqGridのパラメータが常に存在するかどうかによって異なります。ローカルデータ型を使用する場合は常に存在するか、ケース内ではloadonce:trueです。

dataパラメータに直接アクセスしてjQuery("#grid_id").getGridParam('data')を入力すると、dataアレイへの参照が得られます。 data配列には、グリッドのすべてのデータ(現在表示されているページだけでなく)が含まれ、データはまだ<td>要素に配置されていません。したがって、データは変更されておらず、例えばXMLフラグメントを含むことができます。

更新日:the small demoとは何ですか?行をダブルクリックすると、行に関連付けられたXMLデータが表示されます。

「メモ」列は非表示にすることができます。すべての非表示の列がHTMLマークアップとしてグリッド内に存在するため、私はそれを可視にしました。グリッドの内部データとして保存できるものと表示できるもの(隠されたデータ)の違いを見ることができます。

更新日2:グリッドでautoencode:trueオプションを使用することを検討できます。

+0

@ user590586:デモを追加して、どのように 'data'パラメータを使用できるかを明確にしました。 – Oleg

+0

@Oleg:実際にあなたの助けを賛美..あなたの例では、私は "メモ"の列を変更することはできますか?もしそうなら、どのように? – user590586

+0

@ user590586: 'var data = $("#list ")。jqGrid( 'getGridParam'、 'data');を使って**データ '**への参照を取得した後、直接データを変更することができます。変更は、次のページに移動したり、並べ替えたりするようなグリッドの次回の更新を表示します。おそらく、非表示の行を変更する必要があるため、リフレッシュの時間は重要ではありません。 – Oleg

関連する問題