代码:defaultLeafIcon="{null}"去掉子节点图标,displayItemsExpanded="true"默认展开,styleFunction="myStyle" 设置合计行的样式
<mx:AdvancedDataGrid id="dg" defaultLeafIcon="{null}" displayItemsExpanded="true" width="100%" height="100%" borderColor="#0A9AFF"
borderStyle="solid" itemClick="onDoubleClick(event)" styleFunction="myStyle">
<mx:dataProvider>
<mx:GroupingCollection id="gc" source="{collection}"> //source绑定数据源
<mx:Grouping >
<!---name表示安装那个字段分组,函数是处理显示父节点的名称,->
<mx:GroupingField name="Xmxl" groupingFunction="groupFunc" >
<mx:SummaryRow summaryPlacement="group">//group值表示分组
<mx:SummaryField operation="SUM" dataField="Pzje" label="小计"/>
</mx:SummaryRow>
</mx:GroupingField>
</mx:Grouping>
<!--最后一行加上总计(不能放到grouping里面,否则会在每一个分组的下面出现合计行的值,这样才会在整体的最下面,summaryPlacement="last")-->
<mx:summaries>
<mx:SummaryRow summaryPlacement="last" summaryObjectFunction="flatSummaryObject">
<mx:SummaryField operation="SUM" dataField="Pzje" label="小计" /> //2出的label值必须一致,这样就可以在同一列显示sum值
</mx:SummaryRow>
</mx:summaries>
</mx:GroupingCollection>
</mx:dataProvider>
<mx:columns>
<mx:AdvancedDataGridColumn headerText='项目名称' labelFunction="ShowLx"
dataField='Xmxl' />
<mx:AdvancedDataGridColumn headerText='入账时间'
dataField='Rzsj'/>
<mx:AdvancedDataGridColumn headerText='凭证号'
dataField='Pzh'/>
<mx:AdvancedDataGridColumn headerText='入账科目'
dataField='Rzkm'/>
<mx:AdvancedDataGridColumn headerText='摘要'
dataField='Zy'/>
<mx:AdvancedDataGridColumn headerText='凭证金额 ' id="PzjeColumn" textAlign="center"
dataField='Pzje'/>
<mx:AdvancedDataGridColumn dataField="小计"/>//此处的datafield值是SummaryField中的label
</mx:columns>
</mx:AdvancedDataGrid>
//显示名称
public function ShowLx(item:Object, column:AdvancedDataGridColumn):String
{
for each(var vo:ZdcwxmVO in XmxlTi.dataProvider)
{
if(item.Xmxl==vo.XM_DM)
{
return vo.XM_MC;
}
}
return "";
}
private function groupFunc(item:Object, field:GroupingField):String
{
for each(var vo:ZdcwxmVO in XmxlTi.dataProvider)
{
if(item[field.name].toString()==vo.XM_DM)
{
return vo.XM_MC;
}
}
return "";
}
//合计函数
private function flatSummaryObject():Object
{
return {Pzje:"合计:", summary:true };
}
//设置样式
private function myStyle(data:Object,column:AdvancedDataGridColumn):Object
{
var output:Object;
if(data.Xmxl==null){
output={color:"#095464",fontWeight:"bold"};
}
return output;
}
绑定数据时
//查询ok的回调函数
function QueryByOk(event:ResultEvent):void
{
//赋值
collection=event.result as ArrayCollection;
//必须刷新
gc.refresh();
}