Пакет | fl.controls.dataGridClasses |
Класс | public class DataGridColumn |
Наследование | DataGridColumn Object |
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flash CS3 |
Версии среды выполнения: | Flash Player 9.0.28.0, AIR 1.0 |
Можно указать вид компонента, отображающего данные об объекте DataGridColumn. В число указываемых характеристик входит текст в заголовке столбца, а также возможности редактирования, сортировки и изменения размера.
Связанные элементы API
Свойство | Определено | ||
---|---|---|---|
cellRenderer : Object
Класс, используемый для визуализации элементов в этом столбце. | DataGridColumn | ||
constructor : 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 | ||
resizable : Boolean = true
Указывает, разрешено ли пользователю изменять ширину столбца. | DataGridColumn | ||
sortable : Boolean = true
Указывает, может ли пользователь щелкнуть заголовок текущего столбца, чтобы отсортировать данные, предоставляемые поставщиком данных. | DataGridColumn | ||
sortCompareFunction : Function
Функция обратного вызова, вызываемая во время сортировки данных в столбце. | DataGridColumn | ||
sortDescending : Boolean = false
Указывает, следует ли сортировать элементы компонента DataGridColumn в восходящем или нисходящем порядке. | DataGridColumn | ||
sortOptions : uint = 0
Одна или несколько определенных констант, заданных именем или номером и разделенных оператором побитового ИЛИ (|). | DataGridColumn | ||
visible : Boolean
Указывает, видим ли столбец. | DataGridColumn | ||
width : Number
Ширина столбца в пикселях. | DataGridColumn |
Метод | Определено | ||
---|---|---|---|
DataGridColumn(columnName:String = null)
Создает новый экземпляр DataGridColumn. | DataGridColumn | ||
Показывает, определено ли заданное свойство для объекта. | Object | ||
Показывает, есть ли экземпляр класса Object в цепи прототипов объекта, заданного в качестве параметра. | Object | ||
Возвращает строку, которую средство визуализации элементов отображает для заданного объекта данных. | DataGridColumn | ||
Показывает наличие заданного свойства и его перечисляемость. | Object | ||
Задает доступность динамического свойства для операций цикла. | Object | ||
Возвращает строковое представление этого объекта, отформатированного в соответствии со стандартами, принятыми для данной локали. | Object | ||
Возвращает строковое представление объекта DataGridColumn. | DataGridColumn | ||
Возвращает элементарное значение заданного объекта. | Object |
cellRenderer | свойство |
cellRenderer:Object
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flash CS3 |
Версии среды выполнения: | Flash Player 9.0.28.0, AIR 1.0 |
Класс, используемый для визуализации элементов в этом столбце. Это может быть свойство типа Class, Sprite или String. Если тип свойства — String, значение String должно быть полным классифицированным именем класса.
Значением по умолчанию является null.
Реализация
public function get cellRenderer():Object
public function set cellRenderer(value:Object):void
Связанные элементы API
Пример ( Использование этого примера )
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 |
Версия продукта: | Flash CS3 |
Версии среды выполнения: | Flash Player 9.0.28.0, AIR 1.0 |
Указывает имя поля или свойства в элементе, предоставляемом поставщиком данных, связанном с данным столбцом.
editable | свойство |
public var editable:Boolean = true
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flash CS3 |
Версии среды выполнения: | Flash Player 9.0.28.0, AIR 1.0 |
Указывает, можно ли редактировать элементы столбца. Значение true
указывает на то, что элементы можно редактировать; значение false
указывает на то, что их редактировать нельзя.
Если этому свойству присвоено значение true
, а свойство editable
компонента DataGrid также имеет значение true
, элементы в столбце разрешается изменять. Их можно отредактировать по отдельности, нажав элемент или перейдя к нему с помощью клавиши Tab и клавиш со стрелками.
Значением по умолчанию является true.
editorDataField | свойство |
public var editorDataField:String = "text"
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flash CS3 |
Версии среды выполнения: | Flash Player 9.0.28.0, AIR 1.0 |
Указывает имя свойства редактора элементов, содержащего новые данные для элемента списка.
Например, свойство itemEditor
имеет значение по умолчанию TextInput. Поэтому значением свойства editorDataField
по умолчанию является text
. Это значение определяет свойство text
компонента TextInput.
Значением по умолчанию является "text".
headerRenderer | свойство |
headerRenderer:Object
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flash CS3 |
Версии среды выполнения: | Flash Player 9.0.28.0, AIR 1.0 |
Класс, используемый для визуализации заголовка этого столбца.
Это может быть свойство типа Class, Sprite или String. Если тип свойства — String, строковое значение должно быть полным классифицированным именем класса.
Значением по умолчанию является null.
Реализация
public function get headerRenderer():Object
public function set headerRenderer(value:Object):void
Связанные элементы API
headerText | свойство |
headerText:String
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flash CS3 |
Версии среды выполнения: | Flash Player 9.0.28.0, AIR 1.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 |
Версия продукта: | Flash CS3 |
Версии среды выполнения: | Flash Player 9.0.28.0, AIR 1.0 |
Режим редактора методов ввода (IME). IME позволяет пользователям вводить текст на китайском, японском и корейском языках. Класс flash.system.IMEConversionMode определяет константы, которые будут использованы в качестве действительных значений этого свойства.
Если свойству присвоено значение null
, режим IME выбирается, исходя из значения свойства imeMode
компонента DataGrid.
Значением по умолчанию является null.
Реализация
public function get imeMode():String
public function set imeMode(value:String):void
Связанные элементы API
itemEditor | свойство |
public var itemEditor:Object = fl.controls.dataGridClasses.DataGridCellEditor
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flash CS3 |
Версии среды выполнения: | Flash Player 9.0.28.0, AIR 1.0 |
Указывает класс экземпляров редактора элементов, используемый для столбца, если он доступен для редактирования. Это может быть свойство типа Class, Sprite или 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 |
Версия продукта: | Flash CS3 |
Версии среды выполнения: | Flash Player 9.0.28.0, AIR 1.0 |
Функция, определяющая текст, отображаемый в этом столбце. По умолчанию в этом столбце показан текст для поля данных, которое соответствует имени столбца. Однако столбец можно также применять для показа текста более чем из одного поля данных или содержимого несоответствующего формата. Это можно сделать с помощью свойства labelFunction
, указывающего функцию обратного вызова.
Если определено как свойство labelFunction
, так и свойство labelField
, предпочтение отдается labelFunction
.
Значением по умолчанию является null.
Реализация
public function get labelFunction():Function
public function set labelFunction(value:Function):void
Пример ( Использование этого примера )
import fl.controls.DataGrid; import fl.controls.ScrollPolicy; import fl.controls.dataGridClasses.DataGridColumn; import fl.data.DataProvider; var i:uint; var totalRows:uint = 16; var dp:DataProvider = new DataProvider(); for (i = 0; i < totalRows; i++) { dp.addItem({col1:getRandomNumber(), col2:getRandomNumber(), col3:getRandomNumber(), col4:getRandomNumber()}); } var c1:DataGridColumn = new DataGridColumn("col1"); c1.sortOptions = Array.NUMERIC; var c2:DataGridColumn = new DataGridColumn("col2"); c2.sortOptions = Array.NUMERIC; var c3:DataGridColumn = new DataGridColumn("col3"); c3.sortOptions = Array.NUMERIC; c3.labelFunction = currencyFormatter; var dg:DataGrid = new DataGrid(); dg.setSize(200, 300); dg.addColumn(c1); dg.addColumn(c2); dg.addColumn(c3); dg.dataProvider = dp; addChild(dg); function getRandomNumber():Number { return Math.random() * 100; } function currencyFormatter(data:Object):String { var value:Number = Number(data.col3); return "$" + value.toFixed(2); }
labelFunction
и sortCompareFunction
:
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 |
Версия продукта: | Flash CS3 |
Версии среды выполнения: | Flash Player 9.0.28.0, AIR 1.0 |
Минимальная ширина столбца в пикселях.
Значением по умолчанию является 20.
Реализация
public function get minWidth():Number
public function set minWidth(value:Number):void
Связанные элементы API
Пример ( Использование этого примера )
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 |
Версия продукта: | Flash CS3 |
Версии среды выполнения: | Flash Player 9.0.28.0, AIR 1.0 |
Указывает, разрешено ли пользователю изменять ширину столбца. Значение true
указывает на то, что пользователь может изменять ширину столбца; значение false
указывает на то, что пользователь не может этого делать.
Значением по умолчанию является true.
sortable | свойство |
public var sortable:Boolean = true
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flash CS3 |
Версии среды выполнения: | Flash Player 9.0.28.0, AIR 1.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
:
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 |
Версия продукта: | Flash CS3 |
Версии среды выполнения: | Flash Player 9.0.28.0, AIR 1.0 |
Функция обратного вызова, вызываемая во время сортировки данных в столбце. Если это свойство не указано, данные сортируются по строкам или номерам в зависимости от значения свойства sortOptions
. Если свойство sortCompareFunction
указано, оно позволяет создать собственный пользовательский метод сортировки для текущего столбца сетки данных.
Значением по умолчанию является null.
Реализация
public function get sortCompareFunction():Function
public function set sortCompareFunction(value:Function):void
Связанные элементы API
Пример ( Использование этого примера )
labelFunction
и sortCompareFunction
:
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 |
Версия продукта: | Flash CS3 |
Версии среды выполнения: | Flash Player 9.0.28.0, AIR 1.0 |
Указывает, следует ли сортировать элементы компонента DataGridColumn в восходящем или нисходящем порядке. Значение true
указывает, что компонент DataGridColumn сортируется в нисходящем порядке. Значение false
указывает на то, что DataGridColum сортируется в восходящем порядке.
Значением по умолчанию является false.
sortOptions | свойство |
public var sortOptions:uint = 0
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flash CS3 |
Версии среды выполнения: | Flash Player 9.0.28.0, AIR 1.0 |
Одна или несколько определенных констант, заданных именем или номером и разделенных оператором побитового ИЛИ (|). Эти константы используются для того, чтобы указать операцию сортировки.
Значением по умолчанию является 0.
Связанные элементы API
Пример ( Использование этого примера )
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 |
Версия продукта: | Flash CS3 |
Версии среды выполнения: | Flash Player 9.0.28.0, AIR 1.0 |
Указывает, видим ли столбец. Значение true
указывает на то, что столбец видим; значение false
указывает на то, что столбец невидим.
Значением по умолчанию является true.
Реализация
public function get visible():Boolean
public function set visible(value:Boolean):void
Пример ( Использование этого примера )
visible
каждого из этих столбцов можно включать и выключать, нажимая на соответствующий экземпляр компонента 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 | свойство |
DataGridColumn | () | Конструктор |
public function DataGridColumn(columnName:String = null)
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flash CS3 |
Версии среды выполнения: | Flash Player 9.0.28.0, AIR 1.0 |
Создает новый экземпляр DataGridColumn.
ПараметрыcolumnName:String (default = null ) — Имя, отображаемое в заголовке столбца. Если имя столбца не указано, используется значение dataField .
|
Связанные элементы API
itemToLabel | () | метод |
public function itemToLabel(data:Object):String
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flash CS3 |
Версии среды выполнения: | Flash Player 9.0.28.0, AIR 1.0 |
Возвращает строку, которую средство визуализации элементов отображает для заданного объекта данных. Если объекту DataGridColumn или его компоненту DataGrid присвоено свойство labelFunction
, значение которого отличается от нуля, он присваивает эту функцию объекту данных. В противном случае этот метод извлекает содержимое поля, определяемого свойством dataField
, или получает значение строки объекта данных. Если методу не удается преобразовать параметр в строку, то метод возвращает один пробел.
Параметры
data:Object — Объект, создаваемый путем визуализации.
|
String — Отображаемая строка, основанная на указанном объекте data .
|
toString | () | метод |
- Добавьте компоненты DataGrid и Button в библиотеку.
- Сохраните этот код под именем DataGridColumnExample.as в том же каталоге, где и FLA-файл.
- Присвойте параметру DocumentClass в FLA-файле значение 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]); } } }
Tue Jun 12 2018, 11:34 AM Z