IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Treeview personnalisé et inversé


Sujet :

VB.NET

  1. #1
    Membre confirmé
    Homme Profil pro
    Technicien d'étude
    Inscrit en
    Juin 2015
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien d'étude

    Informations forums :
    Inscription : Juin 2015
    Messages : 87
    Par défaut Treeview personnalisé et inversé
    Bonjour à l'ensemble des membres du forum

    J'aimerais savoir s'il est possible de changer le mode de fonctionnement du Treeview exemple

    Actuellement :

    Donnée1
    ........... Donnée1.1
    ........... Donnée1.2
    ................Donnée1.2.1
    ................Donnée1.2.2
    etc..

    J'aimerais pouvoir faire cela en faisant du glisser coller d'une listeview

    ................Donnée1.3.2
    ................Donnée1.3.1
    ........... Donnée1.3
    ................Donnée1.2.3................Donnée1.2.4................Donnée1.2.5
    ................Donnée1.2.1................Donnée1.2.2
    ........... Donnée1.2
    ........... Donnée1.1
    Donnée1

    sans pour autant que cela recréer un nœud

    Le but serait de créer une sorte de schéma de principe.
    Merci pour votre aide si précieuse.

  2. #2
    Membre très actif
    Avatar de charouel
    Homme Profil pro
    Freelance
    Inscrit en
    Mars 2009
    Messages
    618
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2009
    Messages : 618
    Billets dans le blog
    9
    Par défaut
    Tu doit charger dans une liste tes données puis tu fait un trie selon un id (que tu préciseras ) ensuite tu passe treeview.datasource = ta_list

  3. #3
    Membre confirmé
    Homme Profil pro
    Technicien d'étude
    Inscrit en
    Juin 2015
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien d'étude

    Informations forums :
    Inscription : Juin 2015
    Messages : 87
    Par défaut
    Bonjour Charouel
    Tout d'abord merci d'essayer de me répondre c'est toujours appréciable de voir que des gens sont prêts à vouloir aider les débutants

    Je tiens à ajouter quelques précisions pour mon projet

    J'ai une listview qui s'auto alimente de nom de locaux quelconques
    exemple
    A301 (Etage 3 Local1)
    A302 (Etage 3 Local2)
    etc ...


    A partir de cette listview, je fais glisser mes noms de locaux pour que l'utilisateur les organiser suivant son principe à lui


    exemple

    + Etage3
    |
    +___________
    | |
    A301 A302
    + Etage2
    + Etage 1
    Batiment 1

    Du coup je ne sais pas si le treeview est le plus adapté à ce que je veux faire, je pensait aussi au Lines and Shapes.

    Pour revenir à ce que tu me disais, je vois à peut près ce que tu veux me faire faire mais je vois pas trop en quoi cela modifierais l'aspect du treeview

  4. #4
    Membre Expert
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Billets dans le blog
    7
    Par défaut
    Bonjour,

    Le contrôle listview permet te tri et l'organisation grâce aux listviewGroup notement (avec possibilité d'expand et collapse les groupes..etc...) et c'est plus intuitif pour un utilisateur donc personnellement je resterais sur le listview. Voilà ce que cela donne avec les colonnes et listviewgroup :



    La doc MSDN est bien fournie et il existe pas mal d'extension du contrôle Listview permettant ainsi de déplacer des rows, d'éditer le contenu des colonnes, et bien d'autres...etc....

    A+

  5. #5
    Membre confirmé
    Homme Profil pro
    Technicien d'étude
    Inscrit en
    Juin 2015
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien d'étude

    Informations forums :
    Inscription : Juin 2015
    Messages : 87
    Par défaut
    Merci Wallace pour cette réponse, je vais explorer cela de plus prêt

  6. #6
    Membre Expert
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Billets dans le blog
    7
    Par défaut
    Citation Envoyé par Ganeshiva Voir le message
    Merci Wallace pour cette réponse, je vais explorer cela de plus prêt
    Pas de quoi

    As-tu commencés à implémenter tes classes car ton cas illustrerait très bien certaines notions en POO ?

  7. #7
    Membre confirmé
    Homme Profil pro
    Technicien d'étude
    Inscrit en
    Juin 2015
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien d'étude

    Informations forums :
    Inscription : Juin 2015
    Messages : 87
    Par défaut
    Re bonjour tout le monde

    Wallace, je viens viens de me documenter et bon cela correspond par forcement trop à mes besoins en fait mon besoin serait plus un tableau façon organigramme ou l'on viendrais déposer les locaux pour les regrouper, un peu dans ce style là. Avez vous déjà fait cela ?

    Nom : Présentation1.png
