2

查看 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>
4

0 回答 0