Paket | fl.controls.dataGridClasses |
Klasse | public class DataGridColumn |
Vererbung | DataGridColumn Object |
Sprachversion: | ActionScript 3.0 |
Produktversion: | Flash CS3 |
Laufzeitversionen: | Flash Player 9.0.28.0, AIR 1.0 |
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.
Verwandte API-Elemente
Eigenschaft | Definiert von | ||
---|---|---|---|
cellRenderer : Object
Die zur Darstellung der Elemente in dieser Spalte verwendete Klasse. | DataGridColumn | ||
constructor : 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 Pixeln. | DataGridColumn | ||
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 Pixeln. | DataGridColumn |
Methode | Definiert von | ||
---|---|---|---|
DataGridColumn(columnName:String = null)
Erstellt eine neue DataGridColumn-Instanz. | DataGridColumn | ||
Gibt an, ob für ein Objekt eine bestimmte Eigenschaft definiert wurde. | Object | ||
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 | ||
Gibt an, ob die angegebene Eigenschaft vorhanden ist und durchlaufen werden kann. | Object | ||
Legt die Verfügbarkeit einer dynamischen Eigenschaft für Schleifenoperationen fest. | Object | ||
Gibt die Stringdarstellung dieses Objekts zurück, formatiert entsprechend den Konventionen des Gebietsschemas. | Object | ||
Gibt das DataGridColumn-Objekt als String zurück. | DataGridColumn | ||
Gibt den Grundwert des angegebenen Objekts zurück. | Object |
cellRenderer | Eigenschaft |
cellRenderer:Object
Sprachversion: | ActionScript 3.0 |
Produktversion: | Flash CS3 |
Laufzeitversionen: | Flash Player 9.0.28.0, AIR 1.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 ist null.
Implementierung
public function get cellRenderer():Object
public function set cellRenderer(value:Object):void
Verwandte API-Elemente
Beispiel ( Verwendung dieses Beispiels )
import fl.controls.dataGridClasses.DataGridColumn; var dgc:DataGridColumn = new DataGridColumn("Field"); dgc.cellRenderer = "MyCustomCellRendererClass"; dg.addColumn(dgc);
dataField | Eigenschaft |
public var dataField:String
Sprachversion: | ActionScript 3.0 |
Produktversion: | Flash CS3 |
Laufzeitversionen: | Flash Player 9.0.28.0, AIR 1.0 |
Gibt den Namen des Feldes bzw. der Eigenschaft im Datenprovider-Element an, das bzw. die mit der Spalte verknüpft ist.
editable | Eigenschaft |
public var editable:Boolean = true
Sprachversion: | ActionScript 3.0 |
Produktversion: | Flash CS3 |
Laufzeitversionen: | Flash Player 9.0.28.0, AIR 1.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 ist true.
editorDataField | Eigenschaft |
public var editorDataField:String = "text"
Sprachversion: | ActionScript 3.0 |
Produktversion: | Flash CS3 |
Laufzeitversionen: | Flash Player 9.0.28.0, AIR 1.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 ist "text".
headerRenderer | Eigenschaft |
headerRenderer:Object
Sprachversion: | ActionScript 3.0 |
Produktversion: | Flash CS3 |
Laufzeitversionen: | Flash Player 9.0.28.0, AIR 1.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 ist null.
Implementierung
public function get headerRenderer():Object
public function set headerRenderer(value:Object):void
Verwandte API-Elemente
headerText | Eigenschaft |
headerText:String
Sprachversion: | ActionScript 3.0 |
Produktversion: | Flash CS3 |
Laufzeitversionen: | Flash Player 9.0.28.0, AIR 1.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 ( Verwendung dieses Beispiels )
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 | Eigenschaft |
imeMode:String
Sprachversion: | ActionScript 3.0 |
Produktversion: | Flash CS3 |
Laufzeitversionen: | Flash Player 9.0.28.0, AIR 1.0 |
Der Modus des Eingabemethoden-Editors. Mithilfe des Eingabemethodeneditors können chinesische, japanische und 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 ist null.
Implementierung
public function get imeMode():String
public function set imeMode(value:String):void
Verwandte API-Elemente
itemEditor | Eigenschaft |
public var itemEditor:Object = fl.controls.dataGridClasses.DataGridCellEditor
Sprachversion: | ActionScript 3.0 |
Produktversion: | Flash CS3 |
Laufzeitversionen: | Flash Player 9.0.28.0, AIR 1.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 ist "fl.controls.dataGridClasses.DataGridCellEditor".
Beispiel ( Verwendung dieses Beispiels )
import fl.controls.dataGridClasses.DataGridColumn; var dgc:DataGridColumn = new DataGridColumn("Field"); dgc.itemEditor = "MyCustomItemEditorClass"; dg.addColumn(dgc);
labelFunction | Eigenschaft |
labelFunction:Function
Sprachversion: | ActionScript 3.0 |
Produktversion: | Flash CS3 |
Laufzeitversionen: | Flash Player 9.0.28.0, AIR 1.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 ist null.
Implementierung
public function get labelFunction():Function
public function set labelFunction(value:Function):void
Beispiel ( Verwendung dieses Beispiels )
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); }
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; } }
minWidth | Eigenschaft |
minWidth:Number
Sprachversion: | ActionScript 3.0 |
Produktversion: | Flash CS3 |
Laufzeitversionen: | Flash Player 9.0.28.0, AIR 1.0 |
Die minimale Breite der Spalte in Pixeln.
Der Standardwert ist 20.
Implementierung
public function get minWidth():Number
public function set minWidth(value:Number):void
Verwandte API-Elemente
Beispiel ( Verwendung dieses Beispiels )
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 | Eigenschaft |
public var resizable:Boolean = true
Sprachversion: | ActionScript 3.0 |
Produktversion: | Flash CS3 |
Laufzeitversionen: | Flash Player 9.0.28.0, AIR 1.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 ist true.
sortable | Eigenschaft |
public var sortable:Boolean = true
Sprachversion: | ActionScript 3.0 |
Produktversion: | Flash CS3 |
Laufzeitversionen: | Flash Player 9.0.28.0, AIR 1.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 ist true.
Beispiel ( Verwendung dieses Beispiels )
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
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(""); }
sortCompareFunction | Eigenschaft |
sortCompareFunction:Function
Sprachversion: | ActionScript 3.0 |
Produktversion: | Flash CS3 |
Laufzeitversionen: | Flash Player 9.0.28.0, AIR 1.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 ist null.
Implementierung
public function get sortCompareFunction():Function
public function set sortCompareFunction(value:Function):void
Verwandte API-Elemente
Beispiel ( Verwendung dieses Beispiels )
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; } }
sortDescending | Eigenschaft |
public var sortDescending:Boolean = false
Sprachversion: | ActionScript 3.0 |
Produktversion: | Flash CS3 |
Laufzeitversionen: | Flash Player 9.0.28.0, AIR 1.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 ist false.
sortOptions | Eigenschaft |
public var sortOptions:uint = 0
Sprachversion: | ActionScript 3.0 |
Produktversion: | Flash CS3 |
Laufzeitversionen: | Flash Player 9.0.28.0, AIR 1.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 ist 0.
Verwandte API-Elemente
Beispiel ( Verwendung dieses Beispiels )
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;
visible | Eigenschaft |
visible:Boolean
Sprachversion: | ActionScript 3.0 |
Produktversion: | Flash CS3 |
Laufzeitversionen: | Flash Player 9.0.28.0, AIR 1.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 ist true.
Implementierung
public function get visible():Boolean
public function set visible(value:Boolean):void
Beispiel ( Verwendung dieses Beispiels )
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(); }
width | Eigenschaft |
DataGridColumn | () | Konstruktor |
public function DataGridColumn(columnName:String = null)
Sprachversion: | ActionScript 3.0 |
Produktversion: | Flash CS3 |
Laufzeitversionen: | Flash Player 9.0.28.0, AIR 1.0 |
Erstellt eine neue DataGridColumn-Instanz.
ParametercolumnName:String (default = null ) — Der Spaltenname, der im Spalten-Header angezeigt werden soll. Ist kein Name angegeben, wird der Wert dataField verwendet.
|
Verwandte API-Elemente
itemToLabel | () | Methode |
public function itemToLabel(data:Object):String
Sprachversion: | ActionScript 3.0 |
Produktversion: | Flash CS3 |
Laufzeitversionen: | Flash Player 9.0.28.0, AIR 1.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.
|
String — Ein anzeigbarer String auf der Grundlage des angegebenen data -Objekts.
|
toString | () | Methode |
- Fügen Sie die DataGrid- und Button-Komponenten zur Bibliothek hinzu.
- Speichern Sie diesen Code unter „DataGridColumnExample.as“ im gleichen Verzeichnis wie die FLA-Datei.
- Legen Sie für „DocumentClass“ in der FLA-Datei „DataGridColumnExample“ fest.
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]); } } }
Tue Jun 12 2018, 10:04 AM Z