OVH Cloud OVH Cloud

ComboBox et Xml

1 réponse
Avatar
CooL6a
Bonjour,
Puisque je n'utilise que du Xml comme source de données, je veux que les
items de la ComboBox représentent les noeud Xml, et comme j'ai un
identifiant unique pour chaque noeud Xml, je veux avoir le même identifiant
pour l'item correspondant dans la ComboBox.
J'ai pensé à surchargé la classe String en lui ajoutant une propriété Key
(classe KString), mais le compilateur m'affiche le message suivant : "
'KString' : ne peut pas hériter de la classe sealed 'string' " (sealed =
scellée ou fermée) !!!!!!!
Je veux cette identifiant pour faire la correspondance entre l'item
sélectionné et et le noeud xml lié.
Est ce que qq1 peut m'aider?
Merci d'avance.

1 réponse

Avatar
Yaume
Sur la comboBox l'ajout d'une entrée se fait par l'ajout d'un objet.
Donc au lieu d'ajouter un texte tu peut ajouter new object [id,displayName].
Pour faire plus propre tu peut aussi créer une classe :
class IdDisplay
{
public string id;
public string display;
public IdDisplay(string id,string display) {this.id=id,this.display=display;}
public string ToString {return display}
}
ComboBox.Items.Add(new IdDisplay(id,displayname);

Je croit qu'il existe déja une classe qui fait déjà ça (dans les collection
peut-être).

A ce propos plustot que de stocker l'id tu peut stocker une référence vers
le noeud comme ça ça marche aussi pour les noeuds sans Id.


"CooL6a" a écrit :

Bonjour,
Puisque je n'utilise que du Xml comme source de données, je veux que les
items de la ComboBox représentent les noeud Xml, et comme j'ai un
identifiant unique pour chaque noeud Xml, je veux avoir le même identifiant
pour l'item correspondant dans la ComboBox.
J'ai pensé à surchargé la classe String en lui ajoutant une propriété Key
(classe KString), mais le compilateur m'affiche le message suivant : "
'KString' : ne peut pas hériter de la classe sealed 'string' " (sealed > scellée ou fermée) !!!!!!!
Je veux cette identifiant pour faire la correspondance entre l'item
sélectionné et et le noeud xml lié.
Est ce que qq1 peut m'aider?
Merci d'avance.