Paketfl.controls.dataGridClasses
Klassepublic class DataGridColumn
VererbungDataGridColumn Inheritance Object

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9.0.28.0

Die DataGridColumn-Klasse beschreibt eine Spalte in einer DataGrid-Komponente. Für jede Spalten könnte ein DataGridColumn-Objekt auf dem Bildschirm angezeigt werden, sogar für momentan ausgeblendete Spalten. Die Datenprovider-Elemente, die zu einer DataGrid-Komponente gehören, können Eigenschaften enthalten, die nicht angezeigt werden; derartige Eigenschaften erfordern kein DataGridColumn-Objekt.

Sie können die Art der Komponente festlegen, die die Daten für ein DataGridColumn-Objekt anzeigt. Merkmale, die festgelegt werden können, umfassen den Text, der im Spalten-Header angezeigt wird, und ob die Spalte bearbeitet, sortiert, vergrößert oder verkleinert werden kann.

Beispiele anzeigen

Siehe auch

fl.controls.DataGrid


Öffentliche Eigenschaften
 EigenschaftDefiniert von
  cellRenderer : Object
Die zur Darstellung der Elemente in dieser Spalte verwendete Klasse.
DataGridColumn
 Inheritedconstructor : Object
Ein Verweis auf das Klassenobjekt oder die Konstruktorfunktion für eine angegebene Objektinstanz.
Object
  dataField : String
Gibt den Namen des Feldes bzw. der Eigenschaft im Datenprovider-Element an, das bzw. die mit der Spalte verknüpft ist.
DataGridColumn
  editable : Boolean = true
Gibt an, ob Elemente in dieser Spalte bearbeitet werden können.
DataGridColumn
  editorDataField : String = "text"
Identifiziert den Namen der Element-Editoreigenschaft, die die neuen Daten für das Listenelement enthält.
DataGridColumn
  headerRenderer : Object
Die zur Darstellung der Spaltenüberschrift verwendete Klasse.
DataGridColumn
  headerText : String
Der Spaltenname, der im Spalten-Header angezeigt werden soll.
DataGridColumn
  imeMode : String
Der Modus des Eingabemethoden-Editors.
DataGridColumn
  itemEditor : Object = fl.controls.dataGridClasses.DataGridCellEditor
Gibt die Klasse der Element-Editorinstanzen an, die für die Spalten verwendet wird, wenn diese bearbeitbar sind.
DataGridColumn
  labelFunction : Function
Eine Funktion, die den in dieser Spalte anzuzeigenden Text bestimmt.
DataGridColumn
  minWidth : Number
Die minimale Breite der Spalte in Pixel.
DataGridColumn
 Inheritedprototype : Object
[static] Ein Verweis auf das Prototypobjekt einer Klasse oder eines Funktionsobjekts.
Object
  resizable : Boolean = true
Gibt an, ob der Benutzer die Breite der Spalte ändern darf.
DataGridColumn
  sortable : Boolean = true
Gibt an, ob der Datenprovider durch Klicken auf die Überschrift der aktuellen Spalte sortiert werden kann.
DataGridColumn
  sortCompareFunction : Function
Eine Rückruffunktion, die beim Sortieren der Daten in der Spalte aufgerufen wird.
DataGridColumn
  sortDescending : Boolean = false
Gibt an, ob das DataGridColumn-Objekt in aufsteigender oder absteigender Reihenfolge sortiert wird.
DataGridColumn
  sortOptions : uint = 0
Eine oder mehrere definiert Konstanten, die durch Name oder Nummer identifiziert und durch den Operator "bitwise OR (|)" voneinander getrennt werden.
DataGridColumn
  visible : Boolean
Gibt an, ob die Spalte eingeblendet ist.
DataGridColumn
  width : Number
Die Breite der Spalte in Pixel.
DataGridColumn
Öffentliche Methoden
 MethodeDefiniert von
  
DataGridColumn(columnName:String = null)
Erstellt eine neue DataGridColumn-Instanz.
DataGridColumn
 Inherited
Gibt an, ob für ein Objekt eine bestimmte Eigenschaft definiert wurde.
Object
 Inherited
Gibt an, ob eine Instanz der Object-Klasse in der Prototypkette des Objekts vorhanden ist, das als Parameter angegeben wurde.
Object
  
Gibt den String zurück, der vom Element-Renderer für das Datenobjekt angezeigt wird.
DataGridColumn
 Inherited
