IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Flex Discussion :

Rafraichissement (en tous genre..)


Sujet :

Flex

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Février 2010
    Messages : 61
    Par défaut Rafraichissement (en tous genre..)
    Hello,


    Oui je sais, j'arrete pas en ce moment, mais bon...on avance pas sans rencontrer de problemes, ou du moins c'est rare^^

    Donc, aujourd'hui...j'ai une appli qui "tourne" pas trop mal... mais vient le probleme du rafraichissement..
    Je sais que l'on va me dire que je n'attends pas le résultat d'un des Httpservice ou quelque chose dans le genre...mais bon
    J'ai essayé de retourner le probleme en testant les attentes de résultats, et les validations des httpservice pour en lancer d'autre...mais le fait est que...je suis perdu,totalement, dans mon code...

    Alors je me dis qu'un oeil neuf pourra peut etre voir ce qui est devant mon nez...

    Je vous laisse le code...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" 
        layout="absolute" horizontalAlign="left"
        initialize="srv5.send()" applicationComplete="resultHandler()" xmlns:extension="extension.*">
     
         <!--Gestion de l'affichage des Trees (srv1 et srv2) et du fichier map (srv3)...-->
        <mx:HTTPService id="srv" url="http://*****/yam/data/schemas/biology/biology1.xsd" resultFormat="e4x" />
        <mx:HTTPService id="srv2" url="http://*****/yam/data/schemas/biology/biology2.xsd" resultFormat="e4x" />
        <mx:HTTPService id="srv3" url="http://*****/yam/data/expert/biology.map" resultFormat="e4x"/>
        <!--............................................................................-->
     
        <!--Gestion du choix de l'algo à tester...-->
        <mx:HTTPService id="srv4" url="{CB2.selectedItem}" result="comparaison()" resultFormat="e4x"/>
    	<mx:ComboBox dataProvider="{maps}" width="150" id="CB2" change="remove()"  x="373" y="36"/>
        <!--.......................................-->
     
        <!--Choix du domaine que l'on souhaite afficher...On utilise l'adresse fournie pour accéder à la liste-->
        <mx:ComboBox  width="150" id="CB" change="init()"  x="10" y="36"/>
        <mx:HTTPService id="srv5" url="http://*****/yam/data/scenarios.txt" result="list()" resultFormat="e4x"/>
        <!--..................................................................................................-->
     
         <!--Renvoi le choix du l'utilisateur pour permettre l'affichage souhaité...-->
         <mx:HTTPService id="srv6"  result="schemas()" resultFormat="e4x"/>
         <!--.......................................................................-->
     
    <mx:Script>
    	<![CDATA[
     
     
                import mx.collections.ArrayCollection;
    			import mx.controls.DataGrid;    
    			import mx.utils.StringUtil;
    			import mx.controls.Alert;  
     
    ///////////////////////////////////////////////////////////////////////////			
     
                //Raffraichissement des Combobox et du datagrid
                private function resultHandler():void
                {
    	         srv.send(); 
    	         srv2.send();
    	         srv3.send();
    	         srv4.send();
    	         mydg1.dataProvider.removeAll();
    	        }
     
    ///////////////////////////////////////////////////////////////////////////             
     
                 //raffraichissement du datagrid à chaque changement d'algo
                 private function remove():void
                 {
                 	srv4.send();
                 	mydg1.dataProvider.removeAll();
                 }
     
    ///////////////////////////////////////////////////////////////////////////
     
              //Tableau des xmls affichés dans les combobox 
                [Bindable]
                 private var maps: ArrayCollection = new ArrayCollection(['test1.map','test2.map']);
                 private var xml: ArrayCollection;
                 private var test: XMLNode;
     
    ///////////////////////////////////////////////////////////////////////////
     
           //Création de la liste de schémas à afficher dans la combobox..(elle utilise l'adresse fournie)
           private var cards:ArrayCollection = new ArrayCollection;
           private function list():void
           {
           	var test1:String = String(srv5.lastResult);
           	var result1:Array = test1.split(/\n/);
     
           	for (var i:int=0; i<result1.length; i++)
           	{
           		var newObj:Object = {} ;
           		newObj = result1[i] ; 
           		cards.addItem(newObj);
           	}
           	CB.dataProvider = cards;
           }
     
    ///////////////////////////////////////////////////////////////////////////
     
          //Utilisation de l'adresse du schémas sélectionné pour permettre d'afficher les trees et le fichier map correspondant 
          private function schemas():void
          {
          	var label:String = String(CB.selectedItem);
          	var test1:String = String(srv6.lastResult);
           	var result1:Array = test1.split(/\n/);
          	  srv.url = String('http://*****/yam/data/schemas/'+label+'/'+result1[0]);
              srv2.url = String('http://*****/yam/data/schemas/'+label+'/'+result1[1]);
              srv3.url =  String('http://*****/yam/data/expert/'+label+'.map');
            resultHandler(); 
          }
     
    ///////////////////////////////////////////////////////////////////////////
     
            //Récupération du schémas sélectionné et entré dans son "domaine" (c'est à dire qu'on va accéder aux différents dossiers que compose le schéma choisi et on le renverra a la function schemas())
            private function init(): void
            {
     
           	   	 var label:String = String(CB.selectedItem);
     
            	 var schema:String = String('http://*****/yam/data/schemas/'+label+'/schemas.txt')
             	  var result1:Array = schema.split(/\n/);
            	  srv6.url=schema;
            	  resultHandler(); 
            	  srv6.send();
     
     
            }
     
    ///////////////////////////////////////////////////////////////////////////        
     
                 //pour  avoir un name sur les trees
                  private function labelDisplay(item:Object):String 
                    {           
                      var elt:XML = XML(item);       
                      var name:String = elt.hasOwnProperty("@name") ? elt.@name : elt.localName().toString();         
                      return name;     
                    }
     
     //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
     
                //comparaison du fichier de l'algo avec le fichier expert et attribution de la propriété couleur
                private var value:String = "False";
    			private var myArr:ArrayCollection = new ArrayCollection(); 	
    			private var myArr2:ArrayCollection = new ArrayCollection(); 	
    			private var testdg:Boolean = true;
     
    			public function comparaison():void
    			{
           		var test1:String = String(srv4.lastResult);
    			var test2:String = String(srv3.lastResult) ; 
     
    			var re:RegExp = /\n|;|=/;
     
                var result1:Array = test1.split(re);
                var result2:Array = test2.split(re);
                 var x:int=0;
    			 var y:int=0;
     
                for (var i:int=0; i<result1.length; i++)
                {  
                      value="False";
                	for (var j:int=0; j<result2.length; j++)
                	{
                      if(result1[i] == result2[j])
                     {
    	              if(result1[i+1] == result2[j+1] || result1[i-1] == result2[j-1])
    	              {
    	              	value="True";
    	              }
                     }
                    }//end for 2 (j)
     
                  if(result1[i] != null && StringUtil.trim(result1[i].toString())!='')
                   { 
                   if (testdg == true)
                    {var newObj:Object = {} ;
                       newObj["test"] = result1[i]; 
                       newObj["color"] = value;
                       testdg =false;
                    }
                    else
                    {
                       newObj["test2"] = result1[i]; 
                       newObj["color"] = value;
                       testdg =true;
                       myArr.addItem(newObj);
                    }
     
                   }
     	  }//end for 1 (i)
    	  }//end comparaison
     
    ///////////////////////////////////////////////////////////////////////////			
     
    			//affichage couleur selon la propriété dans l'ArrCol
    			 private function selectSeverityColor1(datagrid:DataGrid, rowIndex:int, color:uint):uint
                 {
                    var rColor:uint;
                    var item:Object =  datagrid.dataProvider.getItemAt(rowIndex);
                    var value:String = item["color"];
                    if (value == "True") { rColor = 0x00FF00; }
                    else if (value == "False") { rColor = 0xFF0000; }
                    else rColor = color;
                    return rColor;
                 }
     
    ///////////////////////////////////////////////////////////////////////////
     
    			]]>
    </mx:Script>
     
    <!-- Trees-->
    	<mx:Grid x="10" y="106" width="634" height="287">
    		<mx:GridRow width="100%" height="100%">
    			<mx:GridItem width="100%" height="100%">
    				<mx:Tree id="treeshéma1" labelFunction="labelDisplay" dataProvider="{srv.lastResult}" labelField="@name" 
    				    width="100%" height="100%"/>
    			</mx:GridItem>
    			<mx:GridItem width="100%" height="100%">
    				<mx:Tree id="treeshéma2" labelFunction="labelDisplay" dataProvider="{srv2.lastResult}" labelField="@name" 
    				    width="100%" height="100%"/>
    			</mx:GridItem>
    		</mx:GridRow>
    	</mx:Grid>
    	<mx:Label x="10" y="10" text="Choisissez les schémas" width="150" color="#C80D15" fontSize="11" fontWeight="bold"/>
     
     
     
     
    	   <!--Datagrid de correspondance-->
    	   <extension:RowColorDataGrid id="mydg1" width="583" height="343"  dataProvider="{myArr}"
    	       alternatingItemColors="[#FFFFFF, #EEEEEE]" rowColorFunction="selectSeverityColor1" x="47" y="401">
    	       <extension:columns>
    	            <mx:DataGridColumn  headerText="Label1" dataField="test"  />
    	            <mx:DataGridColumn  headerText="Label2" dataField="test2"  />
    	       </extension:columns>    
    	   </extension:RowColorDataGrid>
    	   <mx:Label x="373" y="10" text="Choisissez l'algo" width="150" color="#C80D15" fontSize="11" fontWeight="bold"/>
     
    </mx:Application>
    Pour explication, l'application va prendre une liste de fichier sur une adresse distante, selon le choix de l'utilisateur, va afficher deux arbres ,et il va aussi renseigné sur un fichier .map..
    Ce fichier .map va servir à de comparaison au fichier intégré dans le datagrid...et lors de bon résultat la ligne du dg sera coloré en vert sinon en rouge!!

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    793
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2009
    Messages : 793
    Par défaut
    A part nous demander de chercher des erreurs dans ton code, tu ne nous dis pas quel est précisément le problème que tu constates !!!

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Février 2010
    Messages : 61
    Par défaut
    Oups, juste un oubli...

    Donc, déjà, au lancement de l'application, la couleur(verte) ne s'affiche pas dans le tableau...comme si la function comparaison n'était pas lancé...(srv4)..

    Ensuite, lorsque je change la combobox, l'affichage des trees et du datagrid sont décalés, donc, il faut rechanger la combobox pour que le résultat précédent s'affiche...
    Enfin, il faut avoir déjà cliqué sur un choix au préalable pour que la comparaison s'affiche (c'est à dire que si je choisi le domaine "person"...la premiere fois...la datagrid se remplira entierement rouge...et si j'y reviens plus tard...là la comparaison aura eu lieu)

    Je sais, que c'est un probleme d'Httpservice, mais lequel...et où...là je ne sais guere!!

    [edit] En reprenant tout posément et avec une aide exterieure...j'ai fini par trouver..
    J'ai mis en délestage car je pense que c'était un probleme spécifique, donc "inutile" pour les autres..
    Si vous pensez que le sujet peut servir...ne l'enlevez pas!

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    793
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2009
    Messages : 793
    Par défaut
    Si vous pensez que le sujet peut servir...ne l'enlevez pas!
    Il faudrait au moins que tu nous exposes le problème et surtout la solution pour que ce soit utile à quelqu'un

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Février 2010
    Messages : 61
    Par défaut
    Citation Envoyé par jylaxx Voir le message
    Il faudrait au moins que tu nous exposes le problème et surtout la solution pour que ce soit utile à quelqu'un
    Je veux bien exposer la solution (le probleme étant cité dans le post précédent)...mais vu que c'est une appli bien particuliere..., je sais pas si d'autres personne pourront s'y reconnaitre...

    Sinon, concrètement, qu'ai je modifié..?
    Je donne le signal de départ au différents composant, non pas à la creationcomplete...mais lorsque la combobox est rempli par l'url...( dans la function list())...
    Et aussi, au tout début de la comparaison() j'ai rajouté un "mydg1.dataProvider.removeAll();"...pour éviter, le probleme de la couleur au lancement du projet!!

    Voilà ^^

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Jointure qui ne renvoie pas tous les enregistrements
    Par rayonx dans le forum Langage SQL
    Réponses: 12
    Dernier message: 19/07/2024, 09h33
  2. Important à lire par tous SVP
    Par Community Management dans le forum Langage
    Réponses: 5
    Dernier message: 15/11/2010, 22h54
  3. Probleme de rafraichissement d'un BDGrid
    Par marmotte dans le forum Bases de données
    Réponses: 10
    Dernier message: 28/05/2004, 18h07
  4. Rafraichissement de la fiche ainsi que de tous les objets
    Par portu dans le forum Composants VCL
    Réponses: 7
    Dernier message: 06/01/2004, 00h25
  5. Timage rafraichissment
    Par Rizzla dans le forum Composants VCL
    Réponses: 5
    Dernier message: 16/09/2002, 17h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo