我有一个自定义<mx:DataGrid />
,每 60 秒使用来自 ColdFusion 服务器的数据进行更新。我注意到每次 DataGrid 更新和重绘滚动位置都会重置到顶部。
有没有办法可以保留我的 DataGrid 的滚动位置?
提前致谢。
我有一个自定义<mx:DataGrid />
,每 60 秒使用来自 ColdFusion 服务器的数据进行更新。我注意到每次 DataGrid 更新和重绘滚动位置都会重置到顶部。
有没有办法可以保留我的 DataGrid 的滚动位置?
提前致谢。
我很确定您可以使用verticalScrollPosition。更新前保存,更新后重置。请记住,如果您要更改 dataProvider,verticalScrollPosition 可能不会指向新旧 dataprovider 中的同一位置。
只是为了提供更多细节。我这样做的方法是创建一个名为 scrollPos 的变量,然后在
<mx:DataGrid id="someId"
我用了
scroll="scrollPos=someId.verticalScrollPosition"
然后在更新 dataProvider 后,我调用一个函数:
private function setScrollPosition() : void {
someId.verticalScrollPosition = scrollPos;
}
或者您可以只设置变量而不是调用函数。