Gibt an, ob die angegebene Eigenschaft vorhanden ist und durchlaufen werden kann.
Object
 Inherited
Legt die Verfügbarkeit einer dynamischen Eigenschaft für Schleifenoperationen fest.
Object
  
Gibt das DataGridColumn-Objekt als String zurück.
DataGridColumn
 Inherited
Gibt den Grundwert des angegebenen Objekts zurück.
Object
Eigenschaftsdetail
cellRendererEigenschaft
cellRenderer:Object  [read-write]

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9.0.28.0

Die zur Darstellung der Elemente in dieser Spalte verwendete Klasse. Der Datentyp dieser Eigenschaft kann "Class", "Sprite" oder "String" lauten. Wenn der Eigenschaftstyp "String" lautet, muss der Stringwert ein vollständig qualifizierter Klassenname sein.

Der Standardwert lautet null.


Implementierung
    public function get cellRenderer():Object
    public function set cellRenderer(value:Object):void

Siehe auch


Beispiel

Im folgenden Beispiel wird ein individueller CellRenderer für eine Datenrasterspalte angegeben:

import fl.controls.dataGridClasses.DataGridColumn;

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

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9.0.28.0

Gibt den Namen des Feldes bzw. der Eigenschaft im Datenprovider-Element an, das bzw. die mit der Spalte verknüpft ist.

editableEigenschaft 
public var editable:Boolean = true

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9.0.28.0

Gibt an, ob Elemente in dieser Spalte bearbeitet werden können. Der Wert true gibt an, dass die Spaltenelemente bearbeitet werden können, der Wert false, dass sie nicht bearbeitet werden können.

Wenn der Wert true ist und die editable-Eigenschaft des Datenrasters ebenfalls true ist, dürfen die Elemente in der Spalte bearbeitet werden. Durch Anklicken oder Ansteuern mit der Tabulatortaste und den Pfeiltasten können einzelne Elemente bearbeitet werden.

Der Standardwert lautet true.

editorDataFieldEigenschaft 
public var editorDataField:String = "text"

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9.0.28.0

Identifiziert den Namen der Element-Editoreigenschaft, die die neuen Daten für das Listenelement enthält.

Beispielsweise lautet der Standard-itemEditor TextInput, somit ist der Standardwert der editorDataField-Eigenschaft "text". Dieser Wert gibt die text-Eigenschaft der TextInput-Komponente an.

Der Standardwert lautet "text".

headerRendererEigenschaft 
headerRenderer:Object  [read-write]

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9.0.28.0

Die zur Darstellung der Spaltenüberschrift verwendete Klasse.

Der Datentyp dieser Eigenschaft kann "Class", "Sprite" oder "String" lauten. Wenn der Eigenschaftstyp "String" lautet, muss der Stringwert ein vollständig qualifizierter Klassenname sein.

Der Standardwert lautet null.


Implementierung
    public function get headerRenderer():Object
    public function set headerRenderer(value:Object):void

Siehe auch

headerTextEigenschaft 
headerText:String  [read-write]

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9.0.28.0

Der Spaltenname, der im Spalten-Header angezeigt werden soll. Standardmäßig verwendet die DataGrid-Komponente die Eigenschaft des dataField-Wertes als Spaltennamen.


Implementierung
    public function get headerText():String
    public function set headerText(value:String):void

Beispiel

Im folgenden Beispiel wird eine neue DataGrid-Instanz erstellt, bei der für jede Spalte eine Überschrift angegeben ist:

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);
}
imeModeEigenschaft 
imeMode:String  [read-write]

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9.0.28.0

Der Modus des Eingabemethoden-Editors. Mithilfe des Eingabemethoden-Editors können chinesische, japanische oder koreanische Schriftzeichen eingegeben werden. Die flash.system.IMEConversionMode-Klasse definiert Konstanten, die als die gültigen Werte dieser Eigenschaft verwendet werden sollen.

Wenn diese Eigenschaft null ist, wird für den Modus des Eingabemethoden-Editors der Wert der imeMode-Eigenschaft der DataGrid-Komponente festgelegt.

Der Standardwert lautet null.


Implementierung
    public function get imeMode():String
    public function set imeMode(value:String):void

Siehe auch

itemEditorEigenschaft 
public var itemEditor:Object = fl.controls.dataGridClasses.DataGridCellEditor

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9.0.28.0

