| 套件 | 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):voidlistData | 屬性 |
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