什么相当于Spark中的这个Flex MX代码?

时间:2011-03-03 16:58:52

标签: flex flex-mx flex-spark

什么相当于spark中的内联itemRenderer复选框元素?

<mx:AdvancedDataGridColumn headerText="Eliminar" dataField="eliminar"  width="100" textAlign="center">
                    <mx:itemRenderer>
                        <fx:Component>
                            <mx:HBox horizontalAlign="center">
                            <mx:CheckBox id="chkEliminar" change="{data.eliminar = chkEliminar.selected}" selected="{data.eliminar}"/>
                            </mx:HBox>
                        </fx:Component>                     
                    </mx:itemRenderer>
                        </mx:AdvancedDataGridColumn>

3 个答案:

答案 0 :(得分:3)

内联itemRenderers在Spark中的工作方式与在Halo中的工作方式相同。

Spark有自己的可以使用的CheckBox组件<s:CheckBox>,但您也可以继续使用您的示例中的Halo CheckBox <mx:CheckBox>

答案 1 :(得分:2)

+1杰森的回答

Inline itemRenderers work the same in spark as they did in Halo

我想补充一点,如果你想在渲染器中使用Spark Components,那么你需要实现IDataRenderer接口或使用itemRenderer类。 More info here。我会把你现有的itemRenderer重写成Spark:

<fx:Component>
<s:ItemRenderer>
 <s:CheckBox id="chkEliminar" change="{data.eliminar = chkEliminar.selected}" selected="{data.eliminar}"/>
</s:ItemRenderer>
</fx:Component>   

目前,我忽略了在itemRenderer中绑定被认为是一种不好的做法的行为,你真的应该使用dataChange事件来修改所选的值。

答案 2 :(得分:2)

此处的其他两个答案都适用于这种情况,其中只有一个子项目,但如果您希望itemrenderer具有类似HBox的布局,则需要手动指定:

<s:itemRenderer>
  <fx:Component>
    <s:itemRenderer>
       <s:layout>
         <s:HorizontalLayout horizontalAlign="center"/>
       </s:layout>
       <mx:CheckBox id="chkEliminar" change="{data.eliminar = chkEliminar.selected}" selected="{data.eliminar}"/>
     </s:itemRenderer>
   </fx:Component>                     
 </s:itemRenderer>