上次写道在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组件是用于展示大量复杂数据的高级网格控件。它提供了比基本DataGrid更丰富的功能,如多级表头、排序、分组、过滤和自定义渲染等。本文将深入探讨Flex应用中的AdvancedDataGrid表头...
在IT行业中,AdvancedDataGrid是Flex(Adobe Flex)框架中一个强大的数据网格组件,用于显示大量结构化的数据。它提供了高级的数据呈现功能,比如分组、排序、过滤和自定义渲染。本文将深入探讨“FLEX ...
由于我们使用了自定义的渲染器,所以需要监听`change`事件来更新数据源中的选中状态。在上述`<mx:Component>`中,我们在CheckBox的`change`事件中更新了`data.selected`。 6. **扩展功能**: 除了基本的复选框...
### Flex技术中AdvancedDataGrid使用方法 #### 一、多列排序 在默认情况下,`AdvancedDataGrid`组件会按照数据被添加至其`DataProvider`的顺序来展示数据。与`DataGrid`组件类似,`AdvancedDataGrid`也支持用户在...
在Flex开发中,AdvancedDataGrid是一款强大的数据网格组件,它提供了丰富的数据展示和交互功能,如排序、分组、过滤等。在实际应用中,我们经常需要为用户提供选择多条数据的能力,这时CheckBox的选择功能就显得尤为...
在AdvancedDataGrid中,每个节点代表一个数据项,可以展开或折叠,显示其子节点。动态添加节点意味着在运行时向已存在的数据集添加新的数据项,这通常涉及数据提供者(如ArrayCollection)的更新。 动态添加一行的...
在Flex编程领域,数据网格(DataGrid)是用于展示大量结构化数据的组件,而AdvancedDataGrid则是DataGrid的一个增强版,提供了更为丰富的功能和更高级的定制能力。本示例"flex-datagrid-advancedDataGrid-demo"显然...
在Flex开发环境中,AdvancedDataGrid组件是一个强大的数据展示工具,尤其适用于处理大量复杂数据的网格显示。本课件管理系统就是基于这个组件构建的,旨在提供一个基础的平台,用于管理和浏览课件信息。下面将详细...
最新的AdvancedDataGrid行嵌套AdvancedDataGrid实现,该例子只是实现AdvancedDataGrid利用AdvancedDataGridRendererProvider在行中渲染另外一个AdvancedDataGrid,当然也可以渲染其它任何想渲染的界面或者组件,价值...
在Flex开发中,AdvancedDataGrid是一个强大的组件,它扩展了基本的DataGrid,提供了更复杂的数据展示和交互功能。这个主题涵盖了如何在Flex项目中有效地利用AdvancedDataGrid来实现数据的高级显示和操作。 1. **...
Flex CSS设计器是一款基于Flash技术的工具,专门用于帮助开发者对Flex应用程序中的用户界面控件进行CSS样式设计。这款工具提供了一个可视化的环境,使得设计师和开发者能够更直观、便捷地调整Flex控件的外观和布局,...
<![CDATA[ import mx.controls.CheckBox; import mx.controls.Alert; import com.as3xls.xls.ExcelFile;... Alert.show("行的数据分别是:"+o.idx+"/"+o.names+"/"+o.sex);...</mx:WindowedApplication>
flex datavisualization.swc flex 3 AdvancedDataGrid
在Flex编程中,AdvancedDataGrid和DataGrid是两种常用的组件,用于展示数据并提供交互功能。本示例项目“Flex全选效果批量删除”聚焦于如何实现这些组件的一个实用功能,即用户可以通过全选复选框来一次性选择多个...
非常好用的 felx AdvancedDataGrid 多选框 单选框支持渲染器,不需改到AdvancedDataGrid 代码; 支持 xml 数据源的网上可查到一些, 但这个可是 支持 Array 类型数据源的。
在本文中,我们将深入探讨`advancedDataGrid`的逐级展开功能,这是一个在Flex或Adobe AIR应用程序中广泛使用的高级数据网格组件。`advancedDataGrid`提供了丰富的数据展示和交互能力,特别适合处理多层次的数据结构...
通过设置dataProvider="{flatArray}"属性,将这个集合绑定到AdvancedDataGrid的数据提供器上。 在<MX:AdvancedDataGrid>标签内部,设置了组件的多种属性,包括宽度、高度、内边距等。同时,指定了组件的视图类型为...
AdvancedDataGrid或datagrid导出到excel.rar AdvancedDataGrid或datagrid导出到excel.rar AdvancedDataGrid或datagrid导出到excel.rar
### Flex4.5常见问题总结 #### 一、Flex4.5组件开发模型与特性 Flex4.5采用了一种基于组件的开发模型,开发者可以通过继承现有组件并扩展其功能来构建自己的应用程序。这一模型的核心优势在于提高了代码的复用性,...
至于渲染器,AdvancedDataGrid支持自定义单元格渲染,这在展示特殊格式的数据或添加交互性时非常有用。开发者可以通过创建自定义的ItemRenderer类,覆盖默认的渲染方式,实现如图片、颜色、下拉框等复杂元素的展示。...