在flex4 裏面,spark的DataGrid的列中的label 不能居中顯示。也無法設置。
可以在每列中設置一下headerRenderer。
<s:DataGrid id="dg" width="100%" height="100%" verticalScrollPolicy="on" dataProvider="{dpFlat}" textAlign="center">
<s:columns>
<s:ArrayList>
<s:GridColumn headerText="ID" dataField="busJobNo" headerRenderer="com.tm.Renderer.SparkDGHeadCenter" sortable="false"/>
<s:GridColumn headerText="級別" dataField="warnLevel" headerRenderer="com.tm.Renderer.SparkDGHeadCenter" sortable="false"/>
<s:GridColumn headerText="信息" dataField="warningMessage" headerRenderer="com.tm.Renderer.SparkDGHeadCenter" sortable="false"/>
<s:GridColumn headerText="時間" dataField="insTime" headerRenderer="com.tm.Renderer.SparkDGHeadCenter" sortable="false"/>
</s:ArrayList>
</s:columns>
</s:DataGrid>
SparkDGHeadCenter 宣染器類如下:
<?xml version="1.0" encoding="utf-8"?>
<s:DefaultGridHeaderRenderer xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx">
<s:labelDisplay>
<s:Label left="0" right="0" id="labelDisplay" verticalCenter="1" textAlign="center" fontWeight="bold" verticalAlign="middle" />
</s:labelDisplay>
<!--left="0" right="0" top="0" bottom="0" maxDisplayedLines="1" showTruncationTip="true" -->
</s:DefaultGridHeaderRenderer >
這樣就可以把label 居中顯示了。當然還有一種方法, 其實和上面也差不多,就是對spark DataGrid寫個皮膚類。如下使用:
<s:DataGrid id="dg" width="100%" height="100%" verticalScrollPolicy="on" dataProvider="{dpFlat}" textAlign="center" skinClass="com.tm.skin.DataGridSkin">
<s:columns>
<s:ArrayList>
<s:GridColumn headerText="ID" dataField="busJobNo" headerRenderer="com.tm.Renderer.SparkDGHeadCenter" sortable="false"/>
<s:GridColumn headerText="級別" dataField="warnLevel" headerRenderer="com.tm.Renderer.SparkDGHeadCenter" sortable="false"/>
<s:GridColumn headerText="信息" dataField="warningMessage" headerRenderer="com.tm.Renderer.SparkDGHeadCenter" sortable="false"/>
<s:GridColumn headerText="時間" dataField="insTime" headerRenderer="com.tm.Renderer.SparkDGHeadCenter" sortable="false"/>
</s:ArrayList>
</s:columns>
</s:DataGrid>
DataGridSkin 皮膚類下載。
這就樣可以了。