[Flex] Tree控件数据源刷新带来的选中状态问题

    最近在做一个工作流表单过滤的项目,在项目中,出现了一个很棘手的问题,查看了不少资料都没有搞定,是这个问题太简单了?

    项目需要,每一个操作改变一次数据,并刷新Tree的显示将操作结果显示出来,我的思路是这样的,在Tree控件数据源刷新之前,记录tree的selectIndex,刷新完成后立即给赋回来。

   1: var TreeIndex:int=TreeID.selectedIndex;
   2: ChangeSqlXml();//刷新数据源
   3: TreeID.selectedIndex=TreeIndex;

      上面是大概的思路,实际上当然不是这么简单。就这样无论怎么刷新数据源,结果都应该可以控制,想法不错!实际上错了,进过几个小时的争扎和几个高人指点,才发现上面根本就行不通。无论selectIndex赋什么值都搞不定。

      其实,这个就是一个flash舞台问题,在数据没有完全展现出来之前,你赋值是没有任何作用的,因为根本就没有那个数据!最后用10个字母解决了!

      正确的代码是

   1: TreeID.validateNow();
   2: TreeID.selectedIndex=TreeIndex

   被validateNow()耍了!

转载于:https://www.cnblogs.com/long_/archive/2011/03/31/2000647.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值