Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Ordonner une Arborescence [ Archives Visual Basic / J'AI BESOIN D'AIDE !!!! :) ] (Lolux)

jeudi 10 juin 2004 à 16:52:32 | Ordonner une Arborescence

Lolux

Bonjour,

Je souhaite créer une arborescence avec des éléments qui se placent dans un ordre bien précis.
Je veux que l'utilisateur puisse monter ou descendre des éléments ou changer leur identation.

c'est exactement ce que fait l'outil de création de menus de VB6.

Existe t il un contrôle spéciale qui fait cela ?
Dans le cas contraire avez vous une solution ?

J'ai déja essayé avec le contrôl treeview mais c'est un bordel incroyable dès qu'il s'agit de déplacer des objets...

Je n'ai peut être pas la bonne méthode ?!!

Merci pour votre aide.

Lolux

jeudi 10 juin 2004 à 16:55:58 | Re : Ordonner une Arborescence

crenaud76

Ben non, c'est avec le treeview que tu pourras représenter une arborescence !!

Christophe R.

jeudi 10 juin 2004 à 17:05:28 | Re : Ordonner une Arborescence

Lolux

Je ne souhaite pas la représenter, je souhaite la configurer.

Comme je le disais, l'outil de création de menus de Vb6 permer de créer des menus et non de les représenter.

Lolux

jeudi 10 juin 2004 à 17:26:19 | Re : Ordonner une Arborescence

crenaud76

Ouais mais pour que ton utilisateur puissent déplacer tes items, il faut bien que tu les lui montre non ? ou alors je ne comprends pas ce que tu veux !!

Christophe R.

jeudi 10 juin 2004 à 17:40:13 | Re : Ordonner une Arborescence

Lolux

Tu comprend pas ce que je veux ;p)

Quand tu cré une arbo, il y a des noeud pères et des noeuds fils. Le problème c'est que les noeuds sont ordonnés dans leur ordre de création. Et oui ! Il n'y a pas de propriété qui indique le rang du noeud fils.
Donc ce que je voudrai c'est une sorte de liste simple dans laquel je peux (comme dans l'outil de créations de menu) monter et déscendre des lignes et modifier leur identation sans qu'il y ai de notion de noeuds pères ou fils.
Une fois que l'utilisateur a ordonné tout ça dans la liste, l'appli cré l'arborescence dans un treeview.

Simple non ?

Bon je vais continuer à cogiter.

Merci a toi

Lolux

jeudi 10 juin 2004 à 17:46:03 | Re : Ordonner une Arborescence

crenaud76

Je capte rien ! Pourquoi tu ne veux pas faire travailler directement ton utilisateur sur une treeview !?
Ca simplifierai grandement les choses, non ?
Bouger les noeuds dans les treeview, ce n'est pas si complexe que cela !

Christophe R.

jeudi 10 juin 2004 à 18:03:24 | Re : Ordonner une Arborescence

Lolux

"Bouger les noeuds dans les treeview, ce n'est pas si complexe que cela "

Admetons que l'utiliateur a créé l'arbo suivante :


A
---> B
---> C
---> D
---> E
---> F



S'il veut modifier l'Ordre des noeuds C, D, E en D, E, C


A
---> B
---> D
---> E
---> C
---> F


Tu fais comment ?

Lolux

jeudi 10 juin 2004 à 18:19:01 | Re : Ordonner une Arborescence

crenaud76

Comme cela :
Ajoute une Treeview nommé Treeview1 à une form, et deux boutons nommés Command1 et Command2
Ajoute ce code à celui de la form :

Private Sub Command1_Click()
Dim Textbuffer As String, KeyBuffer As String, KeyBuffer2 As String

On Error GoTo NoMore
With TreeView1.SelectedItem
Textbuffer = .Next.Text
KeyBuffer = .Next.Key
.Next.Text = .Text
.Next.Key = "NewKey"
.Text = Textbuffer
KeyBuffer2 = .Key
.Key = KeyBuffer
.Next.Key = KeyBuffer2
.Next.Selected = True
End With

