PDA

Volledige versie bekijken : [FLEX2] model en 2 datagrids en custom component


ThaLyric
%Europe/Berlin %118 %2007, 02:50
ok ... ben weer aan het Flexen en kwam een probleempje tegen.

Ik heb een model, 2 datagrids en een custom component.

De model staat gekoppeld aan de selected item van datagrid1. De custom component staat weer gekoppeld aan de model.

Nu kan je items draggen van datagrid 1 naar datagrid 2. Nu wil ik echter dat als je op een item klikt in datagrid 2, dat dan de model gevuld wordt met de selected item van datagrid 2. De custom component kan dan weer op zijn beurt de model uitlezen.

Ik weet helaas niet hoe ik nu de selected item van datagrid 2 in die model krijg. Iemand een idee?

TheDutch
%Europe/Berlin %257 %2007, 06:11
Laat even je code zien als je wilt :).
Wil je dat zodra datagrid 2 geen selected item meer heeft het ook weggaat uit het model (zeg maar een live koppeling "binding")?

ThaLyric
%Europe/Berlin %456 %2007, 10:57
nou meer dat als je weer op datagrid1 klikt, dat de selecteditem van DG1 in de model staat.

ThaLyric
%Europe/Berlin %464 %2007, 11:09
hmm heb um ..

ik had eerst een model vb


<mx:Model id="myModel">
{dg1.selectedItem}
</mx:Model>


dus elke keer als ik bij DG1 iets selecteerde kwam dat in myModel.

Nu heb ik dit omgebouwd:


<mx:Script>

<![CDATA[

[Bindable]
public var selectedModelItem:Object;


]]>
</mx:Script>


<mx:Model id="myModel">
{selectedModelItem}
</mx:Model>


en in mijn DG1 :


<mx:DataGrid id="dg1" change="selectedModelItem=dg.selectedItem">


en dan bij mijn DG2 ook:


<mx:DataGrid id="dg2" change="selectedModelItem=dg.selectedItem">


dus iedereen vult selectedModelItem en dat wou ik ;-)

Denk wel dat ik dit mooier in een class kan doen of niet?

TheDutch
%Europe/Berlin %889 %2007, 21:21
Ik ben er alijd voorstander voor om een bindable Model class te maken volgens het ModelLocator pattern en die te gebruiken dit soort doeleinden :).