begin process at 2012 02 14 04:37:14
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

ASP.Net

 > L'INTERFACE IHIERARCHICALENUMERABLE - BINDEZ VOS MENU/TREEVIEW AVEC VOTRE PROPRE SOURCE DE DONNÉES

L'INTERFACE IHIERARCHICALENUMERABLE - BINDEZ VOS MENU/TREEVIEW AVEC VOTRE PROPRE SOURCE DE DONNÉES




 Description

Lorsque l'on utilise les controles Menu ou treeview d'asp.net on se sert généralement d'un XMLDataSource/SiteMapDataSource ou alors si veut dynamiquement peupler le controle on modifie directement la collection de noeuds.

Mais il existe une autre solution qui permet de faire
monTreeview.DataSource = myFiles;
monTreeview.DataBind();

La seule condition est que myFiles implémente IHierarchicalEnumerable.


Dans cet exemple je montre comment implémenter IHierchicalEnumerable pour afficher les fichiers et sous dossier d'un dossier. Je montre également comment créer son propre controle de datasource.

Source

  • protected void Page_Load(object sender, EventArgs e)
  • {
  • // on bind notre treeview avec les fichiers/dossier contenu dans le dossier d:/www/
  • tv1.DataSource = new FileSystem(@"d:\www\", true);
  • tv1.DataBind();
  • }
  • <asp:TreeView ID="tv1" runat="server" ImageSet="XPFileExplorer" NodeIndent="15" ExpandDepth="1" EnableViewState="false">
  • <ParentNodeStyle Font-Bold="False" />
  • <HoverNodeStyle Font-Underline="True" ForeColor="#6666AA" />
  • <SelectedNodeStyle BackColor="#B5B5B5" Font-Underline="False" HorizontalPadding="0px"
  • VerticalPadding="0px" />
  • <NodeStyle Font-Names="Tahoma" Font-Size="8pt" ForeColor="Black" HorizontalPadding="2px"
  • NodeSpacing="0px" VerticalPadding="2px" />
  • <DataBindings>
  • <asp:TreeNodeBinding TextField="Name" />
  • </DataBindings>
  • </asp:TreeView>
  • ---- Deuxieme solution possible en utilisant un FileSystemDatasource
  • <asp:TreeView ID="tv1" runat="server" ImageSet="XPFileExplorer" NodeIndent="15" ExpandDepth="1" DataSourceID="fsds1" EnableViewState="false">
  • <ParentNodeStyle Font-Bold="False" />
  • <HoverNodeStyle Font-Underline="True" ForeColor="#6666AA" />
  • <SelectedNodeStyle BackColor="#B5B5B5" Font-Underline="False" HorizontalPadding="0px"
  • VerticalPadding="0px" />
  • <NodeStyle Font-Names="Tahoma" Font-Size="8pt" ForeColor="Black" HorizontalPadding="2px"
  • NodeSpacing="0px" VerticalPadding="2px" />
  • <DataBindings>
  • <asp:TreeNodeBinding TextField="Name" />
  • </DataBindings>
  • </asp:TreeView>
  • <test:FileSystemDataSource runat="server" id="fsds1" rootPath="d:/www/" />
    protected void Page_Load(object sender, EventArgs e)
    {
        // on bind notre treeview avec les fichiers/dossier contenu dans le dossier d:/www/
        tv1.DataSource = new FileSystem(@"d:\www\", true);
        tv1.DataBind();
    }


    <asp:TreeView ID="tv1" runat="server" ImageSet="XPFileExplorer" NodeIndent="15" ExpandDepth="1" EnableViewState="false">
        <ParentNodeStyle Font-Bold="False" />
        <HoverNodeStyle Font-Underline="True" ForeColor="#6666AA" />
        <SelectedNodeStyle BackColor="#B5B5B5" Font-Underline="False" HorizontalPadding="0px"
            VerticalPadding="0px" />
        <NodeStyle Font-Names="Tahoma" Font-Size="8pt" ForeColor="Black" HorizontalPadding="2px"
            NodeSpacing="0px" VerticalPadding="2px" />
            <DataBindings>
                <asp:TreeNodeBinding TextField="Name" />
            </DataBindings>
    </asp:TreeView>



---- Deuxieme solution possible en utilisant un FileSystemDatasource 

    <asp:TreeView ID="tv1" runat="server" ImageSet="XPFileExplorer" NodeIndent="15" ExpandDepth="1" DataSourceID="fsds1" EnableViewState="false">
        <ParentNodeStyle Font-Bold="False" />
        <HoverNodeStyle Font-Underline="True" ForeColor="#6666AA" />
        <SelectedNodeStyle BackColor="#B5B5B5" Font-Underline="False" HorizontalPadding="0px"
            VerticalPadding="0px" />
        <NodeStyle Font-Names="Tahoma" Font-Size="8pt" ForeColor="Black" HorizontalPadding="2px"
            NodeSpacing="0px" VerticalPadding="2px" />
            <DataBindings>
                <asp:TreeNodeBinding TextField="Name" />
            </DataBindings>
    </asp:TreeView>
    <test:FileSystemDataSource  runat="server" id="fsds1" rootPath="d:/www/" />

 Conclusion

Cet exemple permet seulement de montrer l'utilisation des datasource Hierarchique. Mon code doit surement lever une exception dans le cas où l'utilisateur ASP.net n'a pas accès aux fichiers, etc...

Dans la vrai vie, il faudra gérer ces cas mais il est très rare de devoir mapper un treeview avec un hierarchie déjà existante ;-)

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip Source .NET (Dotnet) UTILISATION DE LA MÉTHODE SORT ET SORTDIRECTION AVEC UN GRID...
Source .NET (Dotnet) RESPONSE.FILTER : MANIPULATION DU STREAM DE SORTIE ASP.NET
Source avec Zip Source .NET (Dotnet) OPTIMISATION DE LA SERIALISATION JSON POUR LES LIST<T>
Source avec Zip Source .NET (Dotnet) CRAWLABLELINKBUTTON : UPDATEPANEL ET RÉFÉRENCEMENT
Source .NET (Dotnet) POSTBACKCONTROL - COMMUNICATION CLIENT/SERVEUR AVEC LES UPDA...

 Sources de la même categorie

Source avec Zip Source .NET (Dotnet) GUESTBOOK AVEC GRIDVIEW par DanMor498
Source avec Zip CHECKED DROPDOWNLIST par fredzool
Source avec Zip Source avec une capture Source .NET (Dotnet) GRIDVIEW WITH TREEVIEW AND CALLBACK par fredzool
Source avec Zip APPELLER UN WEBSERVICE DEPUIS JAVASCRIPT par fredzool
Source avec Zip Source .NET (Dotnet) MONEY TEXTBOX WITH EMBEDED JAVASCRIPT par fredzool

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture Source .NET (Dotnet) GRIDVIEW WITH TREEVIEW AND CALLBACK par fredzool
Source avec Zip Source .NET (Dotnet) UTILISATION DE LA MÉTHODE SORT ET SORTDIRECTION AVEC UN GRID... par jesusonline
Source avec Zip Source .NET (Dotnet) LINQ : BINDER UN TREEVIEW AVEC UN IENUMERABLE : L'EXTENSION ... par jesusonline
Source avec Zip Source .NET (Dotnet) UTILISATION GRIDVIEW FORMVIEW ACCESSDATASOURCE INSERTION par fredzool
Source avec Zip Source .NET (Dotnet) VERSION AJAX DU MENU DE CODES SOURCES par tikrimi

Commentaires et avis

Commentaire de spool999 le 28/06/2007 13:33:51

Merci Cyril pour l'exemlpe je n'ai pu testé que la premiere solution elle est tres interessante.

Commentaire de waterw72 le 13/07/2007 11:47:10

Bonjour,
n'aurais-tu pas la version vb ?
merci

Commentaire de arcollet le 13/04/2008 02:03:43

Bonsoir,
Je cherche un code exemple concernant l'exploitation du datasource du controle menu d'asp.net2 afin de générer un menu et ses sous-menu à partir d'une base de donnée.
Auriez vous par hasard un code qui traine ?
Merci d'avance pour votre aide.
Denis

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Developper une treeview [ par Skinou ] Bonjour a tous, Je suis débutant en ASP.NET et là je suis en train de faire un petit site. J'ai fait un fichier web.sitemap pour gérer l'arborecence d Menu contextuel d'un treeView [ par debladz ] Bonjour, Pour les besoins d'una application Web en ASP.Net, je dois associer un menu contextuel aux noeuds d'un treeView.Est-ce que vous avez un idée treeview et arborescence [ par ottocar ] Bonjourg un control treeview, mais quand je clique sur un lien du menu, ca ne developpe pas l'arborescence, mais juste lien html sur ma page , que fai Utilisation des TreeView [ par ov3rdoze ] BonjourJe developpe actuellement un projet VB .NET. J'ai mis un TreeView dans ma page, mais le problème, c'est que quand on clique un lien dans ce tre Gérer un TreeView comme menu ascenceur ou accordion [ par parad15 ] Bonsoir tout le monde, je travaille sur un projet alors j'utilise un TreeView qui récupère les donnée dans la BD pour afficher un menu dynamique, svp Manipuler les menu dynamic [ par parad15 ] Est ce possible de controler un menu dynamic qui utilise un treeview en asp et javascript, menu hiérarchique de type explorateur [ par lhoazour ] Bonjour,   <p class="MsoNorma Master page et changement de contenu [ par javato ] Bonjour, Je voudrais créér une page avec un menu fixe sur la gauche et une page centrale qui change en fonction du menu. Pour cela je veux créer une " probleme de menu en asp sql server 2000 [ par drdodi ] salut je suis entrain de faire un projet de fin d'etude et j'ai rencontre qqes problemes .de l'aide svp .une partie de mon projet consiste a cree un m DropDownList et DataSource d'objets [ par Alexandre Marlot ] Bonjour.Je désire alimenter une DropDownList à partir d'une collection d'objet. Je réalise pour cela un binding avec les propriété value et text (afin


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), 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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,451 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales