List通过DataGroup获取ItemRenderer

1.  数据多于显示的时候

用List的dataprovider 可能含有100项数据,c_list.dataGroup.numElements是100。但是屏幕显示不下,list有一定高度,只能显示4项。

c_list.dataGroup.getChildAt(i)能得到的,多于显示的,少于总的数据。可能是有8个itemrender。

按显示的从上到下排列。可能第0个-第4个itemrenderer  visible = false, 第5个开始才可见。


2.数据少于可显示,且有改动

list先显示了4个数据,会初始化4个itemrenderer。

再通过dataprovider改为2个数据。只有序号为2、3的2个itemrenderer显示,并赋予了新的data。

序号为0、1的两个itemrenderer,y会变成0,visible变为false,隐藏掉。



3.需求:通过list控件更改数据,改完后commit。提交的函数写在itemrender中,也就是说是逐项提交的。

按提交后,对显示的itemrenderer逐项提交。
				try
				{
					var i:uint = 0;
					var pir:ParamItemRenderer = c_list.dataGroup.getChildAt(i) as ParamItemRenderer;
					while(pir)
					{
						if(pir.visible = true)
						{
							pir.commit();
						}
						i++;
						pir = c_list.dataGroup.getChildAt(i) as ParamItemRenderer;
						
					}
				}
				catch(e:RangeError)
				{
				
				}
				


然后itemrenderer中监听hide事件,有格子visible改成false的时候马上提交。
itemrenderer中  hide="itemrenderer1_hideHandler(event)"  里面调用commit。


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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值