【发布时间】:2011-07-08 12:21:01
【问题描述】:
我在使用 datagrid itemRenderers 时遇到了一些相当古怪的行为。
首先,我创建一个 ArrayCollection,如下所示:
[Bindable]
private var myBooleans:ArrayCollection = new ArrayCollection([false,true]);
然后我将它绑定到数据网格:
<mx:DataGrid dataProvider="{myBooleans}" width="100%" height="100%">
<mx:columns>
<mx:DataGridColumn
xmlns:mx="library://ns.adobe.com/flex/mx"
headerText="Value"
editorDataField="selected"
rendererIsEditor="true"
itemRenderer="mx.controls.CheckBox"
>
</mx:DataGridColumn>
</mx:columns>
</mx:DataGrid>
运行时,如果布尔值 == true,数据网格仅显示具有正确 itemRenderer 的行。
对于 boolean == false 的行,它将显示一个空行。
我还想补充一点,将布尔值包装在包装器对象中不会因我的用例而减少它,因为我将通过 RPC 调用接收未包装的布尔值的 ArrayCollection。
干杯
【问题讨论】:
-
你为什么要为单列使用数据网格?为什么不是列表?
-
@J_A_X,因为默认的排序机制会很方便。不过,将不得不走 List 路径,并且可能暂时放弃排序。
-
使用 Array 或 ArrayCollection 很容易完成排序。
-
确实如此,肯定会去列表。
标签: apache-flex datagrid itemrenderer