是否可以动态更改属性"可编辑"关于另一列的值的GridColumn。 一旦我填充了dataProvider,我想循环使用dataGrid行,但是我找不到它怎么做?
感谢。
答案 0 :(得分:0)
我试过
editable="{if (data['Type']=='foo'){return true;} else {return false;}}"
但是构建失败。
如何使用itemRenderer?
<s:GridColumn dataField="Type" width="100" editable="false"/>
<s:GridColumn dataField="Name" width="100" editable="false"/>
<s:GridColumn dataField="Score" width="100" editable="true" rendererIsEditable="true">
<s:itemRenderer>
<fx:Component>
<s:GridItemRenderer>
<fx:Script>
<![CDATA[
override public function set data(value:Object):void {
if (value != null && value != "") {
super.data = value;
if (super.data["Type"] == "foo"){
somefield.editable = true;
}
else{
somefield.editable = false;
}
}
}
]]>
</fx:Script>
<s:TextInput id="somefield" text="{data.Score}"/>
</s:GridItemRenderer>
</fx:Component>
</s:itemRenderer>
</s:GridColumn>
答案 1 :(得分:0)
感谢。事实上,我对某些列使用ItemEditor和/或ItemRenderer。
就我而言,我有
<s:GridColumn id="gcAmountEUR" labelFunction="amountFormat" dataField="AmountEUR" headerText="AMOUNT EUR" width="80" itemEditor="components.gieOrderAmount">
<s:itemRenderer>
<fx:Component>
<s:DefaultGridItemRenderer textAlign="right" />
</fx:Component>
</s:itemRenderer>
</s:GridColumn>
<s:GridColumn dataField="CurrencyCode" headerText="CURRENCY" width="50" itemEditor="components.gieOrderCurrency" >
</s:GridColumn>
<s:GridColumn id="gcAmount" labelFunction="amountFormat" dataField="Amount" headerText="AMOUNT" width="120" itemEditor="components.gieOrderAmount">
<s:itemRenderer>
<fx:Component>
<s:DefaultGridItemRenderer textAlign="right" />
</fx:Component>
</s:itemRenderer>
</s:GridColumn>
datagrig具有editable =“true”属性。
默认情况下,AmountEUR列是可编辑的,Amount列不是。 但是如果一行中Currency的值不是“”,那么我希望AmountEUR不可编辑且金额可编辑。所以我想以编程方式更改每行的列的可编辑属性。 所以我想解析datagrid,为每一行更改AmountEUR的属性值“Editable”和Money,如果Currency不为空。
但也许不是这样做的好方法? 我希望我能说清楚。
安托。