Actionscript 3 使用AdvancedDatagrid动态创建表

Actionscript 3 使用AdvancedDatagrid动态创建表,actionscript-3,apache-flex,flex4,Actionscript 3,Apache Flex,Flex4,表的行数和列数取自用户,以便在一个标题窗口中创建表。 输入后,我打开了另一个由表组成的窗口(AdvancedDatagrid),若生成的表超过了窗口的宽度和高度,表就会从窗口中出来。 如何将桌子放在标题窗口内 <?xml version="1.0" encoding="utf-8"?> <s:TitleWindow xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe

表的行数和列数取自用户,以便在一个标题窗口中创建表。 输入后,我打开了另一个由表组成的窗口(AdvancedDatagrid),若生成的表超过了窗口的宽度和高度,表就会从窗口中出来。 如何将桌子放在标题窗口内

    <?xml version="1.0" encoding="utf-8"?>
<s:TitleWindow xmlns:fx="http://ns.adobe.com/mxml/2009" 
         xmlns:s="library://ns.adobe.com/flex/spark" 
         xmlns:mx="library://ns.adobe.com/flex/mx" 
         title="Table Details"
         initialize="tableDetailsWindow_initializeHandler(event)"
         chromeColor="#5C809B" color="#D8E0E5"
         creationComplete="tableDetailsWindow_creationCompleteHandler(event)" 
         width="506">
    <fx:Script>
        <![CDATA[
            import mx.collections.ArrayCollection;
            import mx.controls.Alert;
            import mx.controls.advancedDataGridClasses.AdvancedDataGridColumn;
            import mx.core.FlexGlobals;
            import mx.events.CloseEvent;
            import mx.events.FlexEvent;
            import mx.managers.PopUpManager;

            import spark.components.TextInput;
            import spark.components.TileGroup;

            [Bindable]
            public var columnNameGroup :TileGroup;

            [Bindable]
            public var columnCount:Number;

            [Bindable]
            public var rowCount:Number;

            var rowCollection : ArrayCollection = new ArrayCollection();
            var columnNames :ArrayCollection = new ArrayCollection();

                        protected function tableDetailsWindow_initializeHandler(event:FlexEvent):void
            {
                dataGrid.rowCount= Number(FlexGlobals.topLevelApplication.insertTableConfigWindow.rowCount.text)+1;
            }


            protected function tableDetailsWindow_creationCompleteHandler(event:FlexEvent):void
            {
                columnNameGroup = FlexGlobals.topLevelApplication.insertTableConfigWindow.tileGroupOfColsInfo;
                columnCount = Number(FlexGlobals.topLevelApplication.insertTableConfigWindow.columnCount.text);
                rowCount = Number(FlexGlobals.topLevelApplication.insertTableConfigWindow.rowCount.text);

                                //Creation of Column Name collection 
                for(var i:Number= 0; i< columnCount; i++ ){
                    var textInputId :String  ="textInput"+ (i+1);
                    var textInput :TextInput = columnNameGroup.getChildByName(textInputId) as TextInput;
                    columnNames.addItem(textInput.text);
                }

                                //Creation of Rows collection 
                for(var j:Number= 0; j< rowCount; j++ ){
                    var obj:Object = new Object();
                    for each(var colName : * in columnNames){
                        obj.colName ="";
                    }
                    rowCollection.addItem(obj);
                }

                dataGrid.dataProvider = rowCollection;

                var columns:Array = dataGrid.columns;

                for(var k:Number= 0; k< columnNames.length; k++ ){

                    var adgColumn:AdvancedDataGridColumn = new AdvancedDataGridColumn();
                    adgColumn.dataField = columnNames.getItemAt(k) as String;
                    adgColumn.editable = true;

                    columns.push(adgColumn);
                }
                dataGrid.columns = columns;
            }


        ]]>
    </fx:Script>

    <mx:AdvancedDataGrid id="dataGrid"  
    editable="true" verticalScrollPolicy="off"
    sortableColumns="false"
    x="0" y="0" />



</s:TitleWindow>

您是否尝试设置AdvancedDataGrid的宽度

<mx:AdvancedDataGrid id="dataGrid"  
    width="506" <=== Set the width here
    editable="true" verticalScrollPolicy="off"
    sortableColumns="false"
    x="0" y="0" />

你能发布你的
标题吗?