ADVANCED DATA GRID:在网格xml标记中设置各列的属性

时间:2010-02-26 13:08:00

标签: flex actionscript-3 actionscript flex3

是否可以在'advanceddatagrid'mxml标记中控制'advancedgridcolumns'的属性。对于例如假设网格数据提供者有3个不同的字段。在这3个字段中,有一个字段是“to_be_decided”。最初不应显示此字段。只应显示剩余的2列(可见为真),并且应隐藏第三列(一个数据字段为“to_be_decided”,可见标志为false)。当某些事件(如按钮单击或某事件被触发)时,它将可见。

我们可以通过访问各个网格列并采取适当的操作,在动作脚本编码中执行此操作。但是有可能在mxml中这样做吗?网格中是否有一些可以在这里使用的默认属性?

在mxml中,我无法在网格中单独访问它们(在标记下),因此我无法单独为每个属性设置可见属性。要在'columns'标签中逐个添加它们,我将需要知道数组集合中的数据字段,我不知道。只有已知的数据字段是“to_be_decided”,其余两个字段会不时变化。因此,即使我在'columns'标签中添加了这一个gridcolumn,另外两个呢?

这样的事情:

 <mx:columns>
      <mx:AdvancedDataGridColumns dataField='to_be_decided' visible=false>
      <!-- How to add other 2 columns here ? -->
 </mx:columns>

这方面有什么建议/想法吗?

如果我没有说清楚,请告诉我,我会尝试重新构思我的问题。 提前谢谢。

1 个答案:

答案 0 :(得分:1)

你可以尝试

 <mx:columns>
    <mx:Repeater id="rp" dataProvider="{yourArrayCollection}">
      <mx:AdvancedDataGridColumns dataField="{rp.currentItem.fieldName}" visible="{rp.currentItem.show}">
    </mx:Repeater>
 </mx:columns>

其中dataProvider(yourArrayCollection)是具有属性“fieldName”(String)和“show”(布尔)的对象的ArrayCollection。