在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 皮肤类下载。
这就样可以了。