flex 用footerdatagrid做列的汇总合计

之前用flex+c#做的一个项目中,有涉及到列的汇总计算。可以用到的方法很多,这里列举了一种,在前台flash中用footerdatagrid结合labelfunction的用法即可实现。当然,下面的代码实现的是每一列的所有行的汇总(由SUMcolum中的for循环可知),如果要实现每一列的奇数行(或偶数行或其他自定义挑选的行)的汇总,则需要稍作修改。

(不过,最后没用这种方法,而是在后台C#实体类中添加“合计”成员来实现。)

  1  xmlns:local="HZAssessment.TCJS.*" //声明自定义的组件local

  2 

  3 

  4             /**列汇总公共函数**/

  5             private function SUMcolumn(column:DataGridColumn):String

  6             {

  7                 var n:int = datalist.length;

  8                 var sum:Number = 0;

  9                 for (var i:int = 0; i < n; i++)

 10                 {

 11                     sum += datalist[i][column.dataField];

 12                 }

 13                 

 14                 return sum.toFixed(0);

 15             }

 16         

 17             //土地正式列汇总

 18             private function SUMsumTZ(column:DataGridColumn):String

 19             {

 20                 return SUMcolumn(column);   21             }

 22             

 23             //土地简式列汇总

 24             private function SUMsumTJ(column:DataGridColumn):String

 25             {

 26                 return SUMcolumn(column);

 27             }

 28             

 29             //房产正式列汇总

 30             private function SUMsumFZ(column:DataGridColumn):String

 31             {

 32                 return SUMcolumn(column);

 33             }

 34             

 35             //房产简式列汇总

 36             private function SUMsumFJ(column:DataGridColumn):String

 37             {

 38                 return SUMcolumn(column);

 39             }

 40             

 41             //房拆正式列汇总

 42             private function SUMsumFCZ(column:DataGridColumn):String

 43             {

 44                 return SUMcolumn(column);

 45                 

 46             }

 47             //房拆简式列汇总

 48             private function SUMsumFCJ(column:DataGridColumn):String

 49             {

 50                 return SUMcolumn(column);

 51             }

 52             

 53             //合计正式列汇总

 54             private function SUMsumHJZS(column:DataGridColumn):String

 55             {

 56                 return SUMcolumn(column);

 57             }

 58             

 59             //合计简式列汇总

 60             private function SUMsumHJJS(column:DataGridColumn):String

 61             {

 62                 return SUMcolumn(column);

 63             }

 64 

 65 

 66 

 67 <local:FooterDataGrid id="dg_shtjlist" initialize="dg_shtjlist.dataProvider ='{datalist}'" width="100%"  height="100%" paddingTop="0" paddingBottom="0" verticalAlign="middle" >

 68                 <local:columns>

 69                     <local:FooterDataGridColumn id="shr" headerText="审核人" dataField="zsrxm">

 70                         <mx:DataGridColumn headerText="汇总" dataField="zsrxm" />

 71                     </local:FooterDataGridColumn>

 72                     <local:FooterDataGridColumn id="tz" headerText="土地正式" dataField="sumTZ" >

 73                         <mx:DataGridColumn dataField="sumTZ" labelFunction="SUMsumTZ" />

 74                     </local:FooterDataGridColumn>

 75                     <local:FooterDataGridColumn  id="tj" headerText="土地简式" dataField="sumTJ" >

 76                         <mx:DataGridColumn labelFunction="SUMsumTJ" dataField="sumTJ" />

 77                     </local:FooterDataGridColumn>

 78                     <local:FooterDataGridColumn  id="fz" headerText="房产正式" dataField="sumFZ" >

 79                         <mx:DataGridColumn labelFunction="SUMsumFZ" dataField="sumFZ" />

 80                     </local:FooterDataGridColumn>

 81                     <local:FooterDataGridColumn id="fj" headerText="房产简式" dataField="sumFJ" >

 82                         <mx:DataGridColumn labelFunction="SUMsumFJ" dataField="sumFJ" />

 83                     </local:FooterDataGridColumn>

 84                     <local:FooterDataGridColumn id="fcz" headerText="房拆正式" dataField="sumFCZ" >

 85                         <mx:DataGridColumn labelFunction="SUMsumFCZ" dataField="sumFCZ" />

 86                     </local:FooterDataGridColumn>

 87                     <local:FooterDataGridColumn id="fcj" headerText="房拆简式" dataField="sumFCJ" >

 88                         <mx:DataGridColumn labelFunction="SUMsumFCJ" dataField="sumFCJ" />

 89                     </local:FooterDataGridColumn>

 90                     

 91                     <local:FooterDataGridColumn id="hjzs" headerText="合计(正式)" dataField="sumHJZS" labelFunction="HJZSlabel" color="#8A2BE2" >

 92                         <mx:DataGridColumn labelFunction="SUMsumHJZS" dataField="sumHJZS" color="#8A2BE2" />

 93                     </local:FooterDataGridColumn>                    

 94 

 95                     <local:FooterDataGridColumn id="hjjs" headerText="合计(简式)" dataField="sumHJJS" labelFunction="HJJSlabel" color="#8A2BE2" >

 96                         <mx:DataGridColumn labelFunction="SUMsumHJJS" dataField="sumHJJS"  color="#8A2BE2"/>

 97                     </local:FooterDataGridColumn>

 98                     

 99                 </local:columns> 

100             </local:FooterDataGrid>    

 

 

你可能感兴趣的:(datagrid)