| 包 | 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,该 Object 表示与组件关联的数据。 | ICellRenderer | ||
| listData : ListData
获取或设置应用到单元格的列表属性,例如 index 和 selected 值。 | ICellRenderer | ||
| selected : 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,该 Object 表示与组件关联的数据。 设置该值后,将存储组件数据并使包含组件变为无效。 然后,将自动重绘变为无效的组件。
数据属性表示一个对象,该对象包含单元格代表的 DataProvider 中的项目。 通常,数据属性根据组件类型包含标准属性。 在 CellRenderer 中的 List 或 ComboBox 组件中,数据包含标签、图标和数据属性;在 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 组件添加到库中。
- 将该代码作为 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, 11:04 AM Z