ArrayList de CIntervention dans un tree

Résolu
KorBen31 Messages postés 20 Date d'inscription lundi 19 mai 2003 Statut Membre Dernière intervention 18 août 2008 - 24 avril 2006 à 18:19
cs_Axel971 Messages postés 51 Date d'inscription samedi 21 mai 2005 Statut Membre Dernière intervention 9 août 2006 - 25 avril 2006 à 01:02
jesseye de d'afficher ma ArrayList dans un tree
j'ai donc ca=>
intervention.Text = "Intervention";
position.Text = "Position";
this.treeView1.Nodes.Add(intervention);
this.treeView1.Nodes.Add(position);

Et il me faudrai faire un foreach je pense mais je sais pas trop comment faire parce que j'ai mon arraylist qui est dans une autre class en private
alors soit je le met en public mais ca membete
soit je sais pas trop

pour l'instant jai ca:

private void liste_Load(object sender, System.EventArgs e)
{
foreach(CIntervention inter in this.listeinter.liste)
{
i++;
if(inter.gettype()==true)
this.intervention.Nodes.Add(new TreeNode(inter.getname()));
else
{
this.position.Nodes.Add(new TreeNode(inter.getname()));
}
}

}

le probleme c'est que apres quand je fais un select faut que je recupere toute ma classe inter:

private void treeView1_AfterSelect(object sender, System.Windows.Forms.TreeViewEventArgs e)
{

this.txt_nom.Text = e.Node.Text;
}
mais bon ca va pas quoi :p
faudrai que je mette la classe dans la nodes je sais pas trop comment.

5 réponses

cs_Axel971 Messages postés 51 Date d'inscription samedi 21 mai 2005 Statut Membre Dernière intervention 9 août 2006
24 avril 2006 à 19:24
Salut,

J'ai pas bien tout compris mais bon, si tu veux mettre ta classe(j'imagine que c'est ton objet) dans les nodes, tu créés un node et tu met l'objet dans tag.

exemple:

TreeNode nouveau = new TreeNode();
nouveau.Text = inter.getname();
nouveau.Tag = inter;
this.position.Nodes.Add(nouveau);

Ensuite tu pourras récupérer ton inter en faisant un simple cast
Sinon le reste j'ai pas trop compris donc je préfère ne pas me prononcer
Allez bonne chance
3
cs_Axel971 Messages postés 51 Date d'inscription samedi 21 mai 2005 Statut Membre Dernière intervention 9 août 2006
25 avril 2006 à 01:02
Bon alors tu as une erreur certainement parce que tu n'as pas rempli le tag de tous les nodes... A chaque node il fallait donner un tag ou si tu n'en donne qu'a certain, faire attention de ne pas prendre en compe ceux qui n'en ont pas sinon: Execepetion Object is ....

Pour ta recherche je pense plutot que tu devrais faire ca :

private void txt_recherche_TextChanged(object sender, System.EventArgs e)
{
foreach(Nodes node in this.treeView1.Nodes)
if(node.ToString()==this.txt_recherche.Text) this.treeView1.SelectedNode = this.position;
else
{
this.treeView1.SelectedNode = this.intervention;
}

}

pour le content moi je fais en général if(chaine.IndexOf(chaine2)!=-1)
3
KorBen31 Messages postés 20 Date d'inscription lundi 19 mai 2003 Statut Membre Dernière intervention 18 août 2008
24 avril 2006 à 20:31
en faite a la fin jvais avoir ca:

_
|+Reparation
| |-Internvention1
| |-Internvention2
|+Position
| |-Intervention3
| |-Intervention4

Avec une multitude d'intervention que je peux traité
qui sont initialisé dans le constructeur pour chaque CIntervention dans mon arraylist
Et quand je clic dessus il faut qu'avec le select dans la methode que je recupere le CIntervention tu dit avec le cast mais tu peux mexpliker ?
0
KorBen31 Messages postés 20 Date d'inscription lundi 19 mai 2003 Statut Membre Dernière intervention 18 août 2008
24 avril 2006 à 20:36
Sinon le recherche aussi je suis bien perdu pour mon foreach
:
private void txt_recherche_TextChanged(object sender, System.EventArgs e)
{
foreach(Nodes node in this.treeView1) //<= ca marche pas
if(node.ToString()==this.txt_recherche.Text) <= jprefere un contains mais ac le pda jai pas trouvé cmt
this.treeView1.SelectedNode = this.position;
else
{
this.treeView1.SelectedNode = this.intervention;
}

}
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
KorBen31 Messages postés 20 Date d'inscription lundi 19 mai 2003 Statut Membre Dernière intervention 18 août 2008
25 avril 2006 à 00:30
Bon j'ai esseyer le cast mais jai une exeption:
private void treeView1_AfterSelect(object sender, System.Windows.Forms.TreeViewEventArgs e)
{
CIntervention intervention = (CIntervention)e.Node.Tag;
this.txt_nom.Text = intervention.getident();
this.txt_raison.Text = intervention.getnature();
this.txt_date.Text = intervention.getdatelimite().ToString();
this.txt_lieu.Text = intervention.getlieu().ToString();
}
0
Rejoignez-nous