先介绍下flex第三方的报表组件。
- Mecgrid
Mecgrid是一个开放API但不开放源代码的免费报表组件。它的官方地址是http://www.mechansp.com/prod_mecgrid.php ,它具体特性如下所示:
1、可以得到横纵列的索引。
2、支持鼠标滚动。
3、支持分成结构(即树形结构)
4、单元格自定义样式
5、同样具体dataProvider功能。
6、到处excel文件格式(AIR专有)
7、支持过滤功能。
8、单元格拖拽功能。
9、多列排序功能。
但是,MecGrid缺点还是挺多的。
1. 不支持itemrender。
2. 单元格选择时无法获知整行数据。(测试了好一会也没找到解决办法,不知道不能还是我没找出来)
3. 不支持xxxFunction设置。
4. 设置很不方便。在column设置中大量使用 number作为参数,非常非常的不利于使用,在线文档对这个ResourceXML的设置
2 NEC Grid
日本人做的报表组件,功能还是挺强大的,但是是收费的。这个网址介绍了NEC Grid组件的使用方法
http://www.necst.co.jp/product/ibiz/column/ibizblock/chap7.html。
该组件的单元格似乎是用html的元素实现的。NEC有以下几个缺点:
1. 不能改变行高(跟着字体的大小改变)。
2. 破换了itemrender的使用,增加了一个ComboBox作为itemrender,但是他的显示完全不正常。如果
itemrender的高度大于他的默认行高,显示会被切断。
3. 不支持单元格选择。
经过韩的努力,终于把NEC Grid的授权文件给搞定了。附件是已经授权的两个swc文件。
简单的小例子:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
xmlns:ibiz="http://www.necst.co.jp/ibizblock/mxml"
backgroundGradientColors="[#ffffff, #ffffff]" >
<mx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
import mx.controls.*;
[Bindable]
private var ac:ArrayCollection=new ArrayCollection([
{col1:"A",col2:"A1",col3:"111"},
{col1:"A",col2:"A1",col3:"34"},
{col1:"A2",col2:"A1",col3:"111"}
]);
]]>
</mx:Script>
<mx:Style>
MultiLineGrid { horizontalGridLineColor: #c0c0c0 }
</mx:Style>
<ibiz:MultiLineGrid dataProvider="{ac}" editable="false"
groupingColumnCount="1" width="355" >
<ibiz:columns>
<ibiz:MultiLineGridColumn dataField="col1" width="100" headerText="col1"/>
<ibiz:MultiLineGridColumn dataField="col2" width="100" headerText="col1" />
<ibiz:MultiLineGridColumn dataField="col3" width="150" headerText="col2"/>
</ibiz:columns>
</ibiz:MultiLineGrid>
</mx:Application>
本文对比了Mecgrid和NECGrid两款Flex报表组件的特点。Mecgrid为免费组件,支持Excel导出等功能;NECGrid功能强大但需付费,二者在单元格样式定制和支持方面各有优劣。
3509

被折叠的 条评论
为什么被折叠?



