首先先创建一个类
package DGManager
{
import mx.containers.Canvas;
import mx.controls.ColorPicker;
import mx.controls.TextInput;
import mx.controls.dataGridClasses.DataGridListData;
import mx.controls.listClasses.BaseListData;
import mx.controls.listClasses.IDropInListItemRenderer;
public class PropertyEditor extends Canvas implements IDropInListItemRenderer
{
public var value:Object;
private var _listData:DataGridListData;
private var propName:TextInput;
private var cp:ColorPicker;
public function PropertyEditor(){
}
override public function set data(value:Object):void {
/* 此处为组件创建地方
super.data = value;
if(value!=null){
this.value = value.data;
this.addChild(value.obj);
BindingUtils.bindProperty(value.obj,"width",this,"width");
}
*/
}
public function get listData():BaseListData
{
return _listData;
}
public function set listData(value:BaseListData):void
{
_listData = DataGridListData(value);
}
override public function get data():Object {
return super.data;
}
override protected function createChildren():void{
}
}
}
在将给属性引用下即可
<mx:DataGrid x="0" y="0" width="100%" height="100%" id="PropertMang" editable="true">
<mx:columns>
<mx:DataGridColumn dataField="label" headerText="Property" editable="false"/>
<mx:DataGridColumn dataField="data" headerText="Value" itemEditor="DGManager
" editorDataField="data" width="200">
</mx:DataGridColumn>
</mx:columns>
</mx:DataGrid>
若是动态创建 则可加入new ClassFactory() 即可
itemEditor=new ClassFactory(DGManager);