<?xml version="1.0" encoding="utf-8"?>
<mx:Application name="DataGrid_headerStyleName_textAlign_test"
xmlns:mx="http://www.adobe.com/2006/mxml"
layout="vertical"
verticalAlign="middle"
backgroundColor="white"
initialize="init();">
<mx:Script>
<![CDATA[
import flash.text.TextFormatAlign;
import mx.containers.ApplicationControlBar;
import mx.containers.Form;
import mx.containers.FormItem;
import mx.controls.ComboBox;
import mx.controls.DataGrid;
import mx.controls.dataGridClasses.DataGridColumn;
import mx.core.ScrollPolicy;
import mx.events.ListEvent;
private const XML_URL:String = "data/products.xml";
private var urlLoader:URLLoader;
private var dp:XML;
private var comboBox:ComboBox;
private var dataGrid:DataGrid;
private var dataGridColumn1:DataGridColumn;
private var dataGridColumn2:DataGridColumn;
private function init():void {
urlLoader = new URLLoader();
urlLoader.addEventListener(Event.COMPLETE,
urlLoader_complete);
urlLoader.load(new URLRequest(XML_URL));
var arr:Array = [];
arr.push(TextFormatAlign.LEFT);
arr.push(TextFormatAlign.CENTER);
arr.push(TextFormatAlign.RIGHT);
arr.push(TextFormatAlign.JUSTIFY);
comboBox = new ComboBox();
comboBox.dataProvider = arr;
comboBox.addEventListener(ListEvent.CHANGE,
comboBox_change);
var formItem:FormItem = new FormItem();
formItem.label = "textAlign:";
formItem.addChild(comboBox);
var form:Form = new Form();
form.styleName = "plain";
form.addChild(formItem);
var appControlBar:ApplicationControlBar;
appControlBar = new ApplicationControlBar();
appControlBar.dock = true;
appControlBar.addChild(form);
addChildAt(appControlBar, 0);
dataGridColumn1 = new DataGridColumn("@name");
dataGridColumn1.headerText = "This is a column with a long title:";
dataGridColumn1.headerWordWrap = true;
dataGridColumn1.minWidth = 80;
dataGridColumn2 = new DataGridColumn("@price");
dataGridColumn2.headerText = "Price:";
dataGridColumn2.headerWordWrap = false;
dataGridColumn2.minWidth = 20;
dataGrid = new DataGrid();
dataGrid.rowCount = 5;
dataGrid.verticalScrollPolicy = ScrollPolicy.ON;
dataGrid.width = 300;
dataGrid.columns = [dataGridColumn1, dataGridColumn2];
addChild(dataGrid);
}
private function urlLoader_complete(evt:Event):void {
dataGrid.dataProvider = XML(evt.target.data).product;
}
private function comboBox_change(evt:ListEvent):void {
var value:String = comboBox.selectedItem.toString();
var styleName:String = "." + dataGrid.getStyle("headerStyleName");
var cssDecl:CSSStyleDeclaration;
cssDecl = StyleManager.getStyleDeclaration(styleName);
cssDecl.setStyle("textAlign", value);
}
]]>
</mx:Script>
</mx:Application>