Gibt die Klasse der Element-Editorinstanzen an, die für die Spalten verwendet wird, wenn diese bearbeitbar sind. Der Datentyp dieser Eigenschaft kann "Class", "Sprite" oder "String" lauten. Wenn der Eigenschaftstyp "String" lautet, muss der Stringwert ein vollständig qualifizierter Klassenname sein.

Der Standardwert lautet "fl.controls.dataGridClasses.DataGridCellEditor".


Beispiel

Im folgenden Beispiel wird ein individueller Elementeditor für eine Datenrasterspalte angegeben:

import fl.controls.dataGridClasses.DataGridColumn;

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

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9.0.28.0

Eine Funktion, die den in dieser Spalte anzuzeigenden Text bestimmt. Standardmäßig wird in der Spalte der Text des Datenfeldes angezeigt, das dem Spaltennamen entspricht. Eine Spalte kann aber auch verwendet werden, um den Text von mehr als einem Datenfeld anzuzeigen oder um Inhalt anzuzeigen, der nicht ordnungsgemäß formatiert ist. Dafür wird die labelFunction-Eigenschaft verwendet, um eine Rückruffunktion zu spezifizieren.

Sind sowohl die Eigenschaft labelFunction als auch die Eigenschaft labelField definiert, hat labelFunction Vorrang.

Der Standardwert lautet null.


Implementierung
    public function get labelFunction():Function
    public function set labelFunction(value:Function):void

Beispiel

Im folgenden Beispiel wird eine DataGrid-Instanz erstellt und eine individuelle Label-Funktion für eine der Spalten im Datenraster definiert:

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);
}

Im folgenden Beispiel wird ein neues DataGridColumn-Objekt erstellt und sowohl eine labelFunction- als auch einesortCompareFunction-Eigenschaft festgelegt.
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;
    }
}
minWidthEigenschaft 
minWidth:Number  [read-write]

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9.0.28.0

Die minimale Breite der Spalte in Pixel.

Der Standardwert lautet 20.


Implementierung
    public function get minWidth():Number
    public function set minWidth(value:Number):void

Siehe auch


Beispiel

Im folgenden Beispiel wird die Breite der Spalten im Datenraster angezeigt, wenn sich die Spaltenbreite ändert:

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("---");
}
resizableEigenschaft 
public var resizable:Boolean = true

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9.0.28.0

Gibt an, ob der Benutzer die Breite der Spalte ändern darf. Der Wert true gibt an, dass die Spaltenbreite vom Benutzer bearbeitet werden kann, der Wert false, dass sie nicht bearbeitet werden kann.

Der Standardwert lautet true.

sortableEigenschaft 
public var sortable:Boolean = true

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9.0.28.0

Gibt an, ob der Datenprovider durch Klicken auf die Überschrift der aktuellen Spalte sortiert werden kann. Der Wert true gibt an, dass die Spalte durch Klicken auf ihren Header sortiert werden kann; der Wert false gibt an, dass die Spalte durch Klicken auf ihren Header nicht sortiert werden kann.

Der Standardwert lautet true.


Beispiel

Im folgenden Beispiel wird eine neue DataGrid-Instanz mit einer Spalte erstellt, die nicht sortiert werden kann:

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);

Im folgenden Beispiel wird eine DataGrid-Instanz mit einer Spalte erstellt, die nicht sortiert werden kann; dazu wird die Eigenschaft sortable auf false gesetzt:

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("");
}
sortCompareFunctionEigenschaft 
sortCompareFunction:Function  [read-write]

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9.0.28.0

Eine Rückruffunktion, die beim Sortieren der Daten in der Spalte aufgerufen wird. Wird diese Eigenschaft nicht angegeben, werden die Daten je nach sortOptions-Eigenschaft nach Zeichen oder Zahlen sortiert. Ist die Eigenschaft angegeben, können Sie mithilfe der sortCompareFunction-Eigenschaft eine benutzerdefinierte Sortierreihenfolge für die aktuelle Datenrasterspalte erstellen.

Der Standardwert lautet null.


Implementierung
    public function get sortCompareFunction():Function
    public function set sortCompareFunction(value:Function):void

Siehe auch


Beispiel

Im folgenden Beispiel wird ein neues DataGridColumn-Objekt erstellt und sowohl eine labelFunction- als auch einesortCompareFunction-Eigenschaft festgelegt.
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;
    }
}
sortDescendingEigenschaft 
public var sortDescending:Boolean = false

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9.0.28.0

