| パッケージ | 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):voidlistData | プロパティ |
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