套件 | 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
會取得或設定 Object,它代表與組件相關聯的資料。 | ICellRenderer | ||
listData : ListData
會取得或設定套用至儲存格的清單屬性 (例如,index 和 selected 值)。 | ICellRenderer | ||
selected : Boolean
會取得或設定 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 |
會取得或設定 Object,它代表與組件相關聯的資料。 設定此值時,就會儲存組件資料,而且包含的組件就會無效化。 接著,就會自動重新繪製無效的組件。
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 組件加入元件庫。
- 將此程式碼另存為 ICellRendererExample.as,與 FLA 檔放在同一個目錄中。
- 將 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
將下列程式碼另存為 MyRenderer.as,與 FLA 檔放在同一個目錄中:
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:47 PM Z