flex spark DataGrid 每列的label居中顯示

在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 皮膚類下載。
這就樣可以了。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章