在 Flex 中动态向数据网格添加列
我正在尝试制作一个数据网格,它将根据某些条件动态地向其中添加列。 现在,我可以添加列,但我希望新添加的列具有使用 itemRenderer 的按钮。
但我无法实现这一目标。在第 1 行出现此错误
描述资源路径位置类型 1067:隐式强制 mx.controls:Button 类型的值指向不相关的类型 mx.core:IFactory。 Demo.mxml /Demo/src 第 14 行 Flex 问题
有人可以帮忙吗?
这是一个代码片段:
private function addDataGridColumn(dataField:String):void {
var dgc:DataGridColumn = new DataGridColumn();
dgc.itemRenderer = button1; // Line 1
var cols:Array = dataGrid.columns;
cols.push(dgc);
dataGrid.columns = cols;
}
I am trying to make a datagrid, that will dynamically add columns to it based on some condition.
Now, I am able to add the columns, but I want the newly added column to have button using itemRenderer.
I am unable to achieve this though. Getting this error on line 1
Description Resource Path Location Type 1067: Implicit coercion of a
value of type mx.controls:Button to an unrelated type
mx.core:IFactory. Demo.mxml /Demo/src line 14 Flex Problem
Can anyone help ?
Here's a code snippet :
private function addDataGridColumn(dataField:String):void {
var dgc:DataGridColumn = new DataGridColumn();
dgc.itemRenderer = button1; // Line 1
var cols:Array = dataGrid.columns;
cols.push(dgc);
dataGrid.columns = cols;
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
itemRenderer
和itemEditor
属性的类型为IFactory
。当您在 MXML 中设置这些属性时,MXML 编译器会自动将属性值转换为 ClassFactory 类型,即实现 IFactory 接口的类。当您在 ActionScript 中设置这些属性时,必须将属性值显式转换为 ClassFactory
您可能正在寻找此功能,将按钮添加到新添加列的所有行。
The
itemRenderer
anditemEditor
properties are of typeIFactory
. When you set these properties in MXML, the MXML compiler automatically casts the property value to the typeClassFactory
, a class that implements the IFactory interface.When you set these properties in
ActionScript
, you must explicitly cast the property value toClassFactory
You might be looking for this, adds buttons to all rows of newly added column.