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

Développement Web avec .NET Discussion :

Cacher un node d'un treeview


Sujet :

Développement Web avec .NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Inscrit en
    Mars 2013
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2013
    Messages : 1
    Par défaut Cacher un node d'un treeview
    Bonjour,

    J'ai actuellement un menu sur ma master page généré grace à un treeview.
    La définition des nodes du treeview est dans le fichier web.sitemap.

    J'aimerai que lorsqu'un un utilisateur est connecté je puisse caché le node qui permet d'aller sur ma page de creation d'un compte. Ou encore de cacher les node propre à l'admin lorsqu'un utilisateur anonyme ou un utilisateur connecté est navigue sur le site.

    Pourriez-vous me dire comment faire ? si cela peut vous aider voici la définition de mon treeview

    masterPage
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    ... 
    <asp:TreeView ID="TreeView1" runat="server" 
                        DataSourceID="SiteMapDataSourceMenu" NodeIndent="10" 
                        ShowExpandCollapse="False">
                        <HoverNodeStyle Font-Underline="True" ForeColor="#5555DD" />
                        <NodeStyle Font-Names="Verdana" Font-Size="8pt" ForeColor="Black" 
                            HorizontalPadding="0px" NodeSpacing="0px" VerticalPadding="0px" />
                        <ParentNodeStyle Font-Bold="False" />
                        <SelectedNodeStyle Font-Underline="True" ForeColor="#5555DD" 
                            HorizontalPadding="0px" VerticalPadding="0px" />
                    </asp:TreeView> 
                    <asp:SiteMapDataSource ID="SiteMapDataSourceMenu" runat="server" />
    web.sitemap:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?xml version="1.0" encoding="utf-8" ?>
    <siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
      <siteMapNode url="" title="Menu"  description="Menu Share the world">  
            <siteMapNode url="~/Default.aspx" title="Acceuil"  description="Acceuil Share the world" />
            <!--<siteMapNode url="~/Anonymes/Connexion.aspx" title="Connexion"  description="Connexion Share the world" />-->
            <siteMapNode url="~/Anonymes/CreationCompte.aspx" title="Créer compte"  description="Création d'un compte Share the world" />
            <siteMapNode url="~/Utilisateur/ParcourirPointInteret.aspx" title="Parcourir"  description="Parcourir Share the world" />
            <siteMapNode url="~/Utilisateur/AjouterPointInteret.aspx" title="Ajouter"  description="Ajouter à Share the world" />
            <siteMapNode url="~/Admin/AdminTest.aspx" title="Contact"  description="Contact Share the world" />
      </siteMapNode>
    </siteMap>

  2. #2
    Membre très actif
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2010
    Messages
    336
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2010
    Messages : 336
    Par défaut
    Tu peux attacher l évènement treenodedatabound a ton treeview dans ton pageload :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    tonTreeView.TreeNodeDataBound += new TreeNodeEventHandler(tonTreeView_TreeNodeDataBound);
    qui va te générer cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    void TreeView1_TreeNodeDataBound(object sender, TreeNodeEventArgs e)
        {
            TreeView menu = sender as TreeView;
            //récupère le site map node cliquer
            SiteMapNode elementMenu = e.Node.DataItem as SiteMapNode;
     
            if (elementMenu.Title == "ton label de ton menu")
            {
                //tu récupère le noeud parent
                TreeNode parent = e.Node.Parent;
                //auquel tu lui enlève le noeud enfant testé dans le if
                parent.ChildNodes.Remove(e.Node);
            }
        }

Discussions similaires

  1. [C#] Vérification de renommage d'un node d'un TreeView
    Par Oberown dans le forum Windows Forms
    Réponses: 2
    Dernier message: 05/12/2005, 12h20
  2. Suppresion d'une node dans un Treeview
    Par PRACH dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 07/11/2005, 12h22
  3. [VB.NET] [TreeView] expand node d'un treeview
    Par graphicsxp dans le forum Windows Forms
    Réponses: 3
    Dernier message: 07/04/2005, 16h21
  4. 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