mxml大体代码如下:
- XML code
<mx:datagrid > <columns> <mx:datagridcolumn> <mx:itemRender> <mx:component> <mx:TextInput/> </mx:component> </mx:itemRender> </mx:datagridcolumn> </columns> </mx:datagrid>
我在as文件里,给这个datagrid绑定数据后,修改了dataGrid的值。
我怎么能在as文件里,遍历这个datagrid,把修改的值取出来。
也就是怎么能去到这个在mx:component里的TextInput。
初次接触flex,请多多照顾
------解决方案--------------------
<mx:datagridcolumn>
<mx:itemRender>
<mx:component>
<mx:TextInput text="{data.Name}"/>
</mx:component>
</mx:itemRender>
</mx:datagridcolumn>
取值
datagrid.selectedItem.Name;
------解决方案--------------------
呵呵,如上,你给他赋值的数据源直接遍历就可以取出来。
还有一个方法,就是增加一个绑定。和你写的组件绑定起来。组件输入值之后,你绑定的属性自动有值
最后这个没有意义,grid自己有输入框。TextInput只要有焦点进去过,就无法回收。你慎重使用吧。
还有不知道你们跟谁学的,总是这么写。自己写的组件要提出去,单写,并考虑扩展性,安全性。然后用渲染器引入datagridcolumn。这样便于管理。等你们工作了就知道了。
------解决方案--------------------
路过 来弄点分
------解决方案--------------------
- XML code
<mx:datagridcolumn> <mx:itemRender> <mx:component> <mx:Script> <![CDATA[ private function onChange(){ data.Name=das.text; } ]]> </mx:Script> <mx:TextInput id="das" change="onChange()" text="{data.Name}"/> </mx:component> </mx:itemRender> </mx:datagridcolumn>