fl.controls.dataGridClasses
public class DataGridColumn
继承DataGridColumn Inheritance Object

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

DataGridColumn 类描述了 DataGrid 组件中的列。 对于可以在屏幕上显示的每一列,甚至当前隐藏或未显示在屏幕范围内的列,都有一个 DataGridColumn 对象。 属于 DataGrid 组件的数据提供者项目可以包含未显示的属性;这些属性不需要 DataGridColumn。

可以指定显示 DataGridColumn 数据的组件的类型。 可以指定的特征包括出现在列标题中的文本以及是否可以对列进行编辑、排序或大小调整。

查看示例

另请参见

fl.controls.DataGrid



公共 属性
 属性定义方
  cellRenderer : Object
用于在此列中呈现项目的类。
DataGridColumn
 Inheritedconstructor : Object
对类对象或给定对象实例的构造函数的引用。
Object
  dataField : String
标识与列关联的数据提供者项目中的字段或属性的名称。
DataGridColumn
  editable : Boolean = true
指示是否可以编辑列中的项目。
DataGridColumn
  editorDataField : String = "text"
标识项目编辑器属性的名称,该属性包含列表项目的新数据。
DataGridColumn
  headerRenderer : Object
用于呈现此列的标题的类。
DataGridColumn
  headerText : String
要在列标题中显示的列名称。
DataGridColumn
  imeMode : String
输入法编辑器 (IME) 模式。
DataGridColumn
  itemEditor : Object = fl.controls.dataGridClasses.DataGridCellEditor
指示列可编辑时用于列的项目编辑器实例的类。
DataGridColumn
  labelFunction : Function
确定要在此列中显示的文本的函数。
DataGridColumn
  minWidth : Number
列的最小宽度,以像素为单位。
DataGridColumn
 Inheritedprototype : Object
[static] 对类或函数对象的原型对象的引用。
Object
  resizable : Boolean = true
指示是否允许用户更改列的宽度。
DataGridColumn
  sortable : Boolean = true
指示用户是否可以通过单击当前列的标题对数据提供者进行排序。
DataGridColumn
  sortCompareFunction : Function
对列中的数据进行排序时调用的回调函数。
DataGridColumn
  sortDescending : Boolean = false
指示是按升序还是降序对 DataGridColumn 进行排序。
DataGridColumn
  sortOptions : uint = 0
一个或多个定义的常量,通过名称或数字来标识并且通过按位 OR (|) 运算符分隔。
DataGridColumn
  visible : Boolean
指示列是否可见。
DataGridColumn
  width : Number
列的宽度(以像素为单位)。
DataGridColumn
公共 方法
 方法定义方
  
DataGridColumn(columnName:String = null)
创建新的 DataGridColumn 实例。
DataGridColumn
 Inherited
指示对象是否已经定义了指定的属性。
Object
 Inherited
指示 Object 类的实例是否在指定为参数的对象的原型链中。
Object
  
返回项目渲染器为给定数据对象显示的字符串。
DataGridColumn
 Inherited
指示指定的属性是否存在、是否可枚举。
Object
 Inherited
设置循环操作动态属性的可用性。
Object
  
返回 DataGridColumn 对象的字符串表示形式。
DataGridColumn
 Inherited
返回指定对象的原始值。
Object
属性详细信息
cellRenderer属性
cellRenderer:Object  [read-write]

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

用于在此列中呈现项目的类。 该属性的类型可以是 Class、Sprite 或 String。 如果属性类型为 String,则 String 值必须为完全限定类名。

默认值为 null.


实现
    public function get cellRenderer():Object
    public function set cellRenderer(value:Object):void

另请参见


示例
如何使用示例

下面的示例指定数据网格列的自定义单元格渲染器:

import fl.controls.dataGridClasses.DataGridColumn;

var dgc:DataGridColumn = new DataGridColumn("Field");
dgc.cellRenderer = "MyCustomCellRendererClass";
dg.addColumn(dgc);
dataField属性 
public var dataField:String

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

标识与列关联的数据提供者项目中的字段或属性的名称。

editable属性 
public var editable:Boolean = true

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

指示是否可以编辑列中的项目。 true 值指示可以编辑列项目;false 值指示无法编辑列项目。

