Bonjour,Bonjour,

Aprés un come-back raté ce matin à cause d'une mauvaise manip..me revoilà...

Donc aujourd'hui..Petit probleme au niveau d'un datagrid..
Encore un fois, j'utilise des fichiers que je découpe et que j'instancie dans mon Dg...de plus, selon le résultat d'un test de correspondance, les cellules s'affichent rouge ou verte...
Mais le probleme vient du fait que lorsque je rempli mes dg...ceux ci possedent des cases vides...donc j'aimerai savoir comment les résorber ou pallier à ce probleme...
Je vous laisse voir 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
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:extension="extension.*" layout="absolute" applicationComplete="resultHandler()" initialize="map()">
 
	<mx:Script>
		<![CDATA[
 
			import mx.collections.ArrayCollection;
			import mx.controls.DataGrid;    
 
		//raffraichis le datagrid et permet d'effacer la sélection précédente avant d'en afficher une nouvelle
 		   private function resultHandler():void
            {
	         srv3.send();
	         srv4.send();
	         mydg1.dataProvider.removeAll();
	         mydg2.dataProvider.removeAll();
  	        } 
 
		//initialisation des choix des combobox	
			[Bindable]
			 var maps: ArrayCollection = new ArrayCollection;
			 var maps2: ArrayCollection = new ArrayCollection(['expert/currency.map', 'expert/person.map', 'expert/webForm8.map','expert/book.map','expert/book-ann.map','expert/book-similar.map']);
 
			  public function map():void
             {
                maps = new ArrayCollection(['test1.map']);
             // maps2 = new ArrayCollection(['expert/currency.map', 'expert/person.map', 'expert/webForm8.map','expert/book.map','expert/book-ann.map','expert/book-similar.map']);
             }    
	//////////////////////////////////		
 
 
//comparaison des différents fichiers et remplissage des dg
 
		    private var value:String;
			private var myArr:ArrayCollection = new ArrayCollection(); 	
			private var myArr2:ArrayCollection = new ArrayCollection(); 	
			private var testdg:String = "True";
			public function comparaison():void
			{
 
			var test1:String = String(srv3.lastResult);
			var test2:String = String(srv4.lastResult) ; 
 
//////////////////////////////////////////////////////////////////////////////////
//on peut remplacer les deux lignes précédentes par :
/*      var test1:String = "Personne_00.xsd/person;Personne_01.xsd/person;";
         var test2:String = "Personne_00.xsd/pers;Personne_01.xsd/person;";
*/
/////////////////////////////////////////////////////////////////////////////////
 
			var re:RegExp = /\n|;|=/;
 
            var result1:Array = test1.split(re);
            var result2:Array = test2.split(re);
             var x:int=0;
	 var y:int=0;
 
			 trace(result1);
 
            for (var i:int=0; i<result1.length-1; i++)
            {   
                  if(result1[i] == result2[i])
                 {
	              value="True"
                 }
                  else{ value = "False";}
 
                var newObj:Object = {} ;
                var newObj2:Object = {} ;          
 
               if(result1[i] !=null)
               {
 
 
                if (testdg =="True")
                {
 
                   newObj["test"] = result1[i]; 
                   newObj["color"] = value; 
                   testdg ="False";
 
                }
                else 
                {
 
                  newObj2["test"] = result1[i];
                  newObj2["color"] = value; 
                  testdg ="True";
 
                }
               }
                myArr.addItem(newObj);
                myArr2.addItem(newObj2); 
             }
 
	  }
 
/////////////////////////////////	
//application des couleurs
 
			 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>
 
	<!--Choix du fichier .map à afficher-->
	   <mx:ComboBox dataProvider="{maps}" width="150" id="CB" change="resultHandler()"  x="560" y="10"/>
	   <mx:HTTPService id="srv3" url="{CB.selectedItem}" result="comparaison()" resultFormat="e4x"/>
 
<!--Choix du fichier .map à comparer-->
		   <mx:HTTPService id="srv4" url="{CB2.selectedItem}" result="comparaison()" resultFormat="e4x"/>
		   <mx:ComboBox dataProvider="{maps2}" width="150" id="CB2" change="resultHandler()"  x="373" y="10"/>
 
 
<!--Premier dg-->
     <extension:RowColorDataGrid id="mydg1" width="50%" height="50%"  dataProvider="{myArr}"
         alternatingItemColors="[#FFFFFF, #EEEEEE]" rowColorFunction="selectSeverityColor1" y="99">
         <extension:columns>
              <mx:DataGridColumn  headerText="Label1" dataField="test"  />
        </extension:columns>    
    </extension:RowColorDataGrid>
 
<!--deuxieme dg-->
         <extension:RowColorDataGrid id="mydg2" width="50%" height="50%"  dataProvider="{myArr2}"
         alternatingItemColors="[#FFFFFF, #EEEEEE]" rowColorFunction="selectSeverityColor1" y="99" x="389">
         <extension:columns>
              <mx:DataGridColumn  headerText="Label2" dataField="test"  />
        </extension:columns>    
    </extension:RowColorDataGrid>
 
 
 
</mx:Application>
Sachant que les HttpService récupere des fichiers du style :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
Personne_00.xsd/person;Personne_01.xsd/person;
biology1.xsd/GENECARD_BY_FUNCTION/GCFunctions/Proteins/SWISSPROT/Protein/Description;biology2.xsd/proteinType/type;
author.xsd/author/name;writer.xsd/writer/named;
currencyConvertor.xsd/ConversionRate;currencyServer.xsd/getCurrencyValue;
www.bbltamex.com.xml.xsd/http://www.bbltamex.com/Aboutus/pages/careers/sendcv.asp/Name (*);
Voyez plutot le résultat :