2010-05-03 6 views
0

Je rencontre des problèmes avec les données de liaison.Flex - La liaison de données ne fonctionne pas

J'ai une application qui contient une vue des composants. Disons que j'ai comp1, comp2 et comp3 dans le viewstack. Chaque composant a sa propre classe de données -> comp1Data.as, comp2Data.as et comp3Data.as. Toutes les valeurs de chaque composant sont liées aux données correspondantes dans son objet de données.

Un clic dans un contrôle dans comp1 mène à comp3, il en va de même pour comp2. Cliquer sur un contrôle dans comp2 mène à comp3. Lorsque vous passez de comp1 à comp3, comp3Data.as est initialisé et comp3 affiche les valeurs liées. En passant de comp2 à comp3, comp3Data.as est également initialisé mais les valeurs liées ne sont pas affichées ...

J'ai essayé d'utiliser une initialisation mais cela ne fonctionne pas. Et lors du débogage, les données sont là, mais elles ne s'affichent pas.

Toute aide serait vraiment appréciée. Cordialement,

BS_C3


Une partie du code^__^ Application principale:

<mx:Application> 
    <mx:Script> 
     <![CDATA[ 
      private function order(s:String):void 
      { 
       if(s == 'order') 
        OrderData.instance.state = 'order'; 
       else if(s == 'reporting') 
       { 
        OrderData.instance.state = 'reporting'; 
        . 
        . 
        . 

       } 
       pages.selectedChild = or; 
      } 
     ]]> 
    </mx:Script> 

    <mx:ViewStack id="pages" horizontalCenter="0" verticalCenter="0" width="100%" height="100%"> 
     <components:SearchResult id="sr" width="100%" 
      order="order('order')" 
      /> 
     <components:Reporting id="rp" width="100%" 
      reportingOrder="order('reporting')"/> 
     <components:Order id="or" width="100%" 
      /> 
    </mx:ViewStack> 
</mx:Application> 

deux SearchResult et rapports acces Ordre.

Order.mxml ressemble à ceci:

<mx:Canvas> 
    <mx:HBox width="100%"> 
     <mx:Box paddingBottom="15" paddingLeft="15" paddingRight="15" paddingTop="15" backgroundColor="#FFFFFF" height="100%"> 
      <components:OrderView id="ov"/> 
     </mx:Box> 
     <mx:Spacer width="15"/> 
     <components:OrderedSDR id="sdr" height="100%"/>  
    </mx:HBox> 
</mx:Canvas> 

Je reçois des problèmes avec OrderedSDR.mxml:

<mx:Canvas> 
    <mx:VBox width="100%" height="100%" paddingBottom="28" paddingLeft="28" paddingRight="28" paddingTop="28" backgroundColor="#FFFFFF"> 
     <mx:HBox width="100%" paddingBottom="6" horizontalAlign="center"> 
      <mx:Canvas> 
       <mx:Image id="thumbnailBG" source="@Embed(source='assets/Images/SearchResult/BoxBagueOverview.PNG')"/>    
       <mx:Image id="overview" source="{GlobalData.instance.collection.overview.toString()}"/> 
       <mx:Label id="thumbnailCarats" 
        text="{GlobalData.instance.collection.carats.toString() + GlobalData.instance.languageProperties.orderedSDR.imageInfo.toString()}" 
        styleName="OVLBL" 
        paddingBottom="5" paddingRight="10" 
        x="{thumbnailBG.x + thumbnailBG.width - thumbnailCarats.width}" 
        y="{thumbnailBG.y + thumbnailBG.height - thumbnailCarats.height}"/> 
      </mx:Canvas> 
     </mx:HBox> 
     <mx:VBox id="mainBox" paddingBottom="8" paddingTop="8" verticalGap="6" width="180"> 
      <mx:HBox width="100%" height="13"> 
       <mx:Label width="80" 
        text="{GlobalData.instance.languageProperties.orderedSDR.product.toString()}" 
        styleName="OVDataLbl" opaqueBackground="#ECE5E2"/> 
       <mx:Label text="{SearchResultData.instance.selectedSDR.matnr_fp}" styleName="OVData"/> 
      </mx:HBox> 

     <mx:HBox width="100%" height="13"> 
      <mx:Label width="80" 
       text="{GlobalData.instance.languageProperties.orderedSDR.netPrice.toString()}" 
       styleName="OVDataLbl" opaqueBackground="#ECE5E2"/> 
      <mx:Label text="{SearchResultData.instance.selectedSDR.currSymbol + ' ' + SearchResultData.instance.selectedSDR.fNet_price_fp}" styleName="OVData"/> 
     </mx:HBox> 

      . 
      . 
      . 
     </mx:VBox> 
    </mx:VBox> 
</mx:Canvas> 

intérieur mainBox, j'ai une liste de hbox avec la même structure comme indiqué dans les deux premières Hbox.

En ce qui concerne les sources de données, ce sont les sources de données suivantes que j'utilise, leur comportement attendu et leur comportement réel:

@

Embed(source='assets/Images/SearchResult/BoxBagueOverview.PNG --> The image is displayed as it should 

GlobalData.instance.collection.overview.toString() --> GlobalData.instance.collection is a XMLList that contains the data for the image with id="overview". I do get the correct source, but the image is not displayed. 

GlobalData.instance.languageProperties. ... --> It's a XMLList. The data is shown as it should. 

SearchResultData.instance.selectedSDR.matnr_fp --> SearchResultData.instance.selectedSDR is an object that contains all the data that has to be displayed. Matnr_fp is a property of this object. And each hbox inside mainbox have to display a property of the object selectedSDR. The only property that is being displayed is SearchResultData.instance.selectedSDR.currSymbol. The other properties are not displaying even if the datasource is populated. 

Espérons que cela sera utile. Merci!

Cordialement, BS_C3

+2

Pourriez-vous écrire un code? Il est difficile de suivre ce que fait réellement votre code. – bedwyr

+0

Toute aide sera miraculeuse, sauf si vous postez votre code. – Robusto

Répondre

0

On dirait que personne ne voit rien de mal avec le code ?? Moi non plus. Mais en faisant d'autres modifications sur le code, cela a finalement fonctionné. Je ne sais toujours pas pourquoi ...> _ <

Questions connexes