当前位置:首页 > 开发 > 编程语言 > 编程 > 正文

Flex AdvancedDataGrid 子节点渲染器展开式混乱问题

发表于: 2011-12-29   作者:dudong0726   来源:转载   浏览次数:
摘要: 上次写道在Flex AdvancedDataGrid中使用树形结构,并且为父节点和多个子节点分别制定渲染器。   现在出现问题:    第一次渲染显示正确,当父节点存在多个子节点并且我们为每个子节点指定渲染器,当再次单击父节点展开子节点时子节点渲染器乱序或者是和我们预期的显示不符合?     解决方案:   监听Adva

上次写道在Flex AdvancedDataGrid中使用树形结构,并且为父节点和多个子节点分别制定渲染器。

 

现在出现问题:

 

 第一次渲染显示正确,当父节点存在多个子节点并且我们为每个子节点指定渲染器,当再次单击父节点展开子节点时子节点渲染器乱序或者是和我们预期的显示不符合?

 

 

解决方案:

 

监听AdvancedDataGrid的AdvancedDataGridEvent.ITEM_OPEN事件,当展开子节点时重新为其指定渲染器

 

 

//_allot.bills为AdvancedDataGrid


_allot.bills.addEventListener(AdvancedDataGridEvent.ITEM_OPEN,open);


public function open(e:AdvancedDataGridEvent):void
		{
			
			var drps:AdvancedDataGridRendererProvider = new  AdvancedDataGridRendererProvider;
			var drpsw:AdvancedDataGridRendererProvider = new AdvancedDataGridRendererProvider;
			var drpc:AdvancedDataGridRendererProvider = new AdvancedDataGridRendererProvider;
			var drpdw:AdvancedDataGridRendererProvider = new AdvancedDataGridRendererProvider;
			var drpps:AdvancedDataGridRendererProvider = new AdvancedDataGridRendererProvider;
			
			drps.depth = 2;
			drps.column = _allot.status;
			drps.renderer = new ClassFactory(CommonStatusRender);
			
			drpsw.depth = 2;
			drpsw.column = _allot.sourceWareHouse;
			drpsw.renderer = new ClassFactory(CommonSourceWareHouseRender);
			
			drpdw.depth = 2;
			drpdw.column = _allot.destWareHouse;
			drpdw.renderer = new ClassFactory(CommonDestWareHouseRender);
			
			drpc.depth = 2;
			drpc.column = _allot.code;
			drpc.renderer = new ClassFactory(CommonCodeRender);
			
			drpps.depth = 1;
			drpps.column = _allot.status;
			drpps.renderer = new ClassFactory(CommonParentStatusRender);
			
			_allot.bills.rendererProviders = [drps,drpsw,drpdw,drpc,drpps];
			
			_allot.bills.invalidateList();
			
		}
 

Flex AdvancedDataGrid 子节点渲染器展开式混乱问题

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
Validator,是指flex验证器,用以验证输入是否满足条件,比如验证输入内容是否为数字,是否非空等。
最近在做flex项目的开发,遇到了一个问题,于是百度、google好久终于找到了解决方案,于是记录在此。
问题: 在ADG的数据源的顶层数据有两列数据显示某人的家庭地址和工作地址,但是这位同志的儿子在家
在flex中项目渲染器是很重要的一种渲染手段 问题1:如何在应用程序中单击某一个Item,获取该Item的
1、AdvancedDataGrid扩展了普通DataGrid的功能,AdvancedDataGrid控件提供了另外一些特性,并在数据
如何隐藏DataGrid的Header? dataGrid.showHeaders = false 为啥我更新了DataGrid的dataProvider的ite
  项目实在太紧,多线程模块SIT还没结束,一堆前台的问题也得亲自上阵,马不停蹄加班加点到这一刻
一、DataGrid 继承DataGrid添加 /**用于设置每行的颜色 * uint表示返回的颜色值 * @param item 对应
flex前台页面: <?xml version="1.0" encoding="utf-8"?> <ui:UIApplication xmlns:fx="ht
Flex中提供了大量用于数据呈现的组件,这其中,以List系列组件最为常见,使用也最频繁,比如ComBoBo
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号