Flex UI刷新后保持DataGrid中的ScrollBar的位置不变
这是之前我发的一个贴子问题描述:http://q.cnblogs.com/q/53469/
问题:当点击了页面的刷新后,滚动条总是回到了最上面的位置,无法保持与之前的位置一样
解决问题的方法:
在点击Refresh的时候保存verticalScrollPosition 和horizontalScrollPosition 的值, 当刷新完后查询了新的数据后设置dataGrid 的verticalScrollPosition 等于之前保存的值,这个方法原本是正确的,但是在我的UI却一直没有效果。后来想的办法是我设置了一个定时器 private var setScrollPos:Timer = new Timer(50);
当刷新完回到前台处理完数据后,启用这个定时器,调用setScrollPos方法给DataGrid的scrollbar的verticalScrollPosition赋值
这个方法是当查询完数据后返回到前台,前台处理数据的方法
private function enablePanle(e:Event):void
{
monitor_grid_container.enabled = true;
//when completed fetch runs arrived, validate which run should be expand.
if(isRefresh)
{
for each(var runBean:RunBean in model.runBeans)
{
for each(var openRunBean:RunBean in openRunBeans)
{
if(runBean.wkfName == openRunBean.wkfName)
runs_grid_datagrid.expandItem(runBean,true);
if(runBean.childRunBeans)
{
for each(var childRunBean:RunBean in runBean.childRunBeans)
{
if(openRunBean.wkfName == childRunBean.wkfName)
runs_grid_datagrid.expandItem(childRunBean,true);
}
}
}
}
}
refresh_button.enabled = true;
var hDataProvider:HierarchicalData = new HierarchicalData(model.runBeans);
hDataProvider.childrenField = "childRunBeans";
runs_grid_datagrid.dataProvider = hDataProvider;
if (model.runBeans.length != 0)
runs_grid_datagrid.contextMenu = buildMatrixContextMenu();
buildInfo();
setScrollPos.addEventListener(TimerEvent.TIMER, setScollPos);
setScrollPos.start();
}
public function setScollPos():void
{
arguments;
runs_grid_datagrid.verticalScrollPosition = myVerPos;
setScrollPos.stop();
}
今天又找了一种实现方法,不必声明定时器, flex有一个自带的方法callLater可以实现,关于此方法的学习:http://help.adobe.com/zh_CN/flex/using/WS2db454920e96a9e51e63e3d11c0bf69084-7b06.html
在我的项目中: 把以上的红色字体的代码改正为 callLater(setScollPos);
Flex UI刷新后保持DataGrid中的ScrollBar的位置不变的更多相关文章
- 解决刷新页面vuex store中数据丢失的问题
**问题背景:**页面刷新后,vuex中的数据丢失.这是因为:js代码是运行在内存中的,代码运行时的所有变量.函数也都是保存在内存中的.进行刷新页面的操作,以前申请的内存被释放,重新加载脚本代码,变量 ...
- EF DBContext中DbSet中Hashset添加对象后,DataGrid UI没有刷新的问题
使用EF4/5添加数据库视图生成DBContext,如果数据表/对象之间有M-N对应关系,EF对自动添加引用类集合,是Hashset类型.由于不是ObservableCellection类型,在引用类 ...
- EasyUi DataGrid中数据编辑方式及编辑后数据获取,校验处理
EasyUi中的DataGrid提供前台编辑的相关函数. 实现客户选中DataGrid中一列后,对选中列中的一个字段进行编辑,并对数据进行实时校验后,传递至后台保存的需求, 主要涉及到DataGrid ...
- koa中返回404并且刷新后才正常的解决方案
概述 这几天学习koa2,有一些心得,记录下来,供以后开发时参考,相信对其他人也有用. 起因 这几天学习koa2,写的代码执行时有一个奇怪的bug:明明能够返回数据,却有时正常返回数据,有时偏偏给你返 ...
- IE11浏览器中的My97日历控件刷新后无法打开问题解决办法
IE11浏览器中的My97日历控件刷新后无法打开问题解决办法 IE11浏览器中的My97日历控件刷新后无法打开问题解决办法:(谷歌浏览器下正常.IE11失效) 解决办法:1:找到WdatePick ...
- easyui datagrid 中序列化后的日期格式化
1.在easyui datagrid 中序列化后的日期显示为:/Date(1433377800000)/ 2.格式化后的显示为: 2015-06-04 08:30:00 3.使用代码如下: 3.1. ...
- EasyUI实现图片的上传后与其他文本框的提交以及DataGrid中图片的展示
图片即文件,在jsp中文件上传很简单,一个type为file的input,一个form指定enctype为multipart/form-data,通过post提交到后台利用apache的commons ...
- eaysui 子页面刷新父页面datagrid
近期碰到这样一个问题,子页面操作后需要刷新父页面datagrid元素,刚开始用这种方式刷新,$("#talbe",window.parent.document).datagrid( ...
- 在EasyUI的DataGrid中嵌入Combobox
在做项目时,须要在EasyUI的DataGrid中嵌入Combobox,花了好几天功夫,在大家的帮助下,最终看到了它的庐山真面: 核心代码例如以下: <html> <head> ...
随机推荐
- sqlserver 数据查询效率优化
首先优化是具体情况具体分析,从硬件.改进表结构.索引.改进sql查询语句.存储方式都有关系等多方面入手 比如单表数据量(100w-200w条)不大的情况下,查询效率慢 可以从优化sql语句.对多个排序 ...
- LeetCode - 3. Longest Substring Without Repeating Characters(388ms)
Given a string, find the length of the longest substring without repeating characters. Examples: Giv ...
- final 内部类 static
[Java中为什么会有final变量]: final这个关键字的含义是“这是无法改变的”或者“终态的”: 那么为什么要阻止改变呢? java语言的发明者可能由于两个目的而阻止改变: 1).效率问题: ...
- [比赛总结]ACM div3 G 比赛总结
这次题目总体感觉和做阅读理解差不多,英文题目读起来相当费劲. 另外,这次比赛整个队伍中我们三个都突出存在的问题就是,把简单问题复杂化,抓不到事物的本质,因此很容易的就被题目误导. 比如C题,明明想到了 ...
- 安装floodlight遇到的问题和解决
环境:ubuntu18.04 安装floodlight先前准备:java的环境,ant. sudo apt-get install build-essential defailt-jdk ant py ...
- asp.net应用程序脱机app_offline.htm文件
This application is currently offline. To enable the application, remove the app_offline.htm file fr ...
- C++陷阱系列:让面试官倒掉的题
http://blog.chinaunix.net/uid-22754909-id-3969535.html 今天和几位同仁一起探讨了一下C++的一些基础知识,在座的同仁都是行家了,有的多次当过C++ ...
- 从零开始配置Jenkins(一)——基本配置
[背景] 由于项目变动,需要重新搭建jenkins环境,并在新搭建的平台下进行配置.之前,小编只是照猫画虎的用jenkins手动构建,虽然也维护过一段时间,但对于其中的原理并不是很了解.这下可好了,学 ...
- 匿名内存 | shm
page_is_file_cache是和swapbacked互斥的,所以说对于匿名页来说,分配的时候就就会把PageSwapBacked给设置上,page->mapping_address = ...
- [C/C++] #ifdef和#endif
一般情况下,源程序中所有的行都参加编译.但是有时希望对其中一部分内容只在满足一定条件才进行编译,也就是对一部分内容指定编译的条件,这就是“条件编译”.有时,希望当满足某条件时对一组语句进行编译,而当条 ...