Pakket | fl.controls.dataGridClasses |
Klasse | public class DataGridColumn |
Overerving | DataGridColumn Object |
Taalversie: | ActionScript 3.0 |
Productversie: | Flash CS3 |
Runtimeversies: | Flash Player 9.0.28.0, AIR 1.0 |
U kunt bepalen door welke soort component de gegevens voor een DataGridColumn worden weergegeven. Onder de kenmerken die u kunt opgeven, bevinden zich de tekst die in de kolomkop wordt afgebeeld en of de kolom kan worden bewerkt, gesorteerd, of van grootte gewijzigd.
Verwante API-elementen
Eigenschap | Gedefinieerd door | ||
---|---|---|---|
cellRenderer : Object
De klasse die wordt gebruikt om items in deze kolom te renderen. | DataGridColumn | ||
constructor : Object
Verwijzing naar het klasseobject of de constructorfunctie van een bepaalde objectinstantie. | Object | ||
dataField : String
Hiermee wordt de naam van het veld of de eigenschap in het gegevensaanbiederitem geïdentificeerd dat aan de kolom is gekoppeld. | DataGridColumn | ||
editable : Boolean = true
Hiermee wordt aangegeven of de items in de kolom kunnen worden bewerkt. | DataGridColumn | ||
editorDataField : String = "text"
Hiermee wordt de naam van de eigenschap van de itemeditor geïdentificeerd die de nieuwe gegevens voor het lijstitem bevat. | DataGridColumn | ||
headerRenderer : Object
De klasse die wordt gebruikt om de kop van deze kolom te renderen. | DataGridColumn | ||
headerText : String
De kolomnaam die in de kolomkop moet worden weergegeven. | DataGridColumn | ||
imeMode : String
De modus van de invoermethode-editor (IME). | DataGridColumn | ||
itemEditor : Object = fl.controls.dataGridClasses.DataGridCellEditor
Hiermee wordt de klasse van de instanties van de itemeditor aangegeven die voor de kolom moet worden gebruikt, als deze bewerkbaar is. | DataGridColumn | ||
labelFunction : Function
Een functie die de tekst bepaalt die in deze kolom moet worden weergegeven. | DataGridColumn | ||
minWidth : Number
De minimale breedte van de kolom, in pixels. | DataGridColumn | ||
resizable : Boolean = true
Hiermee wordt aangegeven of de gebruiker de breedte van de kolom mag wijzigen. | DataGridColumn | ||
sortable : Boolean = true
Hiermee wordt aangegeven of de gebruiker op de kop van de huidige kolom kan klikken om de gegevensaanbieder te sorteren. | DataGridColumn | ||
sortCompareFunction : Function
Een callback-functie die wordt aangeroepen bij het sorteren van de gegevens in de kolom. | DataGridColumn | ||
sortDescending : Boolean = false
Hiermee wordt aangegeven of de DataGridColumn in oplopende of aflopende volgorde moet worden gesorteerd. | DataGridColumn | ||
sortOptions : uint = 0
Een of meer gedefinieerde constanten, geïdentificeerd op naam of nummer en gescheiden door de operator | (bitsgewijze OR). | DataGridColumn | ||
visible : Boolean
Hiermee wordt aangegeven of de kolom zichtbaar is. | DataGridColumn | ||
width : Number
De breedte van de kolom, in pixels. | DataGridColumn |
Methode | Gedefinieerd door | ||
---|---|---|---|
DataGridColumn(columnName:String = null)
Hiermee wordt een nieuwe instantie DataGridColumn gemaakt. | DataGridColumn | ||
Geeft aan of voor een object een opgegeven eigenschap is gedefinieerd. | Object | ||
Geeft aan of een instantie van de klasse Object zich in de prototypeketen van het object bevindt dat als parameter is opgegeven. | Object | ||
Retourneert de tekenreeks die de itemrenderer weergeeft voor het opgegeven gegevensobject. | DataGridColumn | ||
Geeft aan of de opgegeven eigenschap bestaat en kan worden opgesomd. | Object | ||
Stelt de beschikbaarheid van een dynamische eigenschap voor lusbewerkingen in. | Object | ||
Geeft de tekenreeksweergave van dit object weer, geformatteerd volgens de locatiespecifieke conventies. | Object | ||
Retourneert een tekenreeksrepresentatie van het object DataGridColumn. | DataGridColumn | ||
Retourneert de primitieve waarde van het opgegeven object. | Object |
cellRenderer | eigenschap |
cellRenderer:Object
Taalversie: | ActionScript 3.0 |
Productversie: | Flash CS3 |
Runtimeversies: | Flash Player 9.0.28.0, AIR 1.0 |
De klasse die wordt gebruikt om items in deze kolom te renderen. Het type van deze eigenschap kan een klasse, sprite of tekenreeks zijn. Wanneer het eigenschaptype tekenreeks is, moet de tekenreekswaarde een volledig gekwalificeerde klassenaam zijn.
De standaardwaarde is null.
Implementatie
public function get cellRenderer():Object
public function set cellRenderer(value:Object):void
Verwante API-elementen
Voorbeeld ( Hoe dit voorbeeld te gebruiken )
import fl.controls.dataGridClasses.DataGridColumn; var dgc:DataGridColumn = new DataGridColumn("Field"); dgc.cellRenderer = "MyCustomCellRendererClass"; dg.addColumn(dgc);
dataField | eigenschap |
public var dataField:String
Taalversie: | ActionScript 3.0 |
Productversie: | Flash CS3 |
Runtimeversies: | Flash Player 9.0.28.0, AIR 1.0 |
Hiermee wordt de naam van het veld of de eigenschap in het gegevensaanbiederitem geïdentificeerd dat aan de kolom is gekoppeld.
editable | eigenschap |
public var editable:Boolean = true
Taalversie: | ActionScript 3.0 |
Productversie: | Flash CS3 |
Runtimeversies: | Flash Player 9.0.28.0, AIR 1.0 |
Hiermee wordt aangegeven of de items in de kolom kunnen worden bewerkt. De waarde true
geeft aan dat de kolomitems kunnen worden bewerkt; de waarde false
geeft aan dat zij niet kunnen worden bewerkt.
Wanneer deze eigenschap is ingesteld op true
en de eigenschap editable
van de DataGrid ook true
is, kunnen de items in een kolom worden bewerkt en kan dit individueel gebeuren door op een item te klikken of door naar het item te navigeren met de Tab- en pijltoetsen.
De standaardwaarde is true.
editorDataField | eigenschap |
public var editorDataField:String = "text"
Taalversie: | ActionScript 3.0 |
Productversie: | Flash CS3 |
Runtimeversies: | Flash Player 9.0.28.0, AIR 1.0 |
Hiermee wordt de naam van de eigenschap van de itemeditor geïdentificeerd die de nieuwe gegevens voor het lijstitem bevat.
De standaardwaarde van itemEditor
is bijvoorbeeld TextInput, dus de standaardwaarde van de eigenschap editorDataField
is "text"
. Deze waarde geeft de eigenschap text
op van de component TextInput.
De standaardwaarde is "text".
headerRenderer | eigenschap |
headerRenderer:Object
Taalversie: | ActionScript 3.0 |
Productversie: | Flash CS3 |
Runtimeversies: | Flash Player 9.0.28.0, AIR 1.0 |
De klasse die wordt gebruikt om de kop van deze kolom te renderen.
Het type van deze eigenschap kan een klasse, sprite of tekenreeks zijn. Wanneer het eigenschaptype tekenreeks is, moet de tekenreekswaarde een volledig gekwalificeerde klassenaam zijn.
De standaardwaarde is null.
Implementatie
public function get headerRenderer():Object
public function set headerRenderer(value:Object):void
Verwante API-elementen
headerText | eigenschap |
headerText:String
Taalversie: | ActionScript 3.0 |
Productversie: | Flash CS3 |
Runtimeversies: | Flash Player 9.0.28.0, AIR 1.0 |
De kolomnaam die in de kolomkop moet worden weergegeven. De component DataGrid gebruikt standaard de waarde van de eigenschap dataField
als kolomnaam.
Implementatie
public function get headerText():String
public function set headerText(value:String):void
Voorbeeld ( Hoe dit voorbeeld te gebruiken )
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 | eigenschap |
imeMode:String
Taalversie: | ActionScript 3.0 |
Productversie: | Flash CS3 |
Runtimeversies: | Flash Player 9.0.28.0, AIR 1.0 |
De modus van de invoermethode-editor (IME). Met IME kan de gebruiker tekst invoeren in het Chinees, Japans en Koreaans. De klasse flash.system.IMEConversionMode definieert de constanten die als geldige waarde voor deze eigenschap kunnen worden gebruikt.
Wanneer deze eigenschap null
is, wordt de modus van de IME ingesteld op de waarde van de eigenschap imeMode
van de component DataGrid.
De standaardwaarde is null.
Implementatie
public function get imeMode():String
public function set imeMode(value:String):void
Verwante API-elementen
itemEditor | eigenschap |
public var itemEditor:Object = fl.controls.dataGridClasses.DataGridCellEditor
Taalversie: | ActionScript 3.0 |
Productversie: | Flash CS3 |
Runtimeversies: | Flash Player 9.0.28.0, AIR 1.0 |
Hiermee wordt de klasse van de instanties van de itemeditor aangegeven die voor de kolom moet worden gebruikt, als deze bewerkbaar is. Het type van deze eigenschap kan een klasse, sprite of tekenreeks zijn. Wanneer het eigenschaptype tekenreeks is, moet de tekenreekswaarde een volledig gekwalificeerde klassenaam zijn.
De standaardwaarde is "fl.controls.dataGridClasses.DataGridCellEditor".
Voorbeeld ( Hoe dit voorbeeld te gebruiken )
import fl.controls.dataGridClasses.DataGridColumn; var dgc:DataGridColumn = new DataGridColumn("Field"); dgc.itemEditor = "MyCustomItemEditorClass"; dg.addColumn(dgc);
labelFunction | eigenschap |
labelFunction:Function
Taalversie: | ActionScript 3.0 |
Productversie: | Flash CS3 |
Runtimeversies: | Flash Player 9.0.28.0, AIR 1.0 |
Een functie die de tekst bepaalt die in deze kolom moet worden weergegeven. De kolom geeft standaard de tekst weer voor het gegevensveld dat overeenkomt met de kolomnaam. Een kolom kan echter ook worden gebruikt om de tekst van meer dan één gegevensveld weer te geven, of voor de weergave van inhoud die niet de juiste indeling heeft. U doet dit door met de eigenschap labelFunction
een callback-functie op te geven.
Wanneer de eigenschappen labelFunction
en labelField
allebei zijn gedefinieerd, heeft labelFunction
voorrang.
De standaardwaarde is null.
Implementatie
public function get labelFunction():Function
public function set labelFunction(value:Function):void
Voorbeeld ( Hoe dit voorbeeld te gebruiken )
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 een sortCompareFunction
opgegeven:
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 | eigenschap |
minWidth:Number
Taalversie: | ActionScript 3.0 |
Productversie: | Flash CS3 |
Runtimeversies: | Flash Player 9.0.28.0, AIR 1.0 |
De minimale breedte van de kolom, in pixels.
De standaardwaarde is 20.
Implementatie
public function get minWidth():Number
public function set minWidth(value:Number):void
Verwante API-elementen
Voorbeeld ( Hoe dit voorbeeld te gebruiken )
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 | eigenschap |
public var resizable:Boolean = true
Taalversie: | ActionScript 3.0 |
Productversie: | Flash CS3 |
Runtimeversies: | Flash Player 9.0.28.0, AIR 1.0 |
Hiermee wordt aangegeven of de gebruiker de breedte van de kolom mag wijzigen. De waarde true
geeft aan dat de gebruiker de kolombreedte kan veranderen; de waarde false
geeft aan dat de gebruiker de kolombreedte niet kan veranderen.
De standaardwaarde is true.
sortable | eigenschap |
public var sortable:Boolean = true
Taalversie: | ActionScript 3.0 |
Productversie: | Flash CS3 |
Runtimeversies: | Flash Player 9.0.28.0, AIR 1.0 |
Hiermee wordt aangegeven of de gebruiker op de kop van de huidige kolom kan klikken om de gegevensaanbieder te sorteren. De waarde true
geeft aan dat de kolom kan worden gesorteerd door op de kolomkop te klikken; de waarde false
geeft aan dat dit niet mogelijk is.
De standaardwaarde is true.
Voorbeeld ( Hoe dit voorbeeld te gebruiken )
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
van de kolom in het raster in te stellen op false
:
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 | eigenschap |
sortCompareFunction:Function
Taalversie: | ActionScript 3.0 |
Productversie: | Flash CS3 |
Runtimeversies: | Flash Player 9.0.28.0, AIR 1.0 |
Een callback-functie die wordt aangeroepen bij het sorteren van de gegevens in de kolom. Wanneer deze eigenschap niet is opgegeven, worden de gegevens gesorteerd op tekenreeksen of getallen, afhankelijk van de eigenschap sortOptions
. Wanneer deze wel is opgegeven, kunt u met de eigenschap sortCompareFunction
voor de huidige kolom in het gegevensraster uw eigen, aangepaste sorteermethode maken.
De standaardwaarde is null.
Implementatie
public function get sortCompareFunction():Function
public function set sortCompareFunction(value:Function):void
Verwante API-elementen
Voorbeeld ( Hoe dit voorbeeld te gebruiken )
labelFunction
als een sortCompareFunction
opgegeven:
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 | eigenschap |
public var sortDescending:Boolean = false
Taalversie: | ActionScript 3.0 |
Productversie: | Flash CS3 |
Runtimeversies: | Flash Player 9.0.28.0, AIR 1.0 |
Hiermee wordt aangegeven of de DataGridColumn in oplopende of aflopende volgorde moet worden gesorteerd. De waarde true
geeft aan dat de DataGridColumn in aflopende volgorde wordt gesorteerd; de waarde false
geeft aan dat de DataGridColumn in oplopende volgorde wordt gesorteerd.
De standaardwaarde is false.
sortOptions | eigenschap |
public var sortOptions:uint = 0
Taalversie: | ActionScript 3.0 |
Productversie: | Flash CS3 |
Runtimeversies: | Flash Player 9.0.28.0, AIR 1.0 |
Een of meer gedefinieerde constanten, geïdentificeerd op naam of nummer en gescheiden door de operator | (bitsgewijze OR). Deze constanten worden gebruikt om de sorteerbewerking te bepalen.
De standaardwaarde is 0.
Verwante API-elementen
Voorbeeld ( Hoe dit voorbeeld te gebruiken )
sortOptions
gebruikt om op te geven dat een kolom in een gegevensraster numeriek moet worden gesorteerd:
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 | eigenschap |
visible:Boolean
Taalversie: | ActionScript 3.0 |
Productversie: | Flash CS3 |
Runtimeversies: | Flash Player 9.0.28.0, AIR 1.0 |
Hiermee wordt aangegeven of de kolom zichtbaar is. De waarde true
geeft aan dat de kolom zichtbaar is; de waarde false
geeft aan dat de kolom onzichtbaar is.
De standaardwaarde is true.
Implementatie
public function get visible():Boolean
public function set visible(value:Boolean):void
Voorbeeld ( Hoe dit voorbeeld te gebruiken )
visible
van deze kolommen wijzigen door in het werkgebied te klikken op de overeenkomende instantie Button.
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 | eigenschap |
DataGridColumn | () | Constructor |
public function DataGridColumn(columnName:String = null)
Taalversie: | ActionScript 3.0 |
Productversie: | Flash CS3 |
Runtimeversies: | Flash Player 9.0.28.0, AIR 1.0 |
Hiermee wordt een nieuwe instantie DataGridColumn gemaakt.
ParameterscolumnName:String (default = null ) — De kolomnaam die in de kolomkop moet worden weergegeven. Wanneer geen naam wordt opgegeven, wordt de waarde dataField gebruikt.
|
Verwante API-elementen
itemToLabel | () | methode |
public function itemToLabel(data:Object):String
Taalversie: | ActionScript 3.0 |
Productversie: | Flash CS3 |
Runtimeversies: | Flash Player 9.0.28.0, AIR 1.0 |
Retourneert de tekenreeks die de itemrenderer weergeeft voor het opgegeven gegevensobject. Wanneer DataGridColumn of de bijbehorende component DataGrid een eigenschap labelFunction
heeft die niet null is, past het de functie toe op het gegevensobject. Anders extraheert de methode de inhoud van het veld die door de eigenschap dataField
is opgegeven, of wordt de tekenreekswaarde van het gegevensobject opgehaald. Wanneer de methode de parameter niet naar een tekenreeks kan converteren, retourneert het een enkele spatie.
Parameters
data:Object — Het object dat moet worden gerenderd.
|
String — Tekenreeks die kan worden weergegeven en is gebaseerd op het opgegeven object data .
|
toString | () | methode |
- Voeg de componenten DataGrid en Button toe aan de bibliotheek.
- Sla deze code als DataGridColumnExample.as op in dezelfde map als de FLA.
- Stel de DocumentClass in de FLA in op 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]); } } }
Wed Jun 13 2018, 11:42 AM Z