`
zbu57zbu
  • 浏览: 28145 次
社区版块
存档分类
最新评论

Flex 动态datagrid的应用

 
阅读更多

  Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {mso-style-parent:""; margin:0cm; margin-bottom:.0001pt; text-align:justify; text-justify:inter-ideograph; mso-pagination:none; font-size:10.5pt; mso-bidi-font-size:12.0pt; font-family:"Times New Roman"; mso-fareast-font-family:宋体; mso-font-kerning:1.0pt;} /* Page Definitions */ @page {mso-page-border-surround-header:no; mso-page-border-surround-footer:no;} @page Section1 {size:595.3pt 841.9pt; margin:72.0pt 90.0pt 72.0pt 90.0pt; mso-header-margin:42.55pt; mso-footer-margin:49.6pt; mso-paper-source:0; layout-grid:15.6pt;} div.Section1 {page:Section1;} /* List Definitions */ @list l0 {mso-list-id:645429260; mso-list-type:hybrid; mso-list-template-ids:1330559786 -792669466 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;} @list l0:level1 {mso-level-text:%1); mso-level-tab-stop:39.0pt; mso-level-number-position:left; margin-left:39.0pt; text-indent:-18.0pt;} @list l1 {mso-list-id:868495315; mso-list-type:hybrid; mso-list-template-ids:464180022 536099640 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;} @list l1:level1 {mso-level-text:%1、; mso-level-tab-stop:39.0pt; mso-level-number-position:left; margin-left:39.0pt; text-indent:-18.0pt;} @list l2 {mso-list-id:1517230120; mso-list-type:hybrid; mso-list-template-ids:-1951217728 -676410782 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;} @list l2:level1 {mso-level-text:%1); mso-level-tab-stop:39.0pt; mso-level-number-position:left; margin-left:39.0pt; text-indent:-18.0pt;} @list l3 {mso-list-id:1676492127; mso-list-type:hybrid; mso-list-template-ids:423243848 -1060615108 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;} @list l3:level1 {mso-level-text:"%1\)"; mso-level-tab-stop:39.0pt; mso-level-number-position:left; margin-left:39.0pt; text-indent:-18.0pt;} ol {margin-bottom:0cm;} ul {margin-bottom:0cm;} -->          Flex有2种常用的datagrid:datagrid和advanceddatagrid,本文指功能更加强大的advanceddatagrid。所谓advanceddatagrid的动态应用是指,其列数不确定,随着数据源的改变,其列自适应填充(列顺序、列抬头设置、宽度设置等)。
  为什么要讨论datagrid的动态应用,是因为实际业务当中往往有很多报表其列数是不确定的,这通常是指横向报表。如有张报表是这样的:
  年份       月份       产品类别       销售额
  2010        6            笔记本            10000(万元)
  2010        6            台式机            20000(万元)
  ……
  现在要把这张报表横过来,展示如下:
  年份       月份       产品类别1     产品类别2     产品类别3…
  2010        6             10000(万元)20000(万元)     …
  此时,其列是随着产品类别数量变动而变动的,即其列是需要动态改变的,虽Flex提供了现成的olapdatagrid可用,由于其使用不方便、展示慢等原因,简单的动态列报表还是用advanceddatagrid来实现,那么如何实现?
  1、  约定
  1)      flex使用blazeds与java进行通讯;
  2)       
  2、  在java定义一个flex的datagrid列属性设置类
  JavaColDef,该类有name、text、width等属性,分别表示名称、抬头和宽度;当然为了映射,最好flex端定义一个与JavaColDef结构一样的FlexColDef,并映射到JavaColDef。
  3、  在java端定义一个获取列属性设置的函数
  Public JavaColDef[] getDataGridSetting()
  该函数返回列属性数组,在数组中的填充顺序即默认为该列在grid中的显示顺序。
  4、  在flex端进行datagrid的数据填充处理
  假设flex执行了查询操作得到了数据集{dataset},当我们得到该数据集的时候,我们立即调用getDataGridSetting方法去获取列属性定义。
  获取到列属性定义之后,执行表格重建操作。
  1)  先移除所有列;
  2)  根据属性列集合,依次给datagrid添加列,并设置其属性;
  3)  绑定数据集{dataset}
  5、  总结
  Datagrid动态列实现,只要进行2个操作即可。
  1)  开发人员自行实现getDataGridSetting()函数;
  2)  数据查询事件处理,查询成功后调用统一函数,void rebuildGrid(array:ArrayCollection)即可。
分享到:
评论

相关推荐

    FLEX4实践—动态生成DataGrid及应用客户化itemRenderer.doc

    FLEX4实践—动态生成DataGrid及应用客户化itemRenderer.doc

    FLEX datagrid应用实例

    几个Flex datagrid 应用的小例子,适合新手学习

    使用Flex开发DataGrid分页控件应用支持客户端及服务端

    使用Flex开发DataGrid分页控件应用支持客户端及服务端

    Flex中Datagrid应用(每行修改删除按钮)

    NULL 博文链接:https://xaajie.iteye.com/blog/434447

    Flex中组件datagrid导出Excel

    Flex中导出当前DataGrid中的数据。生成一个Excel文件。资源为一个简单的应用。

    flex datagrid插入多列Checkbox应用实例

    本实例是在datagrid里插入多列Checkbox的应用,不存在拖动下拉条混乱问题,里面代码很简单,但希望可以帮到你。

    flex 4 学习资料

    flex4 的DataGrid里面加一列CheckBox并实现数据交互的试验 - 暖阳下的猫的日志 - 网易博客 Flex 4 ColumnChart 图表使用实例ColumnChart_RIA前线-Flex富应用、Flex中文教程、Flex实例源码 Flex实现ColumnChart柱图为...

    使用 Flex3 开发 OLAP 应用

    以一个完整的例子介绍如何利用 Flex3 技术开发一个标准的 OLAP 应用,其中包括各类图形分析控件,以及 Flex3 新引入的 OLAP DataGrid,最后针对 OLAP 应用中一些常用的需求对这些控件进行了自定义扩展。

    datagrid全选功能控件

    2,为了确保程序初始化时有默认选中项,要在主应用程序中实例化一个Array对象,其代码为:public var selectItems:Array=new Array(); 3,最后在datagrid中引用下面代码即可 import ...

    Flex4权威指南+随书源代码+Flexbuild使用工具

    本博客提供的所有教程的资源原稿均来自于互联网,仅供学习交流之用,切勿进行商业传播。同时,转载时不要移除本申明。...16. 使用样式定制Flex应用 17. 使用皮肤定制Flex应用 18. 自定义ActionScript组件

    Flex4创建页面

    HTML 应用程序将页用作屏幕,但在 Flex 中,您使用的是一种相关、但不同的概念,它称为状态。正如您将看到的那样,与 HTML 不同,状态不必出现在单独的文件中。 您将创建三个状态。第一个是您已经构建的界面,当启动...

    Flex新手教程_入门级学习笔记

    6.5 新建一个Flex应用程序,测试连接 35 6.6 实际应用 37 7 Cairngrom框架 38 8 实例:Simple Note Management 40 8.1基本组件使用[Tree,datagrid,TitleWindow,ViewStack] 40 8.2读写XML 40 8.3读写ShareObject 40 8.4...

    flex2.0创建可编辑及分页.txt

    使用Flex,Java,Json更新Mysql数据库 已经介绍了如何使用Json格式的数据从后台用remoteObject的方法读取后现在Flex的DataGrid中。但是如果数据的量很大,就要使用scroll的方式来浏览了,这样造就了很多不变。参考了...

    FLex连接数据

    Flex 应用程序不会直接连接到远程数据库。而是使用以您的首选网络语言(PHP、ColdFusion、Java 或任何其他服务器端网络技术)编写的数据服务连接到远程数据。 本教程说明了如何创建一种数据服务,它使用 Flash ...

    Js表格万条数据瞬间加载实现代码

    Js表格,万条数据瞬间加载 在Ajax动态加载数据的实际应用中,大家都习惯了一种思维方式:一条数据创建一行。 于是如果数量大的时候,一次性要加载完数据的话,浏览器就会卡上半天 受Flex的DataGrid控件的启发,在...

    Flex编写交互代码

    在 Flex 中,当用户与 Flex 应用程序中的一个组件交互时,组件会广播事件;如 click、rollOver 或rollOut 事件。为了对事件作出响应,您指定在发生事件时调用一个事件处理函数。 在本教程中,您将编写事件处理函数,...

    flex3的cookbook书籍完整版dpf(包含目录)

    编译和部署使用RSL的Flex应用程序 25.6节. 在Flex Builder调试中创建和监视表达式 25.7节. 在Flex Builder中安装Ant窗口 25.8节. 为自动通用任务创建一个Ant构建文件 25.9节. 使用mxmlc和Ant编译Flex应用程序 25.10...

    使用ColdFusion和Flex构建您的第一个数据管理应用程序

    本文侧重于使用FlexDataGrid创建简单的UI,从而显示跨所有连接客户机同步的结果集。一个用户更新了DataGrid后,所有其他访问该数据的用户可以立即收到这些更新。这意味着您不必再担心竞态条件和数据覆盖问题。对于...

    Flex3组件拖放教程

    based控件的拖放事件 13 运行在AIR中的Flex应用程序的拖放 16 拖放实例 17 例子1:用Canvas作为drop target 17 例子2:指定drag proxy 18 例子3:为drop target处理dragOver和dragExit事件 20 ...

Global site tag (gtag.js) - Google Analytics