1

jgrid を数週間使用していますが、気に入っています。

グリッドに更新を提供するために SignalR を使用しています。更新が来ると、グリッド上のセルを強調表示し、その強調表示はユーザーが構成した時間後にフェードします。

現在これを行うために - data- 属性を使用し、3 秒ごとに属性を持つすべての要素を処理し、適用するクラスを決定します。

このアプローチの問題は、クライアント側のイベント (並べ替え、ページング、グループ化、フィルター) が発生するたびに、これらのデータ属性が失われることです。

これを管理するために配列を使用してきたが、非常に面倒で、すでに維持するのは悪夢です!

だから私が知りたいのは - セルにデータを添付するより良い方法はありますか..おそらく配列レベルで? たとえば、データ オブジェクトのセルにプロパティを設定するだけで、多くのリストを維持するのではなく、それを処理できるようにしたいと考えています。

わかりました、簡単に言えば!セルに追加情報を添付することは可能ですか? そのため、ページがロードされたときに処理できます..

追加情報

実際のセル値を設定することは問題ではありません。追加情報をセルに追加する必要があります。現在、最後に更新された data- 属性をセルに追加しており、これにより、そのセルをグリッドに表示する方法を決定できます (ユーザーが定義した複数のしきい値に基づいて変更できます)

私は jquery.data() を使用しましたが、悲しいことに、要素が dom から削除されたときに破棄されました。

単一の配列を使用することもできますが、より良い解決策を期待しています!

答え

$(grid).jqGrid('getLocalRow', id)["field"] = value; を使用することにしました。これはグリッドの存続期間中保持され、プロパティ ongridloadcompleted を照会することができました!

乾杯。ステ。

4

1 に答える 1

1

グリッド内の既存のデータを更新する必要がある場合は、たとえばsetCellメソッドを使用して、セルに新しいデータ、クラス、またはその他の属性を指定できます (オプションについては、回答を参照してください)。このアプローチの欠点は、セルを変更するたびにページがリフローされることです。それでも、それほど多くの変更がない場合は、グリッド本体全体の1 つの変更としてより効果的である可能性があります。問題を示す小さな SignalR デモを提供していただける場合は、最適化のアドバイスをさらに提供することができます。

于 2013-02-22T11:44:46.147 に答える