Domanda

Di seguito è riportato il codice di esempio.

Mentre inizio a modificare nella colonna OpzioneID o nella colonna Opzione, anche le altre righe della stessa colonna vengono interessate e riflettendo lo stesso valore. Ma quando sto modificando in altre colonne funziona bene ... non so il motivo. Se qualcuno potesse aiutarmi.

 <mx:AdvancedDataGrid id="electionGrid" width="100%" height="70%" folderOpenIcon="{null}" folderClosedIcon="{null}" defaultLeafIcon="{null}" editable="true">
        <mx:dataProvider>
            <mx:HierarchicalData source="{electionSummary}" childrenField="options"/>
        </mx:dataProvider>
        <mx:columns>
            <mx:AdvancedDataGridColumn dataField="dbProduct" headerText="DB Product" editable="false"/>             
            <mx:AdvancedDataGridColumn dataField="entitledQty" headerText="Entitled Quantity" editable="false"/>
            <mx:AdvancedDataGridColumn dataField="entityId" headerText="Entity Id" editable="false"/>
            <mx:AdvancedDataGridColumn dataField="entityName" headerText="Entity Name" editable="false"/>
            <mx:AdvancedDataGridColumn dataField="eventStatus" headerText="Event Status" editable="false"/>
            <mx:AdvancedDataGridColumn dataField="optionId" headerText="Option Id" itemEditor="mx.controls.TextInput" editorDataField="text"/>
            <mx:AdvancedDataGridColumn dataField="option" headerText="Description" itemEditor="mx.controls.TextInput" editorDataField="text"/>            
        </mx:columns>        
    </mx:AdvancedDataGrid>

Dati Hiearchical:

 <mx:ArrayCollection id="optionData">
    <model:CAEventOption optionId="12345" option="Option1"/> 
    <model:CAEventOption optionId="56789" option="Option2"/>
    <model:CAEventOption optionId="89756" option="Option3"/>        
</mx:ArrayCollection>

<mx:ArrayCollection id="electionSummary">
    <model:ElectionStatusSummary dbProduct="Global PB" entitledQty="54500" entityId="DEM0001" entityName="Hedge Fund Long Short Period" 
                eventStatus="Awaiting Election" options="{new ArrayCollection(optionData.source)}"/>
    <model:ElectionStatusSummary dbProduct="Global PB" entitledQty="54500" entityId="DEM0001" entityName="Hedge Fund Long Short Period" 
                eventStatus="Awaiting Election" options="{new ArrayCollection(optionData.source)}"/>
    <model:ElectionStatusSummary dbProduct="Global PB" entitledQty="54500" entityId="DEM0001" entityName="Hedge Fund Long Short Period" 
                eventStatus="Awaiting Election" options="{new ArrayCollection(optionData.source)}"/>        
</mx:ArrayCollection>
È stato utile?

Soluzione

{new ArrayCollection(optionData.source)} crea un nuovo ArrayCollection. Tuttavia, il sottostante Array è sempre lo stesso oggetto (qui optionData).

Per evitare che ciò accada, dovrai creare tre diversi array contenenti istanze diverse di CAEventOption. Qualcosa collega questo:

<mx:ArrayCollection id="electionSummary">
    <model:ElectionStatusSummary dbProduct="Global PB" entitledQty="54500" entityId="DEM0001"
                                 entityName="Hedge Fund Long Short Period" eventStatus="Awaiting Election">
        <model:options>
            <mx:ArrayCollection id="optionData">
                <model:CAEventOption optionId="12345" option="Option1"/>
                <model:CAEventOption optionId="56789" option="Option2"/>
                <model:CAEventOption optionId="89756" option="Option3"/>
            </mx:ArrayCollection>
        </model:options>
    </model:ElectionStatusSummary>
    <model:ElectionStatusSummary dbProduct="Global PB" entitledQty="54500" entityId="DEM0001"
                                 entityName="Hedge Fund Long Short Period" eventStatus="Awaiting Election">
        <model:options>
            <mx:ArrayCollection id="optionData">
                <model:CAEventOption optionId="12345" option="Option1"/>
                <model:CAEventOption optionId="56789" option="Option2"/>
                <model:CAEventOption optionId="89756" option="Option3"/>
            </mx:ArrayCollection>
        </model:options>
    </model:ElectionStatusSummary>
    <model:ElectionStatusSummary dbProduct="Global PB" entitledQty="54500" entityId="DEM0001"
                                 entityName="Hedge Fund Long Short Period" eventStatus="Awaiting Election">
        <model:options>
            <mx:ArrayCollection id="optionData">
                <model:CAEventOption optionId="12345" option="Option1"/>
                <model:CAEventOption optionId="56789" option="Option2"/>
                <model:CAEventOption optionId="89756" option="Option3"/>
            </mx:ArrayCollection>
        </model:options>
    </model:ElectionStatusSummary>
</mx:ArrayCollection>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top