NoMore:
End Sub

Private Sub Command2_Click()
Dim Textbuffer As String, KeyBuffer As String, KeyBuffer2 As String

On Error GoTo NoMore
With TreeView1.SelectedItem
Textbuffer = .Previous.Text
KeyBuffer = .Previous.Key
.Previous.Text = .Text
.Previous.Key = "NewKey"
.Text = Textbuffer
KeyBuffer2 = .Key
.Key = KeyBuffer
.Previous.Key = KeyBuffer2
.Previous.Selected = True
End With

NoMore:
End Sub

Private Sub Form_Load()
With TreeView1.Nodes
.Add , , "a", "a"
.Add "a", tvwChild, "b", "b"
.Add "a", tvwChild, "c", "c"
.Add "a", tvwChild, "d", "d"
.Add "a", tvwChild, "e", "e"
.Add "a", tvwChild, "f", "f"
.Item("f").EnsureVisible
End With
Command1.Caption = "Descendre"
Command2.Caption = "Monter"
End Sub

Et ca fonctionne
Christophe R.

jeudi 10 juin 2004 à 18:21:48 | Re : Ordonner une Arborescence

crenaud76

J'ai oublié de préciser ! l'utilisateur doit sélectionner un noeud (le noeud "b" par exemple, puis cliquer sur les boutons "Monter" ou "descendre" pour faire bouger le noeud !
A noter qu'il ne faut surtout pas qu'un noeud ait pour clé la chaine "NewKey" !! mais cela peut se contourner assez facilement !

Christophe R.

vendredi 11 juin 2004 à 10:19:15 | Re : Ordonner une Arborescence

Lolux

Ahhhhh ! Très intéréssant !

Je n'avais jamais utilisé les commandes Next et Previous du TreeView et c'est ça qui me manquait.

Il me faut maintenant approfondir tout ça car cette problématique n'est qu'une partie de mon module.

Grand merci à toi pour cette info qui je n'en doute pas va enfin me faire avancer.

Tchô !

Lolux


1 2

Cette discussion est classé dans : arborescence, éléments, ordonner


Répondre à ce message

Sujets en rapport avec ce message

ListView Nombre d'éléments sélectionnés [ par JLN ] J'utilise un controle ListView en format report et j'ai mis autorisé la multi-selection.Mon problème est que je ne sais pas combien (en dehors d'une b décochage d'un checkbox [ par fab ] Bonjour,J'ai deux checkbox. Le cochage d'élement dans la première remplit la deuxième checkbox d'éléments associés.Je voudrais savoir s'il est possibl Arborescence Site Web [ par Juntao ] Salut,J'aurais souhaiter savoir comment il fallait faire pour creer un prog qui me donnerait l'arborescence d'un site (en la creeant si possible sous a propos de la sauvegarde sur fichier texte [ par ADT ] quelle serait la commande pour sauvegarder les éléments de la liste d'un combobox dans un fichier texte?Put #[num], ...Contenu du fichier texte voulu: Centrer tous les éléments d'un Form ?? [ par Ollieman ] dans mon form il y a plusieurs lignes de texte , un label , 2 boutons, bref je voudrais savoir comment faire pour que quand j'agrandisse la fenêtre to Arborescence des dossiers dans TreeView [ par mulo ] J'aurais besoin de selectionner et de récupérer le nom d'un dossier dans une arborescence. Les commonDialog ne permettent apparemment pas de le faire Trier les éléments d'une DBCombo [ par thomrico ] Bonjour,J'ai une liste déroulante de type DBCombo qui est relié à une base de données. Donc ma liste est composée des élements enregistrés dans cette Sauver l'arborescence d'1 treeview [ par DEL ] je ne sasi pas comment sauver l'arbo d'1 treeview, il me semble sque ca s'effectue avec una mase de donnée acces, aidez moi please !!!


Nos sponsors

Sondage...

CalendriCode

Téléchargements



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,187 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.