【发布时间】:2011-04-09 18:49:06
【问题描述】:
我有一个自定义<mx:DataGrid />,它每 60 秒使用来自 ColdFusion 服务器的数据进行更新。我注意到每次 DataGrid 更新和重绘滚动位置都会重置到顶部。
有什么方法可以保留我的 DataGrid 的滚动位置吗?
提前致谢。
【问题讨论】:
标签: apache-flex actionscript datagrid scroll-position
我有一个自定义<mx:DataGrid />,它每 60 秒使用来自 ColdFusion 服务器的数据进行更新。我注意到每次 DataGrid 更新和重绘滚动位置都会重置到顶部。
有什么方法可以保留我的 DataGrid 的滚动位置吗?
提前致谢。
【问题讨论】:
标签: apache-flex actionscript datagrid scroll-position
只是为了提供更多细节。我这样做的方法是创建一个名为 scrollPos 的变量,然后在
<mx:DataGrid id="someId"我用过
scroll="scrollPos=someId.verticalScrollPosition"
然后在dataProvider更新后我调用一个函数:
private function setScrollPosition() : void {
someId.verticalScrollPosition = scrollPos;
}
或者你可以只设置变量而不是调用函数。
【讨论】:
我很确定您可以使用verticalScrollPosition。更新前保存,更新后重置。请记住,如果您要更改 dataProvider,verticalScrollPosition 可能不会指向新旧 dataprovider 中的同一位置。
【讨论】: