パッケージ | 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
セルに適用されるリストプロパティを取得または設定します(インデックス値や選択された値など)。 | ICellRenderer | ||
selected : Boolean
現在のセルが選択されているかどうかを示すブール値を取得または設定します。 | ICellRenderer | ||
x : Number [書き込み専用]
セルレンダラーの x 座標を設定します。
| ICellRenderer | ||
y : Number [書き込み専用]
セルレンダラーの y 座標を設定します。
| ICellRenderer |
パブリックメソッド
メソッド | 定義元 | ||
---|---|---|---|
現在のセルを特定のマウスの状態に設定します。 | ICellRenderer | ||
データのサイズを、幅と高さのパラメーターが指定するピクセル値に従って設定します。 | ICellRenderer |
プロパティの詳細
data | プロパティ |
data:Object
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flash CS3 |
ランタイムバージョン: | Flash Player 9.0.28.0, AIR 1.0 |
コンポーネントと関連付けられたデータを表す Object を取得または設定します。この値が設定されていると、コンポーネントデータが保存されて、これを含むコンポーネントが無効化されます。無効化されたコンポーネントは自動的に再描画されます。
データプロパティは、セルが示す DataProvider 内のアイテムを含むオブジェクトを表します。通常、データプロパティにはコンポーネントの種類に応じた標準的なプロパティが格納されます。List または ComboBox コンポーネント内の CellRenderer には、ラベル、アイコンおよびデータプロパティなどのデータが格納されます。TileList の場合はラベルおよびソースプロパティが格納され、DataGrid セルの場合は各列の値が格納されます。データプロパティには、特定のセルに関してユーザーが指定したデータを格納することもできます。ユーザーは、コンポーネントの 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, 10:34 AM Z