패키지 | fl.controls.listClasses |
인터페이스 | public interface ICellRenderer |
구현자 | CellRenderer, DataGridCellEditor, ImageCell |
언어 버전: | ActionScript 3.0 |
제품 버전: | Flash CS3 |
런타임 버전: | Flash Player 9.0.28.0, AIR 1.0 |
관련 API 요소
공용 속성
속성 | 정의 주체 | ||
---|---|---|---|
data : Object
구성 요소와 관련된 데이터를 나타내는 객체를 가져오거나 설정합니다. | ICellRenderer | ||
listData : ListData
index 및 selected 값과 같이 셀에 적용되는 목록 속성을 가져오거나 설정합니다. | ICellRenderer | ||
selected : Boolean
현재 셀이 선택되었는지 여부를 나타내는 부울 값을 가져오거나 설정합니다. | ICellRenderer | ||
x : Number [쓰기 전용]
셀 렌더러의 x 좌표를 설정합니다.
| ICellRenderer | ||
y : Number [쓰기 전용]
셀 렌더러의 y 좌표를 설정합니다.
| ICellRenderer |
공용 메서드
메서드 | 정의 주체 | ||
---|---|---|---|
현재 셀을 특정 마우스 상태로 설정합니다. | ICellRenderer | ||
width 및 height 매개 변수로 지정된 픽셀 값에 따라 데이터의 크기를 설정합니다. | ICellRenderer |
속성 세부 정보
data | 속성 |
data:Object
언어 버전: | ActionScript 3.0 |
제품 버전: | Flash CS3 |
런타임 버전: | Flash Player 9.0.28.0, AIR 1.0 |
구성 요소와 관련된 데이터를 나타내는 객체를 가져오거나 설정합니다. 이 값이 설정되면 구성 요소 데이터가 저장되고 데이터를 포함하는 구성 요소는 무효화됩니다. 그런 다음 무효화된 구성 요소가 자동으로 다시 그려집니다.
data 속성은 DataProvider에서 셀이 나타내는 항목을 포함하는 객체를 나타냅니다. 일반적으로 data 속성에는 구성 요소 유형에 따른 표준 속성이 포함됩니다. List 또는 ComboBox 구성 요소의 CellRenderer 데이터에는 label, icon 및 data 속성이 있고, TileList에는 label 및 source 속성이 있으며, DataGrid 셀에는 각 열의 값이 포함됩니다. 또한 data 속성은 특정 셀과 관련된 사용자 지정 데이터를 포함할 수도 있습니다. 사용자는 구성 요소의 CellRenderer를 확장하여 셀을 렌더링할 때 데이터의 다른 여러 속성을 사용할 수 있습니다.
뿐만 아니라 labelField
, labelFunction
, iconField
, iconFunction
, sourceField
및 sourceFunction
요소를 사용하여 각 레이블, 아이콘 및 소스를 그리는 데 사용되는 속성을 지정할 수 있습니다.
구현
public function get data():Object
public function set data(value:Object):void
listData | 속성 |
selected | 속성 |
x | 속성 |
y | 속성 |
메서드 세부 정보
setMouseState | () | 메서드 |
setSize | () | 메서드 |
예제 예제 사용 방법
ICellRendererExample.as
다음 예제에서는 ICellRenderer 클래스를 구현하여 사용자 정의 셀 렌더러를 만듭니다.
예제를 실행하려면 다음 단계를 수행합니다.
- List 및 Button 구성 요소를 라이브러리에 추가합니다.
- 이 코드를 FLA 파일과 같은 디렉토리에 ICellRendererExample.as로 저장합니다.
- FLA 파일의 Document 클래스를 ICellRendererExample로 설정합니다.
package { import fl.controls.List; import fl.data.DataProvider; import fl.events.ListEvent; import flash.display.Sprite; import flash.events.Event; public class ICellRendererExample extends Sprite { public function ICellRendererExample() { var dp:DataProvider = new DataProvider(); var totalEntries:Number = 42; var i:Number; for(i=0; i<totalEntries; i++) { dp.addItem( { label:Math.random(), data:null } ); } var myList = new List(); myList.setSize(300,300); myList.move(10,10); myList.setStyle('cellRenderer', MyRenderer); myList.dataProvider = dp; addChild(myList); } } }
MyRenderer.as
다음 코드를 FLA 파일과 같은 디렉토리에 MyRenderer.as로 저장합니다.
package { import fl.controls.LabelButton; import fl.controls.listClasses.ICellRenderer; import fl.controls.listClasses.ListData; public class MyRenderer extends LabelButton implements ICellRenderer { private var _listData:ListData; private var _data:Object; public function MyRenderer() { } public function set listData(newListData:ListData):void { _listData = newListData; label = "Random: " + _listData.label; drawRandomColor(); } private function drawRandomColor():void { graphics.beginFill(Math.random()*0xFFFFFF); graphics.drawRect(0,0,20,20); graphics.endFill(); } public function get listData():ListData { return _listData; } public function set data(newData:Object):void { _data = newData; } public function get data():Object { return _data; } } }
Tue Jun 12 2018, 03:17 PM Z