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

ASP.NET Discussion :

utilisation du treeview [Débutant]


Sujet :

ASP.NET

  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Mai 2009
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2009
    Messages : 41
    Par défaut utilisation du treeview
    Bonjour,

    J'ai mis en place un treeview sans trop de problème, mais je voudrais que les nœuds se développent ou se ferment en cliquant sur le libellé du nœud et pas sur la case +/- à coté du libellé.

    Est ce que l'un d'entre vous pourrait me mettre sur une piste ?

    Merci d'avance.

    Nicolas

  2. #2
    Membre chevronné Avatar de _PascalC_
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2008
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2008
    Messages : 220
    Par défaut
    Salut, en partant du principe que tu utilise les Winforms tu peux faire ça en t'abonnant à l'évènement NodeMouseClick de ton TreeView :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    private void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
    {
        e.Node.Toggle();
    }
    Pascal

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Mai 2009
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2009
    Messages : 41
    Par défaut
    Bonjour,

    Et merci pour le conseil.
    Je vais voir si je peux m'en servir. En effet, je n'ai pas précise que je n'utilise pas directement Visual Studio mais sa version pour le développement web : Visual Web Developer version Express 2010.

    Je vous dirai si cela a fonctionné.

    Nicolas

  4. #4
    Membre chevronné Avatar de _PascalC_
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2008
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2008
    Messages : 220
    Par défaut
    Arf c'est pour du Web... Désolé dans ce cas mon bon de code ne servira pas à grand chose.

    Pascal

  5. #5
    Membre averti
    Homme Profil pro
    Inscrit en
    Mai 2009
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2009
    Messages : 41
    Par défaut
    Je confirme, parce que je ne retrouve pas l’événement NodeMouseClick...

    Mais bon, c'est de ma faute, je ne suis pas allé sur le bon forum a priori (je remercie le modérateur au passage.).

    J’espère que qqn aura une solution coté web.

    encore merci à toi Pascal.

    Nicolas

  6. #6
    Membre confirmé Avatar de Yosko
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2008
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2008
    Messages : 61
    Par défaut
    Euh, mais en fait, ce forum est bien celui du web (ASP.net).

    Par contre je crois que de base, les treeview n'existent pas dans ce domaine. Il doit exister des implémentations de ce système, mais probablement rien d'officiel.
    EDIT : j'ai rien dit. Y'a bien quelque chose à ce sujet dans la doc Microsoft : http://msdn.microsoft.com/en-us/libr...=vs.80%29.aspx

  7. #7
    Membre averti
    Homme Profil pro
    Inscrit en
    Mai 2009
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2009
    Messages : 41
    Par défaut
    Citation Envoyé par Yosko Voir le message
    Euh, mais en fait, ce forum est bien celui du web (ASP.net).
    En fait le premier poste était sur le forum Visual Studio

    Citation Envoyé par Yosko Voir le message
    Par contre je crois que de base, les treeview n'existent pas dans ce domaine. Il doit exister des implémentations de ce système, mais probablement rien d'officiel.
    Je ne sais pas ce que tu entends par "de base", en fait le treeview que j'utilise est apporté par les Ajax Control Toolkit.
    Mais, j'ai vu que beaucoup de personne reconstruisait le treeview. C'est peut-être ma solution...

    Nicolas

  8. #8
    Membre confirmé Avatar de Yosko
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2008
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2008
    Messages : 61
    Par défaut
    J'ai édité mon message pendant que tu rédigeais le tiens (j'ai pas été assez rapide...). Je disais donc qu'il y a quelque chose à ce sujet dans la doc Microsoft : http://msdn.microsoft.com/en-us/libr...=vs.80%29.aspx

  9. #9
    Membre éprouvé
    Avatar de Pelote2012
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2008
    Messages
    925
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2008
    Messages : 925
    Billets dans le blog
    2
    Par défaut tree .. vial


    Tu ajoutes
    en fait tu as des evenements qui se déclenche lorsque tu clic sur ton treeview
    généralement tu va sur une page spécifiques

    Dans ta master, la ou tu mets ton treeview
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Dim currentURL As String
            currentURL = HttpContext.Current.Request.Url.Segments(HttpContext.Current.Request.Url.Segments.Length - 1).ToUpper & HttpContext.Current.Request.Url.Query
            Dim n As TreeNode
     
            'Vérification du treeview
            If mnuTree.Nodes.Count > 0 Then
                For Each n In mnuTree.Nodes
                    If SetActiveNode(n, currentURL) Then
     
                    End If
                    n.SelectAction = TreeNodeSelectAction.None
                Next
            End If
    l'idée est de comparer là où tu est et les liens de ton tree view

    après tu peux utiliser node.expand ou collapse
    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
     
     
        ''' <summary>
        ''' Parcours récursif des noeuds d'un treeview pour sélectionner le lien actif dans la navigation
        ''' </summary>
        ''' <param name="n"></param>
        ''' <param name="currentURL"></param>
        ''' <returns></returns>
        ''' <remarks>La recherche se stoppe dés qu'un lien copatible est trouvé.</remarks>
        Private Function SetActiveNode(ByVal n As TreeNode, ByVal currentURL As String) As Boolean
            If n.NavigateUrl IsNot Nothing Then
                If CheckLink(n.NavigateUrl, currentURL) Then
                    n.SelectAction = TreeNodeSelectAction.None
                    n.Selected = True
                    Return True
                    Exit Function
                End If
            End If
            If n.ChildNodes.Count > 0 Then
                Dim n2 As TreeNode
                For Each n2 In n.ChildNodes
                    If SetActiveNode(n2, currentURL) Then
                        Return True
                        Exit Function
                    End If
                Next
            End If
            Return False
        End Function
    Ici mon code servait à autre chose, mais ça se rapproche pas mal de ce que tu cherches

  10. #10
    Membre averti
    Homme Profil pro
    Inscrit en
    Mai 2009
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2009
    Messages : 41
    Par défaut
    @Yosko : merci pour le lien, je vais regarder ce que je peux en tirer.

    @BROWNY : si je comprends bien ta solution, il est préférable de mettre qqc en place coté client, c'est ça ? Je vais regarder ton code pour voir ce que je dois et peux ré utiliser.

    Merci à vous deux.

    Nicolas

  11. #11
    Membre éprouvé
    Avatar de Pelote2012
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2008
    Messages
    925
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2008
    Messages : 925
    Billets dans le blog
    2
    Par défaut Treeview
    Mon code est dans ma master pour être exécuté à chaque ouverture de page.

    Je parcours le treeview
    si ma page actuelle = lien du treeview
    noeud.parent.expand=true
    fin si


  12. #12
    Membre averti
    Homme Profil pro
    Inscrit en
    Mai 2009
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2009
    Messages : 41
    Par défaut
    Bon, ce n'est pas si trivial que ça, mais cela me parait en bonne voie.

    Il faut que je transforme ça en C#, et j'aurai un début de piste.

    Merci

    Nicolas

  13. #13
    Membre éprouvé
    Avatar de Pelote2012
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2008
    Messages
    925
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2008
    Messages : 925
    Billets dans le blog
    2
    Par défaut Bonne réponse
    Si tu trouve la solution, n'hésite pas à la partager.
    N'oublie de marquer après comme résolu ton post et puis vote pour la réponse qui t'a le plus aidé (ça permet d'ajouter des points et donc de la confiance dans les futures réponses de la personne de qui tu as voté)

  14. #14
    Membre averti
    Homme Profil pro
    Inscrit en
    Mai 2009
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2009
    Messages : 41
    Par défaut
    En fait, au court de la discussion, on s'est un peu éloigné de ma problématique, même si les réponses apportées m'aideront.

    Je récapitule pour éclaircir le problème (peut-être...) :
    Pour un site web, j'utilise Visual Web Developper.
    J'ai mis en place un Treeview standard qui fonctionne dans sa version de base.
    Cependant, pour développer ou refermer un nœud du treeview, il faut cliquer sur le nœud en question.
    J'aimerai, moi, avoir aussi ce comportement en cliquant sur le libellé du noeud.

    Est ce que cela vous semble possible ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Utilisation de Treeview
    Par belocom dans le forum VB.NET
    Réponses: 2
    Dernier message: 28/02/2007, 00h19
  2. [C#]utilisation de TreeView?
    Par lamyae_84 dans le forum ASP.NET
    Réponses: 2
    Dernier message: 02/10/2006, 11h46
  3. Utilisation du TreeView en VBA avec Word standard
    Par ckeromen dans le forum VBA Word
    Réponses: 3
    Dernier message: 15/09/2006, 12h17
  4. [Controle] Utilisation du treeview
    Par mathias dans le forum Access
    Réponses: 1
    Dernier message: 05/07/2006, 15h31
  5. Transformation XML-->XML en utilisant les treeview
    Par mmed dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 05/07/2005, 17h36

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