<mx:DataGrid />
ColdFusion サーバーからのデータで 60 秒ごとに更新されるカスタムがあります。DataGrid が更新されて再描画されるたびに、スクロール位置が一番上にリセットされることに気付きました。
DataGrid のスクロール位置を保持する方法はありますか?
前もって感謝します。
<mx:DataGrid />
ColdFusion サーバーからのデータで 60 秒ごとに更新されるカスタムがあります。DataGrid が更新されて再描画されるたびに、スクロール位置が一番上にリセットされることに気付きました。
DataGrid のスクロール位置を保持する方法はありますか?
前もって感謝します。
verticalScrollPositionを使用できると確信しています。アップデート前に保存し、アップデート後にリセットしてください。dataProvider を変更する場合、verticalScrollPosition が古いデータ プロバイダーと新しいデータ プロバイダーの同じ場所を指していない可能性があることに注意してください。
もう少し詳しく説明します。私がこれを行った方法は、 scrollPos という変数を作成してから
<mx:DataGrid id="someId"
使った
scroll="scrollPos=someId.verticalScrollPosition"
次に、dataProvider が更新された後、関数を呼び出します。
private function setScrollPosition() : void {
someId.verticalScrollPosition = scrollPos;
}
または、関数を呼び出す代わりに変数を設定することもできます。