`
yinxvxv
  • 浏览: 50887 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

动态构造flex多表头

阅读更多

动态构造 flex 多表头

在开发 flex 报表的过程中感觉针对每一张报表重新写一个 mxml 是非常不值得的。如果编译好的 swf 可以适应不同的报表不就很爽了。

如下面是一个多表头的例子:

现在想用下面这种格式的数据生成上面的表头。

上面这段 xml 用“ group ”来表示列合并的部分,“ column ”表示了数据列,如果把表头看作树的话“ column ”就是叶子。叶子在表头上对应的就是数据列,多出了相应属性。

怎么对上面的 xml 进行解析呢:

上面定义了一个 AdvancedDataGrid 实例,这里的 groupedColumns 里面只有一个 AdvancedDataGridColumnGroup 并设置其 Id dataColumns

上面的 httpService 是用来访问后台生成的 xml 文件。处理它的程序是 onXmlToSet 方法,见下面:

这里得到了 setXml ,其中 dataColumns = createHeaders(dataColumns,setXml.elements()); 这一句就是动态生成表头。

见下面这个方法:

这个方法有两个参数,一个是 parent ,表示上一级的列合并,一个是用一个 for 循环,当遇到 column 时直接加到 parent 上,否则 group 将作为下一个 parent 再次执这个方法,并加到 parent 。就是一个简单的树遍历。

最后的 parent 就是一个完整的表头。

  • 大小: 5.8 KB
  • 大小: 50.2 KB
  • 大小: 13.9 KB
  • 大小: 2.8 KB
  • 大小: 18.6 KB
  • 大小: 49.8 KB
分享到:
评论
8 楼 popotang 2012-03-27  
调试成功,本打算自己研究D
7 楼 lingyezhiqiu 2012-02-13  
不知道楼主那个xml数据源是从数据库直接查出来的还是直接写好的,如果是动态生成的,还望指导下……
6 楼 yehuangjiu 2011-12-03  
请问load()是干嘛的   实现?
5 楼 yehuangjiu 2011-12-02  
我可是一直在这儿等你啊。。。。。。
4 楼 yehuangjiu 2011-12-02  
819031172@qq.com
3 楼 yehuangjiu 2011-12-02  
楼主  我要源代码  详细完整的  正在学习呢  还有任务  急 819031172@.com
不胜感激涕零
2 楼 peijunlin2008 2010-06-10  
好贴!能相信介绍一下实现细节吗?能不能提供源代码?junlinpei@gmail.com 十分感谢!
1 楼 Robin1320 2009-10-30  
好贴!能不能提供详细的源码?:)目前正学习使用,谢了。Email:robin1320@163.com

相关推荐

Global site tag (gtag.js) - Google Analytics