如何根据另一个项目渲染器(相同数据网格但不同列)设置数据网格列的一个项目渲染器的数据提供者?

时间:2011-02-01 21:24:13

标签: flash actionscript-3 flex3 adobe

我在数据网格的2个不同列上有两个项目渲染器。两者都是组合框。我在这里尝试做的是根据firxt组合框中项目的选择设置第二个组合框的数据提供者。但是我怎么能让第二个项目清单者知道第一个项目中选择的项目是什么?

这是代码

<mx:DataGridColumn id="deptCol" headerText="Department" width="300">
<mx:itemRenderer>
 <mx:Component>
  <mx:HBox width="100%" height="100%" horizontalAlign="center">
   <mx:ComboBox id="cmbBox1" dataProvider="{XML(data).d.@department_description}" />
  </mx:HBox>
 </mx:Component>
</mx:itemRenderer>
</mx:DataGridColumn>

<mx:DataGridColumn id="deptCol" headerText="Department" width="300">
<mx:itemRenderer>
 <mx:Component>
  <mx:HBox width="100%" height="100%" horizontalAlign="center">
   <mx:ComboBox id="cmbBox2" dataProvider="{<some DataProvider Based on Selection of cmbBox1> ?? **HOW TO SET IT**}" />
  </mx:HBox>
 </mx:Component>
</mx:itemRenderer>
</mx:DataGridColumn>

1 个答案:

答案 0 :(得分:0)

我使用间接技术让它工作...使用XML列表作为数据提供者并在名为“IsSelected”的每个级别添加另一个属性,并在选择之后将其默认为0(以及每个级别的唯一ID)第一个组合框我设置了相应的“IsSelected”= 1 ...一个项目渲染器所做的更改因此可供另一个项目使用。不必告诉一个使用唯一ID识别另一个。