如果该属性设置为 true,并且 DataGrid 的 editable 属性也为 true,则列中的项目是可编辑的,可以通过单击某个项目或使用 Tab 和箭头键导航到该项目来单独编辑该项目。

默认值为 true.

editorDataField属性 
public var editorDataField:String = "text"

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

标识项目编辑器属性的名称,该属性包含列表项目的新数据。

例如,默认的 itemEditor 为 TextInput,因此 editorDataField 属性的默认值为 "text"。 该值指定 TextInput 组件的 text 属性。

默认值为 "text".

headerRenderer属性 
headerRenderer:Object  [read-write]

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

用于呈现此列的标题的类。

该属性的类型可以是 Class、Sprite 或 String。 如果属性类型为 String,则 String 值必须为完全限定类名。

默认值为 null.


实现
    public function get headerRenderer():Object
    public function set headerRenderer(value:Object):void

另请参见

headerText属性 
headerText:String  [read-write]

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

要在列标题中显示的列名称。 默认情况下,DataGrid 组件将 dataField 属性值用作列名称。


实现
    public function get headerText():String
    public function set headerText(value:String):void

示例
如何使用示例

下例创建一个新数据网格并为每列指定标题文本:

import fl.controls.DataGrid;
import fl.controls.dataGridClasses.DataGridColumn;
import fl.data.DataProvider;

var dp:DataProvider = new DataProvider();
dp.addItem({name:"Person A", sales:13453});
dp.addItem({name:"Person B", sales:23432});
dp.addItem({name:"Person C", sales:9454});

var nameCol:DataGridColumn = new DataGridColumn("name");
nameCol.headerText = "Employee:";

var salesCol:DataGridColumn = new DataGridColumn("sales");
salesCol.headerText = "Sales:";
salesCol.labelFunction = currencyFormatter;
salesCol.sortOptions = Array.NUMERIC;

var myDataGrid:DataGrid = new DataGrid();
myDataGrid.addColumn(nameCol);
myDataGrid.addColumn(salesCol);
myDataGrid.dataProvider = dp;
myDataGrid.move(10, 10);
myDataGrid.setSize(320, 240);
addChild(myDataGrid);

function currencyFormatter(item:Object):String {
    return "$" + item.sales.toFixed(0);
}
imeMode属性 
imeMode:String  [read-write]

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

输入法编辑器 (IME) 模式。 IME 使用户能够用中文、日文和韩文输入文本。 flash.system.IMEConversionMode 类定义一些常量,这些常量将用作该属性的有效值。

如果该属性为 null,则 IME 的模式将设置为 DataGrid 组件的 imeMode 属性值。

默认值为 null.


实现
    public function get imeMode():String
    public function set imeMode(value:String):void

另请参见

itemEditor属性 
public var itemEditor:Object = fl.controls.dataGridClasses.DataGridCellEditor

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

指示列可编辑时用于列的项目编辑器实例的类。 该属性的类型可以是 Class、Sprite 或 String。 如果属性类型为 String,则 String 值必须为完全限定类名。

默认值为 "fl.controls.dataGridClasses.DataGridCellEditor".


示例
如何使用示例

下例为一个数据网格列指定一个自定义项目编辑器:

import fl.controls.dataGridClasses.DataGridColumn;

var dgc:DataGridColumn = new DataGridColumn("Field");
dgc.itemEditor = "MyCustomItemEditorClass";
dg.addColumn(dgc);
labelFunction属性 
labelFunction:Function  [read-write]

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

确定要在此列中显示的文本的函数。 默认情况下,列显示与列名称匹配的数据字段的文本。 不过,列也可以用来显示多个数据字段的文本,或者用来显示格式不正确的内容。 可以通过使用 labelFunction 属性指定回调函数来实现此操作。

如果同时定义了 labelFunctionlabelField 属性,则 labelFunction 优先。

默认值为 null.


实现
    public function get labelFunction():Function
    public function set labelFunction(value:Function):void

示例
如何使用示例

下例创建一个数据网格,并为其中一个数据网格列定义自定义标签函数:

import fl.controls.DataGrid;
import fl.controls.ScrollPolicy;
import fl.controls.dataGridClasses.DataGridColumn;
import fl.data.DataProvider;

