读书人

flex AdvancedDataGrid 札记

发布时间: 2012-10-28 09:54:44 作者: rapoo

flex AdvancedDataGrid 笔记
<mx:AdvancedDataGrid sortItemRenderer="MySortItemRenderer" sortExpertMode="true" styleName="advDataGrid" defaultLeafIcon="{null}" width="100%" height="100%"
disclosureClosedIcon="{close}" disclosureOpenIcon="{open}" headerSortSeparatorSkin="mx.skins.ProgrammaticSkin"
id="eventADG" initialize="eventData.refresh()" >

<mx:rendererProviders>
<mx:AdvancedDataGridRendererProvider
dataField="sum"
columnIndex="2"
columnSpan="1"
renderer="SumNumRenderer"/>

<mx:AdvancedDataGridRendererProvider
dataField="max"
columnIndex="3"
columnSpan="1"
renderer="CountTimeRenderer"/>
</mx:rendererProviders>

<mx:dataProvider>

<mx:GroupingCollection id="eventData">
<mx:grouping>
<mx:Grouping>

<mx:GroupingField name="{groupObj.dataField}" >
<mx:summaries>
<mx:SummaryRow summaryPlacement="group">
<mx:fields>
<mx:SummaryField label="sum" dataField="@CountNum" operation="SUM"/>
<mx:SummaryField label="max" dataField="@CountTime" operation="MAX"/>
</mx:fields>
</mx:SummaryRow>
</mx:summaries>
</mx:GroupingField>
</mx:Grouping>
</mx:grouping>
</mx:GroupingCollection>
</mx:dataProvider>

<mx:columns>

<mx:AdvancedDataGridColumn headerText="{groupObj.headerText}" dataField="GroupLabel"/>

<mx:AdvancedDataGridColumn headerText="{column1Obj.headerText}" dataField="{column1Obj.dataField}" sortCompareFunction="sortColumn2"/>

<!--<mx:AdvancedDataGridColumn headerText="{column2Obj.headerText}" sortCompareFunction="sortColumn2"
dataField="{column2Obj.dataField}"/>-->

<!--itemRenderer="EventLevel"-->

<mx:AdvancedDataGridColumn headerText="发生次数" dataField="@CountNum" textAlign="right"
sortCompareFunction="sortCountNum"/>

<mx:AdvancedDataGridColumn headerText="记录时间" dataField="@CountTime" textAlign="right"
sortCompareFunction="sortCountTime"
itemRenderer="CountTimeRenderer"/>
</mx:columns>
</mx:AdvancedDataGrid>

sortExpertMode="true //解决点击头部只能排序一次现象

//去掉头部排序时出现的数字序号
package {
import mx.controls.advancedDataGridClasses.AdvancedDataGridSortItemRenderer;
import mx.core.UITextField;

public class MySortItemRenderer extends AdvancedDataGridSortItemRenderer {
public function MySortItemRenderer() {
}

override protected function childrenCreated():void {
super.childrenCreated();

// Get reference to sort number text field
var sortOrderTextField:UITextField = this.getChildAt(0) as
UITextField;

if (sortOrderTextField != null) {
// Hide sort number text field
sortOrderTextField.includeInLayout = false;
sortOrderTextField.visible = false;
}
}
}
}

读书人网 >flex

热点推荐