向itemEditor回传多个值

xiaoxiao2026-04-15  6

<mx:VBox xmlns:mx="http://www.adobe.com/2006/mxml"      backgroundColor="yellow"><!-- itemRenderers\events\myComponents\CityStateEditor.mxml -->

    <mx:TextInput id="setCity"  width="130" text="{data.City}"/>                                <mx:ComboBox id="pickState" selectedItem="{data.State}">        <mx:dataProvider>            <mx:String>AL</mx:String>            <mx:String>AK</mx:String>            <mx:String>AR</mx:String>            <mx:String>CA</mx:String>            <mx:String>MA</mx:String>        </mx:dataProvider>    </mx:ComboBox></mx:VBox>

``````````````````````````````````````````````````````````

<!-- itemRenderers\events\ComplexDGEditorReturnObject.mxml -->

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"      width="700">        <mx:Script>        <![CDATA[            import mx.events.DataGridEvent;            import mx.events.DataGridEventReason;            import mx.collections.ArrayCollection;            import myComponents.CityStateEditor;                                    [Bindable]            public var initDG:ArrayCollection = new ArrayCollection([                {Company: 'Acme', Contact: 'Bob Jones',                     Phone: '413-555-1212', City: 'Boston', State: 'MA'},                {Company: 'Allied', Contact: 'Jane Smith',                     Phone: '617-555-3434', City: 'SanFrancisco', State: 'CA'}              ]);                            // Define the event listener.            public function processData(event:DataGridEvent):void {                // Check the reason for the event.                if (event.reason == DataGridEventReason.CANCELLED){                    // Do not update cell.                    return;                }                           if(event.dataField == "City and State")                {                    // Disable copying data back to the control.                    event.preventDefault();                    // Get new city from editor.                    myGrid.editedItemRenderer.data.City = CityStateEditor(DataGrid(event.target).itemEditorInstance).setCity.text;                    // Get new state from editor.                    myGrid.editedItemRenderer.data.State = CityStateEditor(DataGrid(event.target).itemEditorInstance).pickState.selectedItem;                    // Close the cell editor.                    myGrid.destroyItemEditor();                    // Notify the list control to update its display.                    myGrid.dataProvider.itemUpdated(event.itemRenderer.data);                }            }                   ]]>    </mx:Script>        <mx:DataGrid id="myGrid"         rowHeight="75"         dataProvider="{initDG}"         editable="true"         itemEditEnd="processData(event);">          <mx:columns>            <mx:DataGridColumn dataField="Company" editable="false"/>            <mx:DataGridColumn dataField="Contact"/>            <mx:DataGridColumn dataField="Phone"/>            <mx:DataGridColumn dataField="City and State" width="150"                    itemEditor="myComponents.CityStateEditor">                <mx:itemRenderer>                    <mx:Component>                        <mx:Text selectable="false" width="100%"                             text="{data.City}, {data.State}"/>                    </mx:Component>                </mx:itemRenderer>            </mx:DataGridColumn>        </mx:columns>           </mx:DataGrid>      </mx:Application>

转载请注明原文地址: https://www.6miu.com/read-5047401.html

最新回复(0)