1

このコードは、のセルIgGrid controlが編集されている場合に正常に機能します。

var verticalContainer = $("#BookLabor_scrollContainer");
var topPos = verticalContainer.scrollTop();
$("#BookLabor").igGrid("option", "dataSource", blankLaborDS);
$('#BookLabor').igGrid('dataBind');
verticalContainer.scrollTop(topPos);

ただし、ボタン クリック イベントIgDialogを使用してグリッド セルでポップ オープンしたを使用すると、編集中の行にスクロールして戻りません。

var verticalContainer = $("#BookLabor_scrollContainer");
var topPos = verticalContainer.scrollTop();
$("#BookLabor").igGrid("option", "dataSource", blankLaborDS);
$('#BookLabor').igGrid('dataBind');
verticalContainer.scrollTop(topPos);

には仮想スクロール方式IgGridがありますが、オンライン ドキュメントにはその使用方法が詳しく説明されていません。

そこにいるすべてのInfragistics専門家からのトリック、ヒント、ヒントはありますか?

4

1 に答える 1

1

スクロール関連のAPIは非常に基本的であり、使用しているものはほぼ同等です。

  • .igGrid("scrollContainer")は単なる省略形であるため、#BookLabor_scrollContainerを使用する必要はありません(これは内部IDです)
  • .igGrid("virtualScrollTo", scrollContainerTop);これは、仮想スクロールを使用しているときのスクロールトップと同じです。仮想スクロールを使用している場合は(コードを追加しないとわかりません)、試してみることをお勧めします。

ただし、セルの編集後にdataBindを呼び出す理由はありますか?(私はそのためのシナリオを見つけるのに苦労しています)。これは決して意図されたものではなく、より大きなデータで多くのオーバーヘッドを生み出します。セルの値を更新する必要がある場合は、再バインドを必要とせず、後でスクロールする必要もない更新APIを使用する必要があります。http://help.infragistics.com/jQuery/2012.2/ui.iggridupdatingを参照して ください。 #methods

ダイアログに関しては、更新により、ダイアログを内部的に使用する行テンプレートが再度提供されます。行の編集が許容される場合は、これを強くお勧めします。サンプル: http: //www.infragistics.com/products/jquery/sample/grid/row-edit-template

于 2013-01-24T15:09:11.340 に答える