- 浏览: 28145 次
最新评论
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)即可。
发表评论
-
字符串相关方法
2012-07-06 09:51 497字符串相关方法使 ... -
JavaScript用正则表达式验证表单
2012-07-06 09:44 642验证表单的不同内容用的是不同的正则表达式。 常用的正则 ... -
Actionscript正则表达式(二)
2012-07-06 09:36 1574Actionscript正则表达 ... -
Winform Change skin(DevExpress commerical commponents)
2012-07-06 09:29 1190Create a basic Form public pa ... -
【资料整理】Javascript中getElementsByName()和getElementById()的区别和用法
2012-07-05 20:44 573getElementsByName()定义和用法 ge ... -
重写Flex组件
2012-07-03 13:42 517一、为什么要重写 ... -
重写Flex组件
2012-07-03 12:15 506一、为什么要重写 ... -
Flex 数据易犯错误: 常见误用和错误
2012-07-02 10:07 523在某些情形下,绑定操作似乎不能正常工作,此时你可能非常懊恼 ... -
Hello,Flex
2012-07-02 09:41 400... -
Qt学习之路(53): 拖放技术之二
2012-07-01 09:25 746很长时间没有来写博客了,前段时间一直在帮同学弄一个 spr ... -
通过Flash实现ASP.NET多文件上传
2012-07-01 09:24 723关于多文件上传, ... -
设置手机项目首选参数
2012-07-01 09:24 738Flash Builder 使用设 ... -
关于ActionScript 3.0 中方法重写和继承的发现
2012-07-01 09:24 607子类: package { import mx.contr ... -
flex 第三方库 大全
2012-06-30 11:11 553flex 第三方库 大全 2011年11月17日 下面总 ... -
Adobe Flex
2012-06-30 11:11 491Adobe Flex 2010年08月15日 ... -
Flex Builder2的基本知识[转]
2012-06-30 11:11 494Flex Builder2的基本知识[ ... -
Flex RSL
2012-06-30 11:11 544Flex RSL 2010年11月02日 ... -
memcached完全剖析
2012-01-20 08:31 589memcached完全剖析 2011年0 ... -
把Linux中的VFS对象串联起来
2012-01-20 08:31 909把Linux中的VFS对象串联起来 2010年06月21日 ... -
memcached完全剖析
2012-01-20 08:31 548memcached完全剖析 2011年0 ...
相关推荐
FLEX4实践—动态生成DataGrid及应用客户化itemRenderer.doc
几个Flex datagrid 应用的小例子,适合新手学习
使用Flex开发DataGrid分页控件应用支持客户端及服务端
NULL 博文链接:https://xaajie.iteye.com/blog/434447
Flex中导出当前DataGrid中的数据。生成一个Excel文件。资源为一个简单的应用。
本实例是在datagrid里插入多列Checkbox的应用,不存在拖动下拉条混乱问题,里面代码很简单,但希望可以帮到你。
flex4 的DataGrid里面加一列CheckBox并实现数据交互的试验 - 暖阳下的猫的日志 - 网易博客 Flex 4 ColumnChart 图表使用实例ColumnChart_RIA前线-Flex富应用、Flex中文教程、Flex实例源码 Flex实现ColumnChart柱图为...
以一个完整的例子介绍如何利用 Flex3 技术开发一个标准的 OLAP 应用,其中包括各类图形分析控件,以及 Flex3 新引入的 OLAP DataGrid,最后针对 OLAP 应用中一些常用的需求对这些控件进行了自定义扩展。
2,为了确保程序初始化时有默认选中项,要在主应用程序中实例化一个Array对象,其代码为:public var selectItems:Array=new Array(); 3,最后在datagrid中引用下面代码即可 import ...
本博客提供的所有教程的资源原稿均来自于互联网,仅供学习交流之用,切勿进行商业传播。同时,转载时不要移除本申明。...16. 使用样式定制Flex应用 17. 使用皮肤定制Flex应用 18. 自定义ActionScript组件
HTML 应用程序将页用作屏幕,但在 Flex 中,您使用的是一种相关、但不同的概念,它称为状态。正如您将看到的那样,与 HTML 不同,状态不必出现在单独的文件中。 您将创建三个状态。第一个是您已经构建的界面,当启动...
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...
使用Flex,Java,Json更新Mysql数据库 已经介绍了如何使用Json格式的数据从后台用remoteObject的方法读取后现在Flex的DataGrid中。但是如果数据的量很大,就要使用scroll的方式来浏览了,这样造就了很多不变。参考了...
Flex 应用程序不会直接连接到远程数据库。而是使用以您的首选网络语言(PHP、ColdFusion、Java 或任何其他服务器端网络技术)编写的数据服务连接到远程数据。 本教程说明了如何创建一种数据服务,它使用 Flash ...
Js表格,万条数据瞬间加载 在Ajax动态加载数据的实际应用中,大家都习惯了一种思维方式:一条数据创建一行。 于是如果数量大的时候,一次性要加载完数据的话,浏览器就会卡上半天 受Flex的DataGrid控件的启发,在...
在 Flex 中,当用户与 Flex 应用程序中的一个组件交互时,组件会广播事件;如 click、rollOver 或rollOut 事件。为了对事件作出响应,您指定在发生事件时调用一个事件处理函数。 在本教程中,您将编写事件处理函数,...
编译和部署使用RSL的Flex应用程序 25.6节. 在Flex Builder调试中创建和监视表达式 25.7节. 在Flex Builder中安装Ant窗口 25.8节. 为自动通用任务创建一个Ant构建文件 25.9节. 使用mxmlc和Ant编译Flex应用程序 25.10...
本文侧重于使用FlexDataGrid创建简单的UI,从而显示跨所有连接客户机同步的结果集。一个用户更新了DataGrid后,所有其他访问该数据的用户可以立即收到这些更新。这意味着您不必再担心竞态条件和数据覆盖问题。对于...
based控件的拖放事件 13 运行在AIR中的Flex应用程序的拖放 16 拖放实例 17 例子1:用Canvas作为drop target 17 例子2:指定drag proxy 18 例子3:为drop target处理dragOver和dragExit事件 20 ...