Player 版本 : | Flash Player 9.0.28.0 |
ICellRenderer 接口提供单元格渲染器需要的方法和属性。 所有用户定义单元格渲染器都应实现此接口。
查看示例
data:Object
[read-write]
Player 版本 : | Flash Player 9.0.28.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):void
listData:ListData
[read-write]
Player 版本 : | Flash Player 9.0.28.0 |
获取或设置应用到单元格的列表属性,例如 index
和 selected
值。 单元格变为无效以后,这些列表属性会自动更新。
实现
public function get listData():ListData
public function set listData(value:ListData):void
selected:Boolean
[read-write]
Player 版本 : | Flash Player 9.0.28.0 |
获取或设置一个布尔值,该值指示是否已选择当前单元格。 true
值指示已选择当前单元格;false
值指示未选择当前单元格。
实现
public function get selected():Boolean
public function set selected(value:Boolean):void
public function setMouseState(state:String):void
Player 版本 : | Flash Player 9.0.28.0 |
将当前单元格设置为特定的鼠标状态。 DataGrid 需要该方法来设置当用户与单个单元格交互时整行的鼠标状态。
参数
| state:String — 一个字符串,用于指定鼠标状态,例如“up”或“over”。
|
public function setSize(width:Number, height:Number):void
Player 版本 : | Flash Player 9.0.28.0 |
根据由 width
和 height
参数指定的像素值设置数据的大小。
参数
| width:Number — 单元格渲染器的显示宽度(以像素为单位)。
|
|
| height:Number — 单元格渲染器的显示高度(以像素为单位)。
|
此示例通过实现 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 另存到 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;
}
}
}
© 2004-2007 Adobe Systems Incorporated. All rights reserved.
Wed Jun 13 2007, 3:54 AM GMT-07:00
当前页: http://livedocs.adobe.com/flash/9.0_cn/ActionScriptLangRefV3/fl/controls/listClasses/ICellRenderer.html