用ibizGrid 制作复杂报表

先介绍下flex第三方的报表组件。

  1. 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. 不支持单元格选择。

       4.只能前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>

 

 

以上报表如果处理复杂的报表就很难了,下一篇将讲述一个flex报表的更优方案。

jasperreports+Flex报表方案新思路

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(PHP,Excel,单元测试,Flex,AIR)