Affichages : 377
Taille : 9,0 Ko

  8. #8
    Membre extrêmement actif
    Inscrit en
    Avril 2008
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Âge : 65

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 573
    Par défaut
    bonjour

    Il me semble que le treeview et le dragdrop le font aisement y compris changer l'arborescence...

    code .vb de 2 tv (on peut repliquer le mecanisme pour -n- treeviews) avec dragdrop dans les 2 sens:
    -dropper 2 tv sur le form
    -mettre AllowDrop =true pour les 2 tv
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
     
     
     
    Public Class Form1
     
        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            Dim ParentNode1 As TreeNode
            Dim ParentNode2 As TreeNode
            ParentNode1 = TreeView1.Nodes.Add("tv1")
            With ParentNode1
                .Nodes.Add("tv1FirstChild")
                .Nodes.Add("tv1SecondChild")
                .Nodes.Add("tv1ThirdChild")
                .Nodes.Add("tv1FourthChild")
                .Expand()
            End With
            ParentNode2 = TreeView2.Nodes.Add("tv2")
            With ParentNode2
                .Nodes.Add("tv2FirstChild")
                .Nodes.Add("tv2SecondChild")
                .Expand()
            End With
     
        End Sub
     
        Private Sub TreeView1_ItemDrag(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ItemDragEventArgs) Handles TreeView1.ItemDrag, TreeView2.ItemDrag
            DoDragDrop(e.Item, DragDropEffects.Move)
     
        End Sub
     
        Private Sub TreeView2_ItemDrag(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ItemDragEventArgs) Handles TreeView2.ItemDrag
            DoDragDrop(e.Item, DragDropEffects.Move)
     
        End Sub
     
        Private Sub TreeView1_DragEnter(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles TreeView1.DragEnter
            e.Effect = DragDropEffects.Move
     
        End Sub
     
        Private Sub TreeView2_DragEnter(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles TreeView2.DragEnter
            e.Effect = DragDropEffects.Move
     
        End Sub
     
        Private Sub TreeView1_DragDrop(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles TreeView1.DragDrop, TreeView2.DragDrop
            Dim NewNode As TreeNode
            If e.Data.GetDataPresent("System.Windows.Forms.TreeNode", False) Then
                Dim pt As Point
                Dim DestinationNode As TreeNode
                pt = CType(sender, TreeView).PointToClient(New Point(e.X, e.Y))
                DestinationNode = CType(sender, TreeView).GetNodeAt(pt)
                NewNode = CType(e.Data.GetData("System.Windows.Forms.TreeNode"),  _
                                                TreeNode)
                If Not DestinationNode.TreeView Is NewNode.TreeView Then
                    DestinationNode.Nodes.Add(NewNode.Clone)
                    DestinationNode.Expand()
                    'Remove original node
                    NewNode.Remove()
                End If
            End If
     
        End Sub
     
     
    End Class

    bon code...

  9. #9
    Membre Expert
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Billets dans le blog
    7
    Par défaut
    Bonjour,

    @Ganeshiva : Désolé pur cette réponse tardive, malheureusement non je n'ai jamais travaillé sur ce genre de schema ou du moins le fonctionnement.....

    @MABROUKI : Ganeshiva souhaite travailler sur la présentation des données :
    Le but serait de créer une sorte de schéma de principe.
    exemple : http://www.developpez.net/forums/att...entation1.png/

  10. #10
    Membre confirmé
    Homme Profil pro
    Technicien d'étude
    Inscrit en
    Juin 2015
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien d'étude

    Informations forums :
    Inscription : Juin 2015
    Messages : 87
    Par défaut
    Pas de souci Wallace, je vais pas t'engueuler de m'avoir répondu

    Merci Mabrouki pour ton code, il va tout de même m'aider sur une autre fonction que je veux mettre en place.

    Bon damned, je ne sais pas trop comment faire du coup ...

  11. #11
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    un flowlayoutpanel
    un usercontrol avec un flowlayoutpanel qui s'ouvre au dessus au lieu d'en dessous (ou dans un sens défini par une propriété) (uc = noeud, flp = sous noeuds)
    un peu d'autoscroll
    et avec un peu de code en plus tu peux avoir les flèches et le rendu similaire à ton schéma
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  12. #12
    Membre confirmé
    Homme Profil pro
    Technicien d'étude
    Inscrit en
    Juin 2015
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien d'étude

    Informations forums :
    Inscription : Juin 2015
    Messages : 87
    Par défaut
    Merci Pol63 pour cette précision, je vais essayer d'étudier cela.
    Je reste débutant, serait trop demander quelques pistes de commencement ?
    En vous remerciant dans tous les cas pour votre aide et toutes vos sujétions.

  13. #13
    Membre confirmé
    Homme Profil pro
    Technicien d'étude
    Inscrit en
    Juin 2015
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien d'étude

    Informations forums :
    Inscription : Juin 2015
    Messages : 87
    Par défaut
    Salut POL63

    Pourrais tu m'en dire un peu plus sur comment faire. Je ne vois pas du tout comment faire.
    En te remerciant par avance

Discussions similaires

  1. Création treeview personnalisé
    Par Pierrot005 dans le forum VB.NET
    Réponses: 0
    Dernier message: 04/04/2012, 09h40
  2. Tooltip(infobulle) personnalisé sur un TreeView en ASP.NET
    Par ptit_fumiste dans le forum ASP.NET
    Réponses: 1
    Dernier message: 17/06/2009, 16h03
  3. TreeView et menu contextuel...
    Par agh dans le forum Composants VCL
    Réponses: 6
    Dernier message: 06/04/2009, 12h23
  4. où y a t il un tutorial pour le Treeview ??
    Par silvermoon dans le forum C++Builder
    Réponses: 4
    Dernier message: 09/12/2002, 13h30
  5. [Pointer]Treeview.Data
    Par rbag dans le forum Composants VCL
    Réponses: 7
    Dernier message: 31/08/2002, 01h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo