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