Flex页面刷新后怎么保证DataGrid 的滚动条位置不回到最上面?
这是我的UI,我点击刷新后滚动条就回到了最上面,我想在刷新后UI仍然这样显示该怎么做?我所尝试的方法:1.在点击Refresh的时候保存verticalScrollPos...
这是我的UI, 我点击刷新后滚动条就回到了最上面,我想在刷新后UI仍然这样显示该怎么做?
我所尝试的方法:
1. 在点击Refresh的时候保存verticalScrollPosition 和horizontalScrollPosition 的值, 当刷新完后查询了新的数据后设置dataGrid 的verticalScrollPosition 等于之前保存的值
测试结果: 没有任何反应,经调试当刷新完后其实DataGrid的verticalScrollPosition 本来就是新的值,即使不用runs_grid_datagrid.verticalScrollPosition = myVerPos; (myVerPos)是我声明用来保存v_position的值 的
2. 同样点击Refresh的时候我保存selectedIndex的值和SelectedItem的值,当刷新完后设置Datagrid的selectedIndex和 SelectedItem, 也不起作用。。
请问还有别的什么方法可以实现这个需求吗? 展开
我所尝试的方法:
1. 在点击Refresh的时候保存verticalScrollPosition 和horizontalScrollPosition 的值, 当刷新完后查询了新的数据后设置dataGrid 的verticalScrollPosition 等于之前保存的值
测试结果: 没有任何反应,经调试当刷新完后其实DataGrid的verticalScrollPosition 本来就是新的值,即使不用runs_grid_datagrid.verticalScrollPosition = myVerPos; (myVerPos)是我声明用来保存v_position的值 的
2. 同样点击Refresh的时候我保存selectedIndex的值和SelectedItem的值,当刷新完后设置Datagrid的selectedIndex和 SelectedItem, 也不起作用。。
请问还有别的什么方法可以实现这个需求吗? 展开
2个回答
展开全部
selectedIndex SelectedItem 只针对列表已经选中了数据,刚初始化绑定数据而不点击某条数据这个属性是没有用的
貌似做不到的,我曾经也和同事一块试了好多次,木有成功过
貌似做不到的,我曾经也和同事一块试了好多次,木有成功过
追问
我用了个比较命令偷机取巧的办法实现了,用了个定时器,当刷完后启动定时器,然后再调用设置verticalScrollPosition 的方法就可以了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-08-16
展开全部
我想你是需要学习一下callLater这个方法.
因为刚设置完数据源的时候,界面还没有刷新,这时候让它滚动是没用的
http://help.adobe.com/zh_CN/flex/using/WS2db454920e96a9e51e63e3d11c0bf69084-7b06.html
因为刚设置完数据源的时候,界面还没有刷新,这时候让它滚动是没用的
http://help.adobe.com/zh_CN/flex/using/WS2db454920e96a9e51e63e3d11c0bf69084-7b06.html
追问
你好,我想知道这个方法在Flex3中有吗 还 是说在 Flex4后新添加的一个方法啊,真的很感谢你!
追答
一直有
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询