代码:
<mx:DataGridColumn id="a" headerText="Notes" dataField="a" width="200" visible="true" editable="false" wordWrap="true" editorDataField="text">
<mx:itemRenderer>
<mx:Component>
<mx:HBox>
<mx:Text width="100%" height="100%"/>
</mx:HBox>
</mx:Component>
</mx:itemRenderer>
<mx:itemEditor>
<mx:Component>
<mx:HBox>
<renderers:EditorTextRenderer width="100%" />
</mx:HBox>
</mx:Component>
</mx:itemEditor>
ErrorStackTrace: ReferenceError:错误#1069:在a.mxml.a_inlineComponent3上找不到属性文本,并且没有默认值。
答案 0 :(得分:0)
我想,您的自定义组件EditorTextRenderer
应包含属性text
。或者您必须将editorDataField
设置为该属性,该属性负责编辑。有关详细信息,请阅读this。
一个简单的内联项编辑器包含一个支持data属性的控件。 Flex会自动将当前单元格数据复制到项目渲染器或项目编辑器,并根据 editorDataField 属性
的值将新单元格数据复制回列表控件答案 1 :(得分:0)
首先,我不建议使用内联项目渲染器/编辑器。它会使代码变得邋and并阻止您在其他地方重复使用渲染器(这是一个重点;同样,如果在单独的文件中,它将更容易调试)。其次,我认为问题在于EditorTextRenderer
,它可能已经是它自己的渲染器,并且不支持'text'属性。我想你想做的是:
<mx:itemEditor>
<renderers:EditorTextRenderer width="100%" />
</mx:itemEditor>