適用於 Adobe® Flash® Platform 的 ActionScript® 3.0 參考
首頁  |  隱藏套件和類別清單 |  套件  |  類別  |  新增內容  |  索引  |  附錄  |  為什麼顯示英文?
篩選: 從伺服器擷取資料...
從伺服器擷取資料...
fl.controls.listClasses 

ICellRenderer  - AS3 Flash

套件fl.controls.listClasses
介面public interface ICellRenderer
實作者 CellRenderer, DataGridCellEditor, ImageCell

語言版本: ActionScript 3.0
產品版本: Flash CS3
執行階段版本: Flash Player 9.0.28.0, AIR 1.0

ICellRenderer 介面會提供儲存格輸出器所需的方法和屬性。 所有使用者定義的儲存格輸出器都必須實作此介面。 所有使用者定義的儲存格輸出器都必須擴充 UIComponent 類別或 UIComponent 類別的子類別。

檢視範例

相關 API 元素



公用屬性
 屬性定義自
  data : Object
會取得或設定 Object,它代表與組件相關聯的資料。
ICellRenderer
  listData : ListData
會取得或設定套用至儲存格的清單屬性 (例如,index 和 selected 值)。
ICellRenderer
  selected : Boolean
會取得或設定 Boolean 值,指出是否已選取目前的儲存格。
ICellRenderer
  x : Number
[唯寫] 設定儲存格輸出器的 x 座標
ICellRenderer
  y : Number
[唯寫] 設定儲存格輸出器的 y 座標
ICellRenderer
公用方法
 方法定義自
  
將目前儲存格設定為特定滑鼠狀態。
ICellRenderer
  
setSize(width:Number, height:Number):void
根據 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,以在儲存格呈現中使用不同的資料屬性。

此外,您可以使用 labelFieldlabelFunctioniconFieldiconFunctionsourceFieldsourceFunction 元素,指定要使用哪些屬性來分別繪製標籤、圖示和來源。



實作
    public function get data():Object
    public function set data(value:Object):void

listData

屬性 
listData:ListData

語言版本: ActionScript 3.0
產品版本: Flash CS3
執行階段版本: Flash Player 9.0.28.0, AIR 1.0

會取得或設定套用至儲存格的清單屬性 (例如,indexselected 值)。 這些清單屬性會在儲存格無效化之後自動更新。



實作
    public function get listData():ListData
    public function set listData(value:ListData):void

selected

屬性 
selected:Boolean

語言版本: ActionScript 3.0
產品版本: Flash CS3
執行階段版本: Flash Player 9.0.28.0, AIR 1.0

會取得或設定 Boolean 值,指出是否已選取目前的儲存格。 值為 true 表示已選取目前儲存格;值為 false 則表示未選取。



實作
    public function get selected():Boolean
    public function set selected(value:Boolean):void

x

屬性 
x:Number  [唯寫]

語言版本: ActionScript 3.0
產品版本: Flash CS3
執行階段版本: Flash Player 9.0.28.0, AIR 1.0

設定儲存格輸出器的 x 座標



實作
    public function set x(value:Number):void

y

屬性 
y:Number  [唯寫]

語言版本: ActionScript 3.0
產品版本: Flash CS3
執行階段版本: Flash Player 9.0.28.0, AIR 1.0

設定儲存格輸出器的 y 座標



實作
    public function set y(value:Number):void
方法詳細資訊

setMouseState

()方法
public function setMouseState(state:String):void

語言版本: ActionScript 3.0
產品版本: Flash CS3
執行階段版本: Flash Player 9.0.28.0, AIR 1.0

將目前儲存格設定為特定滑鼠狀態。 當使用者與單一儲存格互動時,若要針對一整列設定滑鼠狀態,DataGrid 就需要此方法。

參數

state:String — 指定滑鼠狀態的字串,如 "up" (一般) 或 "over" (滑入)。

setSize

()方法 
public function setSize(width:Number, height:Number):void

語言版本: ActionScript 3.0
產品版本: Flash CS3
執行階段版本: Flash Player 9.0.28.0, AIR 1.0

根據 widthheight 參數所指定的像素值,設定資料的大小。

參數

width:Number — 顯示儲存格輸出器的寬度,以像素為單位。
 
height:Number — 顯示儲存格輸出器的高度,以像素為單位。

ICellRendererExample.as

此範例會透過實作 ICellRenderer 類別建立自訂儲存格輸出器。

若要執行範例,請遵循下列步驟:

  1. 將 List 和 Button 組件加入元件庫。
  2. 將此程式碼另存為 ICellRendererExample.as,與 FLA 檔放在同一個目錄中。
  3. 將 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;
        }
    }
}




[ X ]為什麼顯示英文?
「ActionScript 3.0 參考」的內容是以英文顯示

並非所有「ActionScript 3.0 參考」的內容都翻譯為所有語言。當語言元素未翻譯時,就會以英文顯示。例如,ga.controls.HelpBox 類別並沒有翻譯為任何語言。因此在參考的繁體中文版本中,ga.controls.HelpBox 類別就會以英文顯示。