amel468
Messages postés34Date d'inscriptionvendredi 10 janvier 2003StatutMembreDernière intervention10 avril 2006
-
17 août 2004 à 16:50
amel468
Messages postés34Date d'inscriptionvendredi 10 janvier 2003StatutMembreDernière intervention10 avril 2006
-
18 août 2004 à 10:09
Bonjour,
je souhaite créer un nom de variable de facon dynamique pour avoir un truc du style mavar1, marvar2, mavar3,..., marvarN
au fur et a mesure que i s'incrémente de 1 a N.
j'ai trouvé un exemple de code en php mais je ne connais pas ce language, et je ne sais pas comment l'adapter pour C#
eval( "\$mavar = "mavar$i";" );
echo $$mavar;
if ($$mavar == TRUE) {
A voir également:
"Php version 4.4.5" "build date" "server api" "php variables"
amel468
Messages postés34Date d'inscriptionvendredi 10 janvier 2003StatutMembreDernière intervention10 avril 20061 18 août 2004 à 09:52
Ca marche !!
voici comment je m'y suis prise:
**Proc AjoutEnfants (node parent, int niveau)Def de la chaine SQL avec org_level niveau et PARENT_ID parent.ID
Ouverture connextion avec dr
Tant que dr.read() (=tant kil y a des enr de niveau niveau et de parentID parentID)
- nouveau noeud = newNode
- mewNode.text = dr.getString(...
- newNode.ID = dr.getValue(...
- ajoutEnfants(newNode, niveau +1 )
- Parent.Nodes,add(newNode)
Fin tant que
Fermeture connexion et dr
Fin proc
***si premier chargement de la page
Int niveau = 0String SQL bla bla bla avec "org_level " + niveau
Ouverture connection avec dr
while(dr.Read())
- nouveau noeud = racine
- racine.text = dr.getString(...
- racine.ID = dr.getValue(...
- ajoutEnfants(racine, niveau +1 )
- TreeView3.Nodes.Add(racine); //ajoute tout le node au treeview
Fin while
dr.Close();
oleDbConnection.Close();
amel468
Messages postés34Date d'inscriptionvendredi 10 janvier 2003StatutMembreDernière intervention10 avril 20061 17 août 2004 à 17:14
Je te remercie pour ta réponse.
en fait, mon probleme, c'est que je dois construire un treeview dynamiquement a partir d'une table sur 6 niveaux.
je l'ai fait pour 3 niveaux, mais bon, c'est toujours pareil et j'aimerai améliorer le truc pour faire ca dans une boucle pour i = 0 a 6, ou le nom de mon node change pour chaque i.
est-ce que tu comprend mon probleme ou tu veux que je détaille et fasse un algo ?
amel468
Messages postés34Date d'inscriptionvendredi 10 janvier 2003StatutMembreDernière intervention10 avril 20061 17 août 2004 à 17:48
lol nan t'as pas compris. en fait, est-ce que tu connais l'objet treeview ?
Je veux remplir un treeview (le truc avec les ptits dossiers comme dans l'explorateur window)
il doit avoir 6 niveaux, c'est a dire qu'il y a une racine (niveau 0), avec plusieurs dossiers(niveau 1), et dans chaque dossier il y a d'autres dossiers(niveau2) et ainsi de suite...
je remplis ce treeview avec les données contenues dans une table Oracle.
avec cette table, je connais la description de l'enr, son ID, l'id parent et son niveau
voici comment je m'y prend pour l'instant:
tant qu'il y a des enregistrements dans dr (contient ceux de niveau 0):
faire un nouveau noeud appelé racine
racine.text = dr.getValue(5)
racine.ID = dr.getValue(0)
dr2 = tous les enregistrements de niveau 1 et de parent racine.ID
tant que dr2.read
faire un nouveau noeud appelé newNode2
newNode2.text = ...
newNode2.ID=.....
dr3 = tous les enr de niveau 2
tant que dr3.read
faire un nouveau noeud appelé newNode3
newNode3.text = ...
newNode3.ID=.....
ajout de newNode3 a newNode2
fin tant que (il n'y a plus de niveau 2 pour ce dr2)
ajout de newNode2 a la racine
fin tant que (il n'y a plus de niveau 1 pour ce dr)
ajout de la racine au treeView
fin tant q (il n'y a plus de niveau 0 pour ce treeView)
voila, comme tu vois ca se repete et normalement je dois aller jusqu'qu niveau 6.... je ne sais pas comment faire.... quelqu'un a-t-il une idee ?
cs_Crazyht
Messages postés1522Date d'inscriptionmardi 18 décembre 2001StatutMembreDernière intervention21 août 20108 17 août 2004 à 18:11
Faire une fonction recursive qui prend en parametre le noeud parent (et a la limite l'id parent mais il doit etre dans le noeud je pense) et qui ajoute sous ce noeud tous les dossiers de celui-ci
Pour chaque nouveau dossier, elle se rappelle avec le noeud du new dossier :)