一种在更新后将DataGrid保持在相同滚动位置的方法?

时间:2010-09-08 14:26:27

标签: flex actionscript datagrid scroll-position

我有一个自定义<mx:DataGrid />,每隔60秒就会更新一次来自ColdFusion服务器的数据。我注意到每次DataGrid更新和重绘时,滚动位置都会重置为顶部。

有没有办法可以保留DataGrid的滚动位置?

提前致谢。

2 个答案:

答案 0 :(得分:4)

我很确定你可以使用verticalScrollPosition。在更新之前保存并在更新后重置它。请记住,如果您要更改dataProvider,则verticalScrollPosition可能不会指向旧数据提供者和新数据提供者中的相同位置。

答案 1 :(得分:0)

只是提供更多细节。我这样做的方法是在

中创建一个名为scrollPos的变量

<mx:DataGrid id="someId"我用了

scroll="scrollPos=someId.verticalScrollPosition"

然后在更新dataProvider之后我调用一个函数:

private function setScrollPosition() : void {
  someId.verticalScrollPosition = scrollPos;
}

或者你可以设置变量而不是调用函数。