博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Flex开发小结(1)如何使用AdvancedDataGrid
阅读量:6290 次
发布时间:2019-06-22

本文共 6782 字,大约阅读时间需要 22 分钟。

1、AdvancedDataGrid扩展了普通DataGrid的功能,AdvancedDataGrid控件提供了另外一些特性,并在数据显示、数据聚合和数据格式化方面有着强大的控制力。

这里我主要说一下AdvancedDataGrid中数据的分层、分组显示以及导航树功能。

 

2、如果要配置AdvancedDataGrid显示分数据和导航树,需要把AdvancedDataGrid数据源dataProvider属性设置为HierarchicalData类或者GroupingCollection类的实例

 

数据分层显示:使用HierarchicalDatal类。

数据分组显示:使用GroupingCollection类,作为配置一个GroupingCollection类的实例的一部分,您需要指定一个或更多的字段来将平面数据组织为同一层次。

 

注意:您可以从任意数据创建一个HierarchicalData类或GroupingCollection类的实例来作为数据源。但是,AdvancedDataGrid控件按如下修改它为内部的数据表示:

  • 一个数组实例在AdvancedDataGrid控件内部使用一个ArrayCollection类实例表示。
  • 一个ArrayCollection在AdvancedDataGrid控件内部使用一个ArrayCollection类实例表示。
  • 一个包含正确XML文本的字符串在AdvancedDataGrid控件内部使用一个XMLListCollection类实例表示。
  • 一个XMLNode实例在AdvancedDataGrid控件内部使用一个XMLListCollection类实例表示。
  • 一个XMLList实例在AdvancedDataGrid控件内部使用一个XMLListCollection类实例表示。
  • 任何实现ICollectionView接口的对象在AdvancedDataGrid控件内部使用一个ICollectionView实例表示。
  • 一个其他任意类型的对象被作为唯一的条目包裹在一个的数组示例中。

例如,如果您使用一个数组来创建HierarchicalData类的一个实例,并将该HierarchicalData实例传递给AdvancedDataGrid.dataProvider属性,然后又从AdvancedDataGrid.dataProvider属性将其读回;您读回的数据将是一个ArrayCollection实例。

 

3、导航树:

AdvancedDataGrid控件中可以将数据显示为树形结构,也因为该控件的第一列使用一个可缩放数来选择行的显示而被称作tree datagrid,唯一要记住的规则是该树总是显示在有列的最左边。

尽管在AdvancedDataGrid控件您可以所任意组织列而不管数据是如何组织的。并且您可以通过拖动列来对AdvancedDataGrid控件上的列进行重新定位,但是导航树总是出现在列的最左边。

数据表格的第一列通常与该控件的数据源的某一字段关联。该数据字段用于为树节点标签命名。

 

4、显示分层数据:

分层数据是数据被分层组织的结构化数据。要在AdvancedDataGrid控件中显示分层数据,您需要将控件的数据源设置为Hierarchica。数据源中的lData类的实例数据结构定义了AdvancedDataGrid控件对数据的如何显示。

在下面的示例中展示了AdvancedDataGrid控件的分层数据显示。

该数据的顶层数据包含一个Region字段和多个第二层子对象,每个第二层子对象也包含一个Region字段和多个其他的子对象。

该示例中的AdvancedDataGrid控件定义了四列来显示数据:Region、Territory Rep、 Actual和Estimate。

 

(1)使用ArrayCollection定义分层数据:使用ArrayCollection是创建分层数据的常用方式。

下面为本示例代码:

以下图片为上述示例创建的AdvancedDataGrid控件。该控件使用文件夹图标表示数据分支节点,使用文件图标代表叶子节点。控件的第一列和数据源的Region相关联。所以标签显示的是Region字段的值。

 

注意:

该示例在ArrayCollection定义中使用children关键字来定义数据的层次。children关键字是HierarchicalData类用来定义层次的缺省关键字。

您也可以使用使用其他的关键字来定义层次。以下示例,其使用的是categories关键字来定义数据的层次:只需要

在指定HierarchicalData类的childrenField属性为categories即可。

结果如下图所示:

 

(2)使用XML定义分层数据

当然也可以使用XML作为AdvancedDataGrid的数据源:同样要通过实例化HierarchicalData类来进行。

如下示例:

结果如下图:

 

5、显示分组数据:

 要想显示分组数据,必须传递给AdvancedDataGrid控件的dataprovider属性以GroupingCollection类的实例,如下:

GroupingCollection的source属性必须为前面定义的数据源,同时使用GroupingField指定分组字段,可以指定一个或者多个分组字段。

注意:必须在AdvancedDataGrid控件的initialize方法中调用GroupingCollection类的refresh方法。

如下示例:

示例结果如下图:

 

6、设置导航树图标和标签

导航树可以让您控制分支和叶子节点的图标和标签。您可显示一个有标签无图标的树、一个只有分支图标的树、一个所有都没有标签的树或者一个不与任何数据字段相关的自由列数。

以下表描述了AdvancedDataGrid控件用于设置树图标的样式属性:

样式属性描述:

defaultLeafIcon指定叶子节点图标

disclosureClosedIcon指定显示在封闭的分支节点前面的图标,缺省是一个黑三角形。

disclosureOpenIcon指定显示在展开的分支节点前面的图标,缺省是一个黑三角形。

folderClosedIcon为分支节点指定一个文件夹关闭图标

folderOpenIcon为分支节点指定一个文件夹打开图标

 

 

 

 

 

 

 

 

你可能感兴趣的文章
%Error opening tftp://255.255.255.255/cisconet.cfg
查看>>
java读取excel、txt 文件内容,传到、显示到另一个页面的文本框里面。
查看>>
《从零开始学Swift》学习笔记(Day 51)——扩展构造函数
查看>>
python多线程队列安全
查看>>
[汇编语言学习笔记][第四章第一个程序的编写]
查看>>
android 打开各种文件(setDataAndType)转:
查看>>
补交:最最原始的第一次作业(当时没有选上课,所以不知道)
查看>>
Vue实例初始化的选项配置对象详解
查看>>
PLM产品技术的发展趋势 来源:e-works 作者:清软英泰 党伟升 罗先海 耿坤瑛
查看>>
vue part3.3 小案例ajax (axios) 及页面异步显示
查看>>
浅谈MVC3自定义分页
查看>>
.net中ashx文件有什么用?功能有那些,一般用在什么情况下?
查看>>
select、poll、epoll之间的区别总结[整理]【转】
查看>>
CSS基础知识(上)
查看>>
PHP中常见的面试题2(附答案)
查看>>
26.Azure备份服务器(下)
查看>>
mybatis学习
查看>>
LCD的接口类型详解
查看>>
Spring Boot Unregistering JMX-exposed beans on shutdown
查看>>
poi 导入导出的api说明(大全)
查看>>