Как выровнять положение сетки данных, когда это динамические компоненты - PullRequest
0 голосов
/ 18 ноября 2011

Я генерирую компоненты динамически с помощью следующего кода:

var vbox:VBox = new VBox();
var btn:Button = new Button;
var hb:HBox = new HBox; 
var dg:DataGrid = new DataGrid();
var dc:DataGridColumn = new DataGridColumn();
var columns:Array = new Array(); 

columns.push(getColumn("one", "ONE")); 
columns.push(getColumn("two", "TWO")); 
columns.push(getColumn("three", "THREE"));
columns.push(getColumn("four", "FOUR"));
columns.push(getColumn("five", "FIVE "));

dg.columns = columns;
dg.dataProvider = temp;
vbox.percentWidth = 100;

vbox.percentHeight = 100;
vbox.addChild(dg)
accordion.addChild(vbox);

Я просто хочу знать, как выровнять сетку данных в центре внутри vbox. В моем приложении это показывает угол vbox. Как выровнять сетку данных в центре?

1 Ответ

0 голосов
/ 18 ноября 2011

Я бы предложил сначала создать холст, который будет охватывать ширину VBox, а затем поместить DataGrid в холст с горизонтальным центром, равным нулю.См. Следующий пример MXML:

<mx:VBox x="0" y="0" width="100%" height="100%">
    <mx:Canvas width="100%">
        <mx:DataGrid horizontalCenter="0">
            <mx:columns>
                <mx:DataGridColumn headerText="Column 1" dataField="col1"/>
                <mx:DataGridColumn headerText="Column 2" dataField="col2"/>
                <mx:DataGridColumn headerText="Column 3" dataField="col3"/>
            </mx:columns>
        </mx:DataGrid>
    </mx:Canvas>
</mx:VBox>

In actionscript

var vbox:VBox = new VBox();
var btn:Button = new Button;
var hb:HBox = new HBox; 
var dg:DataGrid = new DataGrid();
var dc:DataGridColumn = new DataGridColumn();
var columns:Array = new Array(); 

columns.push(getColumn("one", "ONE")); 
columns.push(getColumn("two", "TWO")); 
columns.push(getColumn("three", "THREE"));
columns.push(getColumn("four", "FOUR"));
columns.push(getColumn("five", "FIVE "));

dg.columns = columns;
dg.dataProvider = temp;

dg.setStyle("horizontalCenter", 0);

var cnv:Canvas = new Canvas();
cnv.percentWidth = 100;

cnv.addChild(dg);

vbox.percentWidth = 100;
vbox.percentHeight = 100;

vbox.addChild(cnv)

accordion.addChild(vbox);
...