var i:uint;
var totalRows:uint = 16;
var dp:DataProvider = new DataProvider();
for (i = 0; i < totalRows; i++) {
    dp.addItem({col1:getRandomNumber(), col2:getRandomNumber(), col3:getRandomNumber(), col4:getRandomNumber()});
}

var c1:DataGridColumn = new DataGridColumn("col1");
c1.sortOptions = Array.NUMERIC;
var c2:DataGridColumn = new DataGridColumn("col2");
c2.sortOptions = Array.NUMERIC;
var c3:DataGridColumn = new DataGridColumn("col3");
c3.sortOptions = Array.NUMERIC;
c3.labelFunction = currencyFormatter;

var dg:DataGrid = new DataGrid();
dg.setSize(200, 300);
dg.addColumn(c1);
dg.addColumn(c2);
dg.addColumn(c3);
dg.dataProvider = dp;
addChild(dg);

function getRandomNumber():Number {
    return Math.random() * 100;
}

function currencyFormatter(data:Object):String {
    var value:Number = Number(data.col3);
    return "$" + value.toFixed(2);
}

下例创建一个新的 DataGridColumn 对象,并同时指定 labelFunctionsortCompareFunction
import fl.controls.DataGrid;
import fl.controls.dataGridClasses.DataGridColumn;
import fl.data.DataProvider;

var data:XML = <data>
        <item name="Employee A" isManager="1" />
        <item name="Employee B" isManager="0" />
        <item name="Employee C" isManager="1" />
    </data>;

var dp:DataProvider = new DataProvider(data);

var nameDGC:DataGridColumn = new DataGridColumn("name");
nameDGC.sortCompareFunction = isManager;
nameDGC.labelFunction = nameLabelFunction;

var myDataGrid:DataGrid = new DataGrid()
myDataGrid.addColumn(nameDGC);
myDataGrid.dataProvider = dp;
myDataGrid.width = 200;
myDataGrid.rowCount = myDataGrid.length;
myDataGrid.move(10, 10);
addChild(myDataGrid);

function nameLabelFunction(item:Object):String {
    var managerString:String = "";
    if (item.isManager == "1") {
        managerString = " (Manager)";
    }
    return item.name + managerString;
}

function isManager(itemA:Object, itemB:Object):int {
    if (itemA.isManager > itemB.isManager) {
        return -1;
    } else if (itemA.isManager < itemB.isManager) {
        return 1;
    } else {
        return 0;
    }
}
minWidth属性 
minWidth:Number  [read-write]

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

列的最小宽度,以像素为单位。

默认值为 20.


实现
    public function get minWidth():Number
    public function set minWidth(value:Number):void

另请参见


示例
如何使用示例

下例在数据网格中任意列的宽度更改时显示每列的宽度:

import fl.controls.DataGrid;
import fl.controls.dataGridClasses.DataGridColumn;
import fl.data.DataProvider;
import fl.events.DataGridEvent;

var data:XML = <data>
        <row col1="item 1.A" col2="item 1.B" col3="item 1.C" />
        <row col1="item 2.A" col2="item 2.B" col3="item 2.C" />
        <row col1="item 3.A" col2="item 3.B" col3="item 3.C" />
    </data>;
    
var dp:DataProvider = new DataProvider(data);

var c1:DataGridColumn = new DataGridColumn("col1");
c1.minWidth = 100;
var c2:DataGridColumn = new DataGridColumn("col2");
var c3:DataGridColumn = new DataGridColumn("col3");

var myDataGrid:DataGrid = new DataGrid();
myDataGrid.addColumn(c1);
myDataGrid.addColumn(c2);
myDataGrid.addColumn(c3);
myDataGrid.dataProvider = dp;
myDataGrid.move(10, 10);
myDataGrid.setSize(300, 200);
myDataGrid.addEventListener(DataGridEvent.COLUMN_STRETCH, columnStretchHandler);
addChild(myDataGrid);

function columnStretchHandler(event:DataGridEvent):void {
    var column:DataGridColumn;
    for each (column in myDataGrid.columns) {
        trace(column.dataField, "width:" + column.width, "minWidth:" + column.minWidth);
    }
    trace("---");
}
resizable属性 
public var resizable:Boolean = true

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

指示是否允许用户更改列的宽度。 true 值指示用户可以更改列宽;false 值指示用户无法更改列宽。

默认值为 true.

