JavaScript / AjaxコードからInfragistics WebGridデータをどのように管理しますか?

StackOverflow https://stackoverflow.com/questions/232020

質問

一部のデータリストにInfragistics WebGridコントロールを使用する必要があるプロジェクトに取り組んでいます。 JavaScriptを使用してマップに表示するためにクライアント側でデータを読み込んでいます。その後、同じデータを複数のWebGrid内に表示する必要があります。使用可能なすべてのデータがWebGridに表示されますが、データのサブセットのみ(現在ビュー内にあるデータのみ)が常にマップにプロットされます。 JavaScript / Ajaxを使用してデータをロードしているため、一度だけロードし、同じメカニズムを使用してWebGridコントロールにもデータを入力します。

クライアント側のJavaScript / Ajaxコード内から完全にWebGridを操作するためのヒント/ポインターはありますか?

役に立ちましたか?

解決

頭に浮かぶ唯一の考えは、パフォーマンス関連です。 UltraWebGridの行の動的な作成と移入は、思っていたよりもかなり遅いことがわかりました。 (この例では、行をあるグリッドから別のグリッドに移動していたため、行数が多すぎるとパフォーマンスの問題が発生しました。)

今日説明したようなことをしていたら、可能な限りサーバー側からグリッドにデータを入力し、そこから関連する値をマップに表示します。

追加の免責事項として、Infragistics 2007.1を使用しました。 2008.xがこの分野で優れているかどうかはわかりません。

他のヒント

Infragistics Webgridsは非常に複雑なクライアントサイドオブジェクトモデルを公開し、これを使用してデータクライアントサイドにデータを入力できます。

最初に行うことは、webgridコントロールの完全なCSOMを確認することです。現在のドキュメントバージョンは、 http://help.infragistics.com/NetAdvantage/NET/2008.3/CLR2.0/

簡単な例を作成するには、グリッドへの参照を取得してから、行とデータを追加する必要があります。おそらく、JavaScriptですべてを試みるよりも、設計時にグリッドの列定義をセットアップする方が簡単でしょう。

最初:グリッドに参照を追加します:

var grid = igtbl_getGridById('dataGridControlID');

次に、新しい行を追加します:

var newRow = grid.Rows.addNew()

それが完了したら、行の列をループしてデータを埋めることができます。

var oCols = newRow.Band.Columns;
for(var i=0; i < oCols.length; i++) {
    newRow.getCell[i].setValue(yourValue)
}

またはキーで各アドレスを指定してデータを入力します:

newRow.getCellFromKey(colKey).setValue(yourValue,fireEvents);
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top