Gibt an, ob das DataGridColumn-Objekt in aufsteigender oder absteigender Reihenfolge sortiert wird. Der Wert true gibt an, dass das DataGridColumn-Objekt in absteigender Reihenfolge sortiert wird, der Wert false, dass es in aufsteigender Reihenfolge sortiert wird.

Der Standardwert lautet false.

sortOptionsEigenschaft 
public var sortOptions:uint = 0

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9.0.28.0

Eine oder mehrere definiert Konstanten, die durch Name oder Nummer identifiziert und durch den Operator "bitwise OR (|)" voneinander getrennt werden. Diese Konstanten werden verwendet, um den Sortiervorgang zu spezifizieren.

Der Standardwert lautet 0.

Siehe auch


Beispiel

Im folgenden Beispiel wird die sortOptions-Eigenschaft verwendet, um anzugeben, dass eine Datenrasterspalte in numerischer Reihenfolge sortiert werden soll:

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;
visibleEigenschaft 
visible:Boolean  [read-write]

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9.0.28.0

Gibt an, ob die Spalte eingeblendet ist. Der Wert true gibt an, dass die Spalte eingeblendet ist, der Wert false, dass diese ausgeblendet ist.

Der Standardwert lautet true.


Implementierung
    public function get visible():Boolean
    public function set visible(value:Boolean):void

Beispiel

Im folgenden Beispiel wird eine Instanz der DataGrid-Komponente mit zwei Spalten erstellt. Sie können die visible-Eigenschaft der Spalten umschalten, indem Sie auf die entsprechende Button-Instanz auf der Bühne klicken.

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();
}
widthEigenschaft 
width:Number  [read-write]

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9.0.28.0

Die Breite der Spalte in Pixel.

Der Standardwert lautet 100.


Implementierung
    public function get width():Number
    public function set width(value:Number):void

Siehe auch

Konstruktordetail
DataGridColumn()Konstruktor
public function DataGridColumn(columnName:String = null)

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9.0.28.0

Erstellt eine neue DataGridColumn-Instanz.

Parameter
columnName:String (default = null) — Der Spaltenname, der im Spalten-Header angezeigt werden soll. Ist kein Name angegeben, wird der Wert dataField verwendet.

Siehe auch

Methodendetail
itemToLabel()Methode
public function itemToLabel(data:Object):String

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9.0.28.0

Gibt den String zurück, der vom Element-Renderer für das Datenobjekt angezeigt wird. Weisen "DataGridColumn" oder die zugehörige DataGrid-Komponente eine labelFunction-Eigenschaft auf, deren Wert nicht null ist, wird die Funktion auf das Datenobjekt angewandt. Andernfalls entnimmt die Methode den Inhalt des Feldes, das durch die dataField-Eigenschaft angegeben wird, oder ruft den String-Wert des Datenobjekts ab. Falls die Methode den Parameter nicht in einen String konvertieren kann, wird ein einzelnes Leerzeichen zurückgegeben.

Parameter

data:Object — Das darzustellende Objekt.

Rückgabewerte
String — Ein anzeigbarer String auf der Grundlage des angegebenen data-Objekts.
toString()Methode 
public function toString():String

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9.0.28.0

Gibt das DataGridColumn-Objekt als String zurück.

Rückgabewerte
String — "[object DataGridColumn]"
Beispiele Verwendung von Beispielen
DataGridColumnExample.as

In diesem Beispiel wird gezeigt, wie die Spalten einer DataGrid-Komponente programmatisch verändert werden können.

Gehen Sie wie folgt vor, um das Beispiel auszuführen:

  1. Fügen Sie die DataGrid- und Button-Komponenten zur Bibliothek hinzu.
  2. Speichern Sie diesen Code unter DataGridColumnExample.as im gleichen Verzeichnis wie die FLA-Datei.
  3. Legen Sie in der FLA-Datei für die Dokumentklasse den Wert "DataGridColumnExample" fest.
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]);
        }
    }
}




 

Eine E-Mail an mich senden, wenn dieser Seite Kommentare hinzugefügt werden | Kommentarbericht

Aktuelle Seite: http://livedocs.adobe.com/flash/9.0_de/ActionScriptLangRefV3/fl/controls/dataGridClasses/DataGridColumn.html