sortable属性 
public var sortable:Boolean = true

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

指示用户是否可以通过单击当前列的标题对数据提供者进行排序。 true 值指示可以通过单击列标题对列进行排序;false 值指示无法通过单击列标题对列进行排序。

默认值为 true.


示例
如何使用示例

下例创建带有一个不可排序列的新数据网格:

import fl.controls.DataGrid;
import fl.controls.dataGridClasses.DataGridColumn;
import fl.data.DataProvider;
import fl.events.DataGridEvent;

var data:XML = <dataProvider>
        <data col1="Person A" col2="11.383" />
        <data col1="Person B" col2="3.399" />
        <data col1="Person C" col2="25.624" />
    </dataProvider>

var dp:DataProvider = new DataProvider(data);

var c1:DataGridColumn = new DataGridColumn("col1");
var c2:DataGridColumn = new DataGridColumn("col2");
c2.sortable = false;

var myDataGrid:DataGrid = new DataGrid();
myDataGrid.addColumn(c1);
myDataGrid.addColumn(c2);
myDataGrid.dataProvider = dp;
myDataGrid.move(10, 10);
myDataGrid.setSize(160, 120);
addChild(myDataGrid);

下例通过将数据网格列的 sortable 属性设置为 false 来创建带有一个不可排序列的 DataGrid:

import fl.controls.DataGrid;
import fl.controls.dataGridClasses.DataGridColumn;
import fl.data.DataProvider;
import fl.events.DataGridEvent;

var xmlDP:XML = <items>
        <item name="Person 1" bio="Person 1 bio" />    
        <item name="Person 2" bio="Person 2 bio" />
    </items>;

var dp:DataProvider = new DataProvider(xmlDP);

var nameCol:DataGridColumn = new DataGridColumn("name");
nameCol.headerText = "Name:";

var bioCol:DataGridColumn = new DataGridColumn("bio");
bioCol.headerText = "Bio:";
bioCol.sortable = false;

var myDataGrid:DataGrid = new DataGrid();
myDataGrid.addColumn(nameCol);
myDataGrid.addColumn(bioCol);
myDataGrid.dataProvider = dp;
myDataGrid.rowCount = dp.length;
myDataGrid.width = 200;
myDataGrid.move(10, 10);
myDataGrid.addEventListener(DataGridEvent.HEADER_RELEASE, headerReleaseHandler);
addChild(myDataGrid);

function headerReleaseHandler(event:DataGridEvent):void {
    var myDG:DataGrid = event.currentTarget as DataGrid;
    trace("dataField:" + event.dataField);
    trace("columnIndex:" + event.columnIndex);
    trace("{DataGrid}.sortDescending:" + myDG.sortDescending);
    trace("{DataGridColumn}.sortDescending:" + myDG.getColumnAt(event.columnIndex).sortDescending);
    trace("");
}
sortCompareFunction属性 
sortCompareFunction:Function  [read-write]

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

对列中的数据进行排序时调用的回调函数。 如果未指定该属性,则按字符串或数字对数据进行排序,具体取决于 sortOptions 属性。 如果指定了,则 sortCompareFunction 属性允许您为当前数据网格列创建您自己的自定义排序方法。

默认值为 null.


实现
    public function get sortCompareFunction():Function
    public function set sortCompareFunction(value:Function):void

另请参见


示例
如何使用示例

下例创建一个新的 DataGridColumn 对象,并同时指定 labelFunctionsortCompareFunction
import fl.controls.DataGrid;
import fl.controls.dataGridClasses.DataGridColumn;
import fl.data.DataProvider;

var data:XML = <data>
        <item name="Employee A" isManager="1" />
        <item name="Employee B" isManager="0" />
        <item name="Employee C" isManager="1" />
    </data>;

var dp:DataProvider = new DataProvider(data);

var nameDGC:DataGridColumn = new DataGridColumn("name");
nameDGC.sortCompareFunction = isManager;
nameDGC.labelFunction = nameLabelFunction;

var myDataGrid:DataGrid = new DataGrid()
myDataGrid.addColumn(nameDGC);
myDataGrid.dataProvider = dp;
myDataGrid.width = 200;
myDataGrid.rowCount = myDataGrid.length;
myDataGrid.move(10, 10);
addChild(myDataGrid);

