DrNeo2000
Messages postés2Date d'inscriptionmardi 22 juillet 2003StatutMembreDernière intervention26 mai 2004
-
25 mai 2004 à 14:21
DrNeo2000
Messages postés2Date d'inscriptionmardi 22 juillet 2003StatutMembreDernière intervention26 mai 2004
-
26 mai 2004 à 17:46
J'ai un soucis en VB.net :
je réalise une appli avec plusieurs combobox devant aller
chercher leur valeurs dans un fichier XML.(2valeurs
différentes). La première comboBox va chercher une
catégorie de produits et ensuite il faut que la deuxième
combobox liste les sous catégorie. Le problème est qu'il
faut que les sous catégories soit des sous catégories de
la catégorie selectionnée dans la première combobox.
J'espere que j'ai été clair (sinon, je détaillerai plus).
Pour se faire une idée voila le code de la premiere
combobox :
Private Sub SetCateg_load(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles MyBase.Load
Dim Categreader As New XmlTextReader("d:\\gestmatos.xml") 'creation d'un DataSet
Dim cate As New ArrayList 'tableau de valeurs
de ComboBxCateg
Dim Categflag As Boolean 'flag de test pour
ajout de valeur dans la liste des catégories
Dim NomCate As String 'valeur à ajouter dans la
liste des catégories
Do While Categreader.Read
If Categreader.NodeType = XmlNodeType.Element
Then 'lecture du noeud XML
If Categreader.Name = "Categorie"
Then 'lecture de la valeur dans la balise
Categorie.Libelle
NomCate = Trim
(Categreader.ReadElementString) 'transfert valeur lu
dans XML vers variable nom
Categflag = True 'initialisation
du flag
For i As Integer = 0 To cate.Count
If cate.Contains(NomCate) Then
Categflag = True 'flag en
true = valeur non trouvée dans la liste des catégories
Else
Categflag = False 'la
valeur existe déja dans la liste des catégories
End If
Next i
If Not Categflag Then
cate.Add(NomCate) 'ajout de la
valeur dans la liste des catégories
End If
End If
End If
Loop
Categreader.Close() 'fermeture du DataSet
For i As Integer = 0 To cate.Count - 1
ComboBxCateg.Items.Add(cate(i))
Next
ComboBxCateg.SelectedIndex = 0
End Sub
<Disponibilite></Disponibilite>
<Categorie>CARTE MERE</Categorie>
<SousCate>ABIT SOFT MENU III (jumperless)
2ANS GARANTIE Le RAID POUR TOUSISO-901</SousCate>
<Type>Intel</Type>
<Marque>ABIT</Marque>
Merci d'avance à qui pourra me donner son aide.
Christophe
.
Tout problème doit pour être un problème avoir une solution.
"Mess with the best or die like the rest "
Neo 2000
http://www.Docteur-Neo2000.com
En fait il s'agit de fonction qui te permettent de bien sélectionner les balises XML et de récupérer leur contenu. De plus, elle a l'avantage de fonctioner sur toutes les plateformes Microsoft pourvu qu'elles possedent cette librairie (présente dans les versions 2000 et XP).
Tu as aussi la possiblité de chercher sur ce site un très bon exemple (dont je me suis largement inspiré pour écrire et lire dans un fichier XML) il est disponible ici : http://www.vbfrance.com/code.aspx?ID=5471
Je pense que tu ne devrais pas avoir trop de mal pour résoudre ton problème.
DrNeo2000
Messages postés2Date d'inscriptionmardi 22 juillet 2003StatutMembreDernière intervention26 mai 2004 26 mai 2004 à 17:46
merci beaucoup pour cette aide
Christophe
Tout problème doit pour être un problème avoir une solution.
"Mess with the best or die like the rest "
Neo 2000
http://www.Docteur-Neo2000.com