查看flex 4.6(flash builder)文档,它显示了为数据网格列创建项目编辑器的示例,但它们的示例是使用“mx”库。我试图坚持使用火花库。我似乎无法在spark中提出平等的工作代码:
这是他们的代码:
<mx:itemEditor>
<fx:Component>
<mx:VBox backgroundColor="yellow">
<fx:Script>
<![CDATA[
// Define a property for returning
// the new value to the cell.
[Bindable]
public var cbSelected:Boolean;
]]>
</fx:Script>
<mx:CheckBox id="followUpCB"
label="Follow up needed"
height="100%" width="100%"
selected="{data.FollowUp}"
click="cbSelected=followUpCB.selected"/>
</mx:VBox>
</fx:Component>
</mx:itemEditor>
</mx:DataGridColumn>
我想做同样的事情,但使用火花数据网格,火花复选框和VGroup等。
有可能/如何?
更新:稍微进步一点,我现在通过查看各种示例来部分工作。它绘制复选框,我可以单击复选框来更改值,但是,它似乎没有触发数据网格更改/更新。例如,我必须编辑数据网格中的不同字段,以便数据网格更新并保存回服务器。我正在使用gridItemEditorSessionSave事件:
<s:DataGrid id="recsDG" width="100%" height="100%" dataProvider="{_recs}"
editable="true" gridItemEditorSessionSave="recsDG_gridItemEditorSessionSaveHandler(event)" alternatingRowColors="[#FFFFFF, #CCCCCC]">
...
<s:GridColumn headerText="active" dataField="active" rendererIsEditable="true" >
<s:itemRenderer>
<fx:Component>
<s:GridItemRenderer>
<s:CheckBox id="test124" selected="{(data.active==1)}"
change="{data.active=int(test124.selected)}"/>
</s:GridItemRenderer>
</fx:Component>
</s:itemRenderer>
</s:GridColumn>