function nameLabelFunction(item:Object):String {
    var managerString:String = "";
    if (item.isManager == "1") {
        managerString = " (Manager)";
    }
    return item.name + managerString;
}

function isManager(itemA:Object, itemB:Object):int {
    if (itemA.isManager > itemB.isManager) {
        return -1;
    } else if (itemA.isManager < itemB.isManager) {
        return 1;
    } else {
        return 0;
    }
}
sortDescending属性 
public var sortDescending:Boolean = false

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

指示是按升序还是降序对 DataGridColumn 进行排序。 true 值指示按降序对 DataGridColumn 进行排序;false 值指示按升序对 DataGridColum 进行排序。

默认值为 false.

sortOptions属性 
public var sortOptions:uint = 0

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

一个或多个定义的常量,通过名称或数字来标识并且通过按位 OR (|) 运算符分隔。 这些常量用于指定排序操作。

默认值为 0.

另请参见


示例
如何使用示例

下例使用 sortOptions 属性来指定应该按数字顺序对数据网格列进行排序:

import fl.data.DataProvider;
import fl.controls.dataGridClasses.DataGridColumn;

var data:XML = <players>
        <player name="Player 1" score="1234" />
        <player name="Player 2" score="198" />
        <player name="Player 3" score="987" />
    </players>;

var dp:DataProvider = new DataProvider(data);

var nameDGC:DataGridColumn = new DataGridColumn("name");
var scoreDGC:DataGridColumn = new DataGridColumn("score");
scoreDGC.sortOptions = Array.NUMERIC;

dg.addColumn(nameDGC);
dg.addColumn(scoreDGC);
dg.dataProvider = dp;
visible属性 
visible:Boolean  [read-write]

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

指示列是否可见。 true 值指示列可见;false 值指示列不可见。

默认值为 true.


实现
    public function get visible():Boolean
    public function set visible(value:Boolean):void

示例
如何使用示例

下例创建一个带有两个列的 DataGrid 组件实例。 您可以通过单击舞台上相应的 Button 实例切换每一列的 visible 属性。

import fl.controls.Button;
import fl.controls.DataGrid;
import fl.controls.dataGridClasses.DataGridColumn;
import fl.data.DataProvider;

var dp:DataProvider = new DataProvider();
dp.addItem({name:"Person A", average:0.297});
dp.addItem({name:"Person B", average:0.288});
dp.addItem({name:"Person C", average:0.310});

var nameCol:DataGridColumn = new DataGridColumn("name");
nameCol.headerText = "Name:";

var averageCol:DataGridColumn = new DataGridColumn("average");
averageCol.headerText = "Average:";
averageCol.labelFunction = numberFormatter;
averageCol.sortOptions = Array.NUMERIC;
averageCol.visible = false;

var myDataGrid:DataGrid = new DataGrid();
myDataGrid.addColumn(nameCol);
myDataGrid.addColumn(averageCol);
myDataGrid.dataProvider = dp;
myDataGrid.rowCount = dp.length;
myDataGrid.width = 320;
myDataGrid.move(10, 10);
addChild(myDataGrid);

var nameButton:Button = new Button();
nameButton.label = "Toggle name";
nameButton.toggle = true;
nameButton.selected = nameCol.visible;
nameButton.move(myDataGrid.x, myDataGrid.y + myDataGrid.height + 10);
nameButton.addEventListener(Event.CHANGE, changeHandler);
addChild(nameButton);

var averageButton:Button = new Button();
averageButton.label = "Toggle average";
averageButton.toggle = true;
averageButton.selected = averageCol.visible;
averageButton.move(nameButton.x + nameButton.width + 10, nameButton.y);
averageButton.addEventListener(Event.CHANGE, changeHandler);
addChild(averageButton);

function numberFormatter(item:Object):String {
    return Number(item.average).toFixed(3);
}

function changeHandler(event:Event):void {
    var colIndex:int = -2;
    var col:DataGridColumn;
    switch (event.currentTarget) {
        case nameButton:
            colIndex = myDataGrid.getColumnIndex("name");
            break;
        case averageButton:
            colIndex = myDataGrid.getColumnIndex("average");
            break;
        default:
            return;
    }
    
    if (colIndex > -1) {
        col = myDataGrid.getColumnAt(colIndex);
        col.visible = !col.visible;
        myDataGrid.removeColumnAt(colIndex);
        myDataGrid.addColumnAt(col, colIndex);
    }
    myDataGrid.spaceColumnsEqually();
}
width属性 
width:Number  [read-write]

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

列的宽度(以像素为单位)。

默认值为 100.


实现
    public function get width():Number
    public function set width(value:Number):void

另请参见

构造函数详细信息
DataGridColumn()构造函数
public function DataGridColumn(columnName:String = null)

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

创建新的 DataGridColumn 实例。

参数
columnName:String (default = null) — 要在列标题中显示的列名称。 如果未指定名称,则使用 dataField 值。

另请参见

方法详细信息
itemToLabel()方法
public function itemToLabel(data:Object):String

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

返回项目渲染器为给定数据对象显示的字符串。 如果 DataGridColumn 或者它的 DataGrid 组件具有一个非空的 labelFunction 属性,则会将该函数应用于数据对象。 否则,此方法会提取 dataField 属性指定的字段的内容,或者获取数据对象的字符串值。 如果该方法无法将参数转换为字符串,则会返回一个空格。

参数

data:Object — 要呈现的对象。

返回
String — 可显示的字符串基于指定的 data 对象。
toString()方法 
public function toString():String

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

返回 DataGridColumn 对象的字符串表示形式。

返回
String — “[DataGridColumn 对象]”
示例 如何使用示例

此示例演示如何以编程方式处理 DataGrid 的列。

若要运行该示例,请按照下列步骤操作:

  1. 将 DataGrid 和 Button 组件添加到库中。
  2. 将该代码作为 DataGridColumnExample.as 另存到 FLA 文件所在的同一目录中。
  3. 将 FLA 文件中的 Document 类设置为 DataGridColumnExample。
package
{
    import fl.controls.Button;
    import fl.controls.DataGrid;
    import fl.controls.dataGridClasses.DataGridColumn;
    import fl.data.DataProvider;
    import fl.events.DataChangeEvent;
    import flash.display.Sprite;
    import flash.events.MouseEvent;
    
    public class DataGridColumnExample extends Sprite
    {
        private var dg:DataGrid;
        private var dp:DataProvider;
        private var names:Array = [ "Mary", "Bob", "Sue", "Joe" ];
        
        
        public function DataGridColumnExample() {
            dp = new DataProvider();
            dp.addEventListener(DataChangeEvent.DATA_CHANGE,dataChanged);
        
            dg = new DataGrid();
            addChild(dg);
            dg.move(10,45);
            dg.setSize(450,300);
            dg.addColumn(new DataGridColumn("name"));
            dg.addColumn(new DataGridColumn("phone"));
            dg.addColumn(new DataGridColumn("email"));

            var firstColumn = dg.columns[0];
            firstColumn.resizable = false;
            var secondColumn = dg.columns[1];
            secondColumn.sortable = false;
            var thirdColumn = dg.columns[2];
            thirdColumn.sortable = false;
            
            var addContactBtn:Button = new Button();
            addContactBtn.label = "Add Contact";
            addContactBtn.move(10,10);
            addContactBtn.addEventListener(MouseEvent.CLICK, addContact);
            addChild(addContactBtn);            
        }
        
        private function getRandomPhone():String {
            return randomDigit()+randomDigit()+randomDigit()+"-"+randomDigit()+randomDigit()+randomDigit()+"-"+randomDigit()+randomDigit()+randomDigit()+randomDigit();    
        }
        private function randomDigit():String {
            return String(Math.round(Math.random()*10)%10);    
        }
        private function getRandomName():String {
            return names[Math.round(Math.random()*names.length)%names.length];    
        }
        private function addContact(e:MouseEvent):void {
            var randomName:String = getRandomName()
            dp.addItem( { name: randomName, phone: getRandomPhone(), email: randomName + "@fictitious.com" } );
        }
        private function dataChanged(e:DataChangeEvent):void {
            var changedItems:Array = e.items;
            dg.addItem(changedItems[0]);
        }
    }
}




 

评论添加到页面后给我发送电子邮件 | 评论报告

当前页: http://livedocs.adobe.com/flash/9.0_cn/ActionScriptLangRefV3/fl/controls/dataGridClasses/DataGridColumn.html