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 :

disable node treeview


Sujet :

ASP.NET

  1. #1
    Membre éprouvé
    Inscrit en
    Mars 2008
    Messages
    1 123
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 1 123
    Par défaut disable node treeview
    Bonjour à tous
    j'ai un treeview:
    Pays
    P1
    P2
    Commune
    C1
    C2

    comment je peux désactiver les liens (P1 et C1) de mon arbre

    Merci

  2. #2
    Membre émérite Avatar de Ramajb
    Homme Profil pro
    ----------------------------
    Inscrit en
    Septembre 2007
    Messages
    476
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : ----------------------------

    Informations forums :
    Inscription : Septembre 2007
    Messages : 476
    Par défaut
    Citation Envoyé par sky88 Voir le message
    Bonjour à tous
    j'ai un treeview:
    Pays
    P1
    P2
    Commune
    C1
    C2

    comment je peux désactiver les liens (P1 et C1) de mon arbre

    Merci
    En utilisant le gestionnaire d’événement TreeNodeDataBound qui sera appelé a chaque fois qu'il ait eu une liaison de données avec un nœud.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    //Ceci est appelé pour chaque nœud.
    protected void TreeView1_TreeNodeDataBound(object sender, TreeNodeEventArgs e)
    {
         switch (e.Node.Text)
         {
              case "P1":                     
              case "C1": 
                        e.Node.SelectAction = TreeNodeSelectAction.None;
                        break;
          }
     
    }
    a+

  3. #3
    Membre éprouvé
    Inscrit en
    Mars 2008
    Messages
    1 123
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 1 123
    Par défaut
    Merci voici mon code mais ça ne marche pas:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     
    Protected Sub TreeView1_TreeNodeDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.TreeNodeEventArgs) Handles TreeView1.TreeNodeDataBound
     
            Select Case (e.Node.Text)
                Case "Ajouter groupe"
                   e.Node.SelectAction = TreeNodeSelectAction.None
            End Select
     
     
        End Sub

  4. #4
    Membre émérite Avatar de Ramajb
    Homme Profil pro
    ----------------------------
    Inscrit en
    Septembre 2007
    Messages
    476
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : ----------------------------

    Informations forums :
    Inscription : Septembre 2007
    Messages : 476
    Par défaut
    Ok ça ne marche pas mais donne nous un peu plus de détails. Est ce qu'il n’exécute pas le code? As-tu une erreur? Pour peupler ton TreeView, tu as fais comment?
    a+

  5. #5
    Membre éprouvé
    Inscrit en
    Mars 2008
    Messages
    1 123
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 1 123
    Par défaut
    Merci beaucoup pou votre réponse:

    moi j'ai une treeview avec des noeud
    (le treeview n'esdt pas rempli à partir d'une base de données):

    j'ai une variable et selon sa valeur je veux activer/désactiver le lien de quelques noeuds
    s'il n'est pas possible de désactiver le lien est ce qu'on peux supprimer le noeud dans ce cas là?


    Merci

  6. #6
    Membre émérite Avatar de Ramajb
    Homme Profil pro
    ----------------------------
    Inscrit en
    Septembre 2007
    Messages
    476
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : ----------------------------

    Informations forums :
    Inscription : Septembre 2007
    Messages : 476
    Par défaut
    Citation Envoyé par sky88 Voir le message
    Merci beaucoup pou votre réponse:

    moi j'ai une treeview avec des noeud
    (le treeview n'esdt pas rempli à partir d'une base de données):

    Merci
    Ton contrôle TreeView, il est rempli comment alors? le mieux c'est que tu nous montre un peu ton code.

  7. #7
    Membre éprouvé
    Inscrit en
    Mars 2008
    Messages
    1 123
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 1 123
    Par défaut
    Merci
    voici le code de mon 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
    15
    16
    17
    18
    19
    20
    21
    22
     
     
    <asp:TreeView ID="TreeView2" runat="server" Height="440px" ImageSet="Arrows" Style="border-left-color: #66ccff;
                    left: 332px; border-bottom-color: #66ccff; border-top-color: #66ccff; position: absolute; top: 486px;
                    border-right-color: #66ccff;" Font-Names="Calibri" Font-Size="Smaller" Font-Bold="False" Font-Overline="False" Font-Strikeout="False" Width="264px">
                <ParentNodeStyle Font-Bold="False" />
                <HoverNodeStyle Font-Underline="True" ForeColor="#5555DD" Font-Bold="True" Font-Italic="True" />
                <SelectedNodeStyle Font-Underline="True" ForeColor="#5555DD" HorizontalPadding="0px"
                        VerticalPadding="0px" />
                <Nodes>
                    <asp:TreeNode Text="Groupe" Value="0">
                        <asp:TreeNode Text="Ajouter groupe" Value="12"></asp:TreeNode>
                        <asp:TreeNode Text="Modifier groupe" Value="13"></asp:TreeNode>
                        <asp:TreeNode Text="Supprimer grouper" Value="15"></asp:TreeNode>
                        <asp:TreeNode Text="Voir les groupes" Value="300"></asp:TreeNode>
                    </asp:TreeNode>
                    <asp:TreeNode Text="Déconnexion" Value="100"></asp:TreeNode>
                </Nodes>
                <RootNodeStyle Font-Bold="True" />
                <NodeStyle Font-Names="Calibri" Font-Size="12pt" ForeColor="Black" HorizontalPadding="5px"
                        NodeSpacing="0px" VerticalPadding="0px" />
            </asp:TreeView>
    selon une variable je veux désactiver le lien ajouter groupe?

  8. #8
    Membre émérite Avatar de Ramajb
    Homme Profil pro
    ----------------------------
    Inscrit en
    Septembre 2007
    Messages
    476
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : ----------------------------

    Informations forums :
    Inscription : Septembre 2007
    Messages : 476
    Par défaut
    Dans ton cas, même si je ne suis pas totalement d'accord avec la manière dont tu rempli ton TreeView, il faudra parcourir le treeview et vérifier si chaque nœud correspond à l’élément rechercher. Une fois trouvé, le nœud pourrait être désactivé/activé.

    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
     
    //Effectue une recherche d'un nœud dans une collection des nœuds données.
    //Une fois trouvé le désactive/active selon la valeur du variable isEnable.
    //Renvoie 1 si l'element recherché a été trouvé sinon 0
    protected int SetChildrenNodeState(string searchValue, bool isEnable, TreeNodeCollection node)
            {
                foreach (TreeNode nd in node)
                {
                    if (nd.Text.Equals(searchValue))
                    {                    
                        nd.SelectAction = isEnable ? TreeNodeSelectAction.Select : TreeNodeSelectAction.None;
                        return 1;
                    }
                    if (nd.ChildNodes.Count > 0)
                    {
                        SetChildrenNodeState(searchValue, isEnable, nd.ChildNodes);
                    }
                }
                return 0;
            }
    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
     
    //La recherche se fait uniquement pour les nœuds parents qui ont des //enfants.
    //Parcourt récursive.
    //
    protected void SetNodeState(string searchValue, bool isEnable)
            {
                int i = 0;
                foreach (TreeNode node in TreeView2.Nodes)
                {
                    if (node.ChildNodes.Count > 0)
                    {
                        i = SetChildrenNodeState(searchValue, isEnable, node.ChildNodes);
                        if (i == 1) break;// si élément trouvé, arrêter la recherche.
                    }
                }
            }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    //Exemple d'utilisation
    string searchValue = "Modifier groupe";
    SetNodeState(searchValue, false);
    Voilà, j’espère t'avoir aidé.

  9. #9
    Membre éprouvé
    Inscrit en
    Mars 2008
    Messages
    1 123
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 1 123
    Par défaut
    Merci beaucoup

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

Discussions similaires

  1. [Débutant] detecter selection node treeview
    Par Ashireon dans le forum VB.NET
    Réponses: 6
    Dernier message: 30/08/2012, 16h10
  2. [AC-2010] Développer les enfants d'un node treeview
    Par curt dans le forum IHM
    Réponses: 4
    Dernier message: 07/05/2012, 10h27
  3. [Débutant] Evenement sur node Treeview ?
    Par tlili_info dans le forum VB.NET
    Réponses: 1
    Dernier message: 27/09/2011, 15h26
  4. [VB6] Treeview: nombre de node?
    Par gg78 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 02/11/2004, 10h42
  5. Colorer le texte d'une node d'un treeView
    Par SBP dans le forum MFC
    Réponses: 3
    Dernier message: 28/10/2004, 19h34

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