datagrid列项目渲染器之间的通信

时间:2012-03-13 14:34:01

标签: flex itemrenderer

我有一个包含两个可编辑列的数据网格。 我需要根据A列中textinput的值,在B列中创建text(或不需要)textInput。 我正在使用内联itemrenderers来使列可编辑。

我尝试在A列的textinput上使用change事件

<mx:itemRenderer>
  .....
  <mx:textinput id="textInputColumnA"
                .....
                change="outerDocument.addEventChangeColumnA()" .../>
  ....
</mx:itemRenderer>

并在outerDocument中

public function addEventChangeColumnA():void{
 dataGrid.addEventDispatch(new Event("columnAChanged"));
}                    

然后进入B列的itemRender

<mx:itemRenderer>
   <mx:texinput id="textInputColumnB" 
                ......
                preInitialize="addEventListener()"/>
   ....
</mx:itemRenderer>

public function addEventListener(){
 textInputColumnB.addEventListener('columnAChanged','columnAChangedHandler');
}

public function columnAChangedHandler(){
// reading from dataProvider value written in textInputColumnA and set column B required attribute
}

这不起作用,为什么? 感谢

0 个答案:

没有答案