Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache flex 动作脚本:如何以编程方式编写DataGrid?_Apache Flex_Actionscript 3_Datagrid - Fatal编程技术网

Apache flex 动作脚本:如何以编程方式编写DataGrid?

Apache flex 动作脚本:如何以编程方式编写DataGrid?,apache-flex,actionscript-3,datagrid,Apache Flex,Actionscript 3,Datagrid,我有这段代码,但我正在尝试将其转换为actionscript,所以我以编程方式呈现它,但失败了。我该如何将此写在AS上 <mx:DataGrid allowMultipleSelection="true" id="dg_disk" dataProvider="{people}" height="100%" width="100%" selectedIndex="0" x="50" y="50"> <mx:columns> <

我有这段代码,但我正在尝试将其转换为actionscript,所以我以编程方式呈现它,但失败了。我该如何将此写在AS上

<mx:DataGrid  allowMultipleSelection="true" id="dg_disk" dataProvider="{people}" height="100%" width="100%" selectedIndex="0" x="50" y="50">
        <mx:columns>
            <mx:DataGridColumn dataField="name"         id="empname"     headerText="EmpName"/>
            <mx:DataGridColumn dataField="title"     id="title" headerText="Title"/>
            <mx:DataGridColumn dataField="description"         id="desc"        headerText="Description"/>
           </mx:DataGridColumn>
        </mx:columns>

    </mx:DataGrid>
比如:

var empname:DataGridColumn = new DataGridColumn();
empname.dataField = "name";
empname.headerText="EmpName";

var title:DataGridColumn = new DataGridColumn();
…

var desc:DataGridColumn = new DataGridColumn();
…

var dg_disk:DataGrid = new DataGrid();
dg_disk.allowMultipleSelection = true;
dg_disk.percentWidth = 100;
dg_disk.percentHeight = 100;
dg_disk.x = 50;
dg_disk.y = 50;
dg_disk.columns = [empname, title, desc];
dg_disk.dataProvider = people;
dg_disk.selectedIndex = 0;

someContainer.addElement(dg_disk);

这将实现以下目的:

private function createDataGrid():void{
    var dg:DataGrid = new DataGrid(); // create your grid
    dg.id="dg_disk"
    dg.percentHeight = 100;
    dg.percentWidth=100;
    dg.x = 50;
    dg.y=50;
    dg.selectedIndex = 0; //set its properties

    dg.columns = createDgColumns(); // Add columns to your grid

    addChild(dg); // Add the grid to the display list
}

private function createDgColumns():Array{
    var columns:Array = [];

    var empColumn:DataGridColumn = new DataGridColumn();
    empColumn.dataField="name";
    empColumn.headerText="EmpName";

    var titleColumn:DataGridColumn = new DataGridColumn();
    titleColumn.dataField="title";
    titleColumn.headerText="Title";

    var descColumn:DataGridColumn = new DataGridColumn();
    descColumn.dataField="description";
    descColumn.headerText="Description";


    columns.push(empColumn);
    columns.push(titleColumn);
    columns.push(descColumn);

    return columns
}

这是我写的程序的一部分。mSessionLogDG是数据网格。在本例中,我们将动态列添加到现有列中

private function createColumns() : void {
            var _columnArray : Array = mSessionLogDG.columns;
            var _initialOffset : uint = _columnArray.length;
            // TODO
            if ( _initialOffset > CreateCommentNamesCommand.MAX_NO_COMMENTS ) return;

            this.mOffset = _initialOffset;

            var _headerLabel : String = '';
            for ( var i : uint = 0; i < CreateCommentNamesCommand.MAX_NO_COMMENTS; i++ )
            {
                var _dataColumn : DataGridColumn = new DataGridColumn();
                _dataColumn.headerText = this.createCommentNamesCommand.labelArray[i];
                _dataColumn.setStyle( "paddingLeft", "3" );
                _dataColumn.setStyle( "textAlign", "left" );
                _dataColumn.setStyle( "customID", i );
                _dataColumn.width = 160;
                _dataColumn.labelFunction = labelFunc;                                      
                _dataColumn.sortCompareFunction = SessionDescriptionXmlVo.mCommentCompareFunctionArray[i];
                _dataColumn.itemRenderer = new ClassFactory( SessionCommentItemRenderer );
                _dataColumn.visible = false;
                _dataColumn.minWidth = 160;
                _columnArray.push( _dataColumn );                   
                mColumnArray[i] = _dataColumn;
            }

            mSessionLogDG.columns = _columnArray;               
        }

哇!谢谢这个。。。它甚至将列添加到数组中。我需要这个
var dg_disk : DataGrid = new DataGrid();
dg_disk.allowMultipleSelection = true;
BindingUtils.bindProperty(this, "people", dg_disk, "dataProvider");
dg_disk.percentHeight = 100;
dg_disk.percentWidth = 100;
dg_disk.selectedIndex = 0;
dg_disk.x = 50;
dg_disk.y = 50;
var empname : DataGridColumn = new DataGridColumn();
empname.dataField = "name";
empname.headerText = "EmpName";
var title : DataGridColumn = new DataGridColumn();
title.dataField = "title";
title.headerText = "Title";
var desc : DataGridColumn = new DataGridColumn();
desc.dataField = "description";
desc.headerText = "Description";
dg_disk.columns = [empname, title, desc];
addChild(dg_disk);
private function createColumns() : void {
            var _columnArray : Array = mSessionLogDG.columns;
            var _initialOffset : uint = _columnArray.length;
            // TODO
            if ( _initialOffset > CreateCommentNamesCommand.MAX_NO_COMMENTS ) return;

            this.mOffset = _initialOffset;

            var _headerLabel : String = '';
            for ( var i : uint = 0; i < CreateCommentNamesCommand.MAX_NO_COMMENTS; i++ )
            {
                var _dataColumn : DataGridColumn = new DataGridColumn();
                _dataColumn.headerText = this.createCommentNamesCommand.labelArray[i];
                _dataColumn.setStyle( "paddingLeft", "3" );
                _dataColumn.setStyle( "textAlign", "left" );
                _dataColumn.setStyle( "customID", i );
                _dataColumn.width = 160;
                _dataColumn.labelFunction = labelFunc;                                      
                _dataColumn.sortCompareFunction = SessionDescriptionXmlVo.mCommentCompareFunctionArray[i];
                _dataColumn.itemRenderer = new ClassFactory( SessionCommentItemRenderer );
                _dataColumn.visible = false;
                _dataColumn.minWidth = 160;
                _columnArray.push( _dataColumn );                   
                mColumnArray[i] = _dataColumn;
            }

            mSessionLogDG.columns = _columnArray;               
        }