패키지 | 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(Input Method Editor) 모드입니다. | 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
이름이나 숫자로 식별되고 bitwise OR(|) 연산자로 구분되는 하나 이상의 정의된 상수입니다. | 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인 경우 문자열 값은 정규화된 클래스 이름이어야 합니다.
기본값: 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
로 설정된 경우 DataGrid의 editable
속성도 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"
가 됩니다. 이 값은 TextInput 구성 요소의 text
속성을 지정합니다.
기본값: "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(Input Method Editor) 모드입니다. IME를 사용하면 텍스트를 한국어, 중국어, 일본어로 입력할 수 있습니다. flash.system.IMEConversionMode 클래스는 이 속성에 유효한 값으로 사용할 상수를 정의합니다.
이 속성이 null
이면 IME 모드가 DataGrid 구성 요소의 imeMode
속성 값으로 설정됩니다.
기본값: 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
로 설정하여 정렬할 수 없는 열이 하나 있는 DataGrid를 만듭니다.
import fl.controls.DataGrid; import fl.controls.dataGridClasses.DataGridColumn; import fl.data.DataProvider; import fl.events.DataGridEvent; var xmlDP:XML = <items> <item name="Person 1" bio="Person 1 bio" /> <item name="Person 2" bio="Person 2 bio" /> </items>; var dp:DataProvider = new DataProvider(xmlDP); var nameCol:DataGridColumn = new DataGridColumn("name"); nameCol.headerText = "Name:"; var bioCol:DataGridColumn = new DataGridColumn("bio"); bioCol.headerText = "Bio:"; bioCol.sortable = false; var myDataGrid:DataGrid = new DataGrid(); myDataGrid.addColumn(nameCol); myDataGrid.addColumn(bioCol); myDataGrid.dataProvider = dp; myDataGrid.rowCount = dp.length; myDataGrid.width = 200; myDataGrid.move(10, 10); myDataGrid.addEventListener(DataGridEvent.HEADER_RELEASE, headerReleaseHandler); addChild(myDataGrid); function headerReleaseHandler(event:DataGridEvent):void { var myDG:DataGrid = event.currentTarget as DataGrid; trace("dataField:" + event.dataField); trace("columnIndex:" + event.columnIndex); trace("{DataGrid}.sortDescending:" + myDG.sortDescending); trace("{DataGridColumn}.sortDescending:" + myDG.getColumnAt(event.columnIndex).sortDescending); trace(""); }
sortCompareFunction | 속성 |
sortCompareFunction:Function
언어 버전: | ActionScript 3.0 |
제품 버전: | 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 |
이름이나 숫자로 식별되고 bitwise OR(|) 연산자로 구분되는 하나 이상의 정의된 상수입니다. 이러한 상수는 정렬 작업을 지정하는 데 사용됩니다.
기본값: 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
속성을 전환할 수 있습니다.
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 | () | 생성자 |
itemToLabel | () | 메서드 |
public function itemToLabel(data:Object):String
언어 버전: | ActionScript 3.0 |
제품 버전: | Flash CS3 |
런타임 버전: | Flash Player 9.0.28.0, AIR 1.0 |
지정된 데이터 객체에 대해 항목 렌더러가 표시하는 문자열을 반환합니다. DataGridColumn 또는 해당 DataGrid 구성 요소의 labelFunction
속성이 null이 아니면 데이터 객체에 함수를 적용합니다. 그렇지 않으면 메서드는 dataField
속성으로 지정된 필드의 내용을 추출하거나 데이터 객체의 문자열 값을 가져옵니다. 매개 변수를 문자열로 변환할 수 없는 경우 이 메서드는 공백 하나를 반환합니다.
매개 변수
data:Object — 렌더링할 객체입니다.
|
String — 지정된 data 객체에 따라 표시할 수 있는 문자열입니다.
|
toString | () | 메서드 |
- DataGrid 및 Button 구성 요소를 라이브러리에 추가합니다.
- 이 코드를 FLA와 같은 디렉토리에 DataGridColumnExample.as로 저장합니다.
- FLA의 DocumentClass를 DataGridColumnExample로 설정합니다.
package { import flash.display.Sprite; import flash.events.MouseEvent; import fl.data.DataProvider; import fl.events.DataChangeEvent; import fl.controls.DataGrid; import fl.controls.Button; import fl.controls.dataGridClasses.DataGridColumn; public class DataGridColumnExample extends Sprite { private var dg:DataGrid; private var dp:DataProvider; private var names:Array = [ "Mary", "Bob", "Sue", "Joe" ]; public function DataGridColumnExample() { dp = new DataProvider(); dp.addEventListener(DataChangeEvent.DATA_CHANGE,dataChanged); dg = new DataGrid(); addChild(dg); dg.move(10,45); dg.setSize(450,300); dg.addColumn(new DataGridColumn("name")); dg.addColumn(new DataGridColumn("phone")); dg.addColumn(new DataGridColumn("email")); var firstColumn = dg.columns[0]; firstColumn.resizable = false; var secondColumn = dg.columns[1]; secondColumn.sortable = false; var thirdColumn = dg.columns[2]; thirdColumn.sortable = false; var addContactBtn:Button = new Button(); addContactBtn.label = "Add Contact"; addContactBtn.move(10,10); addContactBtn.addEventListener(MouseEvent.CLICK, addContact); addChild(addContactBtn); } private function getRandomPhone():String { return randomDigit()+randomDigit()+randomDigit()+"-"+randomDigit()+randomDigit()+randomDigit()+"-"+randomDigit()+randomDigit()+randomDigit()+randomDigit(); } private function randomDigit():String { return String(Math.round(Math.random()*10)%10); } private function getRandomName():String { return names[Math.round(Math.random()*names.length)%names.length]; } private function addContact(e:MouseEvent):void { var randomName:String = getRandomName() dp.addItem( { name: randomName, phone: getRandomPhone(), email: randomName + "@fictitious.com" } ); } private function dataChanged(e:DataChangeEvent):void { var changedItems:Array = e.items; dg.addItem(changedItems[0]); } } }
Tue Jun 12 2018, 03:17 PM Z