パッケージfl.controls.dataGridClasses
クラスpublic class DataGridColumn
継承DataGridColumn Inheritance Object

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9.0.28.0

DataGridColumn クラスは、DataGrid コンポーネント内の列を記述します。列が非表示になっている場合、または列が画面外にある場合でも、表示可能な各列に 1 つの 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
[静的] クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。
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  [読み書き可能]

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 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
ランタイムバージョン: AIR 1.0 Flash Player 9.0.28.0

列に関連付けられているデータプロバイダアイテム内のフィールドまたはプロパティの名前です。

editableプロパティ 
public var editable:Boolean = true

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9.0.28.0

列内のアイテムが編集可能かどうかを示します。この値を true に設定すると、列内のアイテムが編集可能になり、false に設定すると、編集不能になります。

このプロパティが true で、DataGrid の editable プロパティも true であれば、列内のアイテムは編集可能です。アイテムをクリックするか、Tab キーや矢印キーを使ってアイテムに移動することにより、そのアイテムを個別に編集できます。

デフォルト値 : true.

editorDataFieldプロパティ 
public var editorDataField:String = "text"

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9.0.28.0

リストアイテムの新しいデータを格納するアイテムエディタのプロパティの名前です。

例えば、デフォルトの itemEditor は TextInput であるため、editorDataField プロパティのデフォルト値は "text" となります。 この値は TextInput コンポーネントの text プロパティを指定します。

デフォルト値 : "text".

headerRendererプロパティ 
headerRenderer:Object  [読み書き可能]

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 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  [読み書き可能]

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 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  [読み書き可能]

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 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
ランタイムバージョン: AIR 1.0 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  [読み書き可能]

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9.0.28.0

この列に表示するテキストを決定する関数です。特に指定しない限り、データフィールドのテキストのうち、列名と一致するテキストが列に表示されます。ただし、1 つの列に複数のデータフィールドを表示することや、規定外の形式のコンテンツを表示することもできます。これは、labelFunction プロパティでコールバック関数を指定することによって行えます。

labelFunctionlabelField の両方のプロパティが定義されている場合、labelFunction が優先されます。

デフォルト値 : null.



実装
    public function get labelFunction():Function
    public function set labelFunction(value:Function):void


次の例では、データグリッドを作成し、データグリッド列の 1 つにカスタム label 関数を定義します。
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  [読み書き可能]

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 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
ランタイムバージョン: AIR 1.0 Flash Player 9.0.28.0

この列の幅をユーザーが変更できるかどうかを示します。この値を true に設定すると、ユーザーは列の幅を変更できるようになり、false に設定すると、ユーザーは列の幅を変更できなくなります。

デフォルト値 : true.

sortableプロパティ 
public var sortable:Boolean = true

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 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 に設定して、1 つのソートできない列を持つ 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  [読み書き可能]

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 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
ランタイムバージョン: AIR 1.0 Flash Player 9.0.28.0

DataGridColumn を昇順にソートするか降順にソートするかを示します。この値を true に設定すると、DataGridColumn は降順にソートされ、false に設定すると、DataGridColum は昇順にソートされます。

デフォルト値 : false.

sortOptionsプロパティ 
public var sortOptions:uint = 0

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 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  [読み書き可能]

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9.0.28.0

列の表示 / 非表示を指定します。この値を true に設定すると、列が表示されるようになり、false に設定すると、列が非表示になります。

デフォルト値 : true.



実装
    public function get visible():Boolean
    public function set visible(value:Boolean):void


次の例では、2 つの列を持つ 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  [読み書き可能]

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 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
ランタイムバージョン: AIR 1.0 Flash Player 9.0.28.0

DataGridColumn の新しいインスタンスを作成します。

パラメータ
columnName:String (default = null) — 列ヘッダーに表示する列名です。名前を指定しなかった場合、dataField の値が使用されます。

関連項目

メソッドの詳細
itemToLabel()メソッド
public function itemToLabel(data:Object):String

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9.0.28.0

指定されたデータオブジェクトからアイテムレンダラーが表示するストリングを返します。DataGridColumn またはその DataGrid コンポーネントの labelFunction プロパティが null 値ではない場合、そのデータオブジェクトに関数を適用します。そうでない場合、このメソッドは dataField プロパティで指定されたフィールドの内容を抽出するか、データオブジェクトのストリング値を取得します。このメソッドは、パラメータをストリングに変換できない場合にスペースを 1 つ返します。

パラメータ

data:Object — レンダリングされるオブジェクトです。

戻り値
String — 指定された data オブジェクトに基づく表示可能なストリングです。
toString()メソッド 
public function toString():String

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9.0.28.0

DataGridColumn オブジェクトのストリング表現を返します。

戻り値
String — "[オブジェクト DataGridColumn]"
例の使用法
DataGridColumnExample.as

この例では、DataGrid の列をプログラムから操作する方法を示します。
  1. DataGrid および Button コンポーネントをライブラリに追加します。
  2. このコードを FLA と同じディレクトリに DataGridColumnExample.as という名前で保存します。
  3. FLA 内の DocumentClass を DataGridColumnExample に設定します。
package
{
    import flash.display.Sprite;
    import flash.events.MouseEvent;
    import fl.data.DataProvider;
    import fl.events.DataChangeEvent;
    import fl.controls.DataGrid;
    import fl.controls.Button;
    import fl.controls.dataGridClasses.DataGridColumn;
    
    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]);
        }
    }
}