Accueil > > > 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
Information sur la source
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 ;-)
Sources du même auteur
Sources de la même categorie
Commentaires et avis
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
|
Derniers Blogs
XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [HTML5] AUTOUR DU W3C : NOUVEAUX STANDARDS ET WEB MOBILE (LILLE)[HTML5] AUTOUR DU W3C : NOUVEAUX STANDARDS ET WEB MOBILE (LILLE) par Gio
Je m'y prends un peu tard je sais, mais bon je suis développeur web et donc hyper fainéant ! Toujours dans le cadre des technologies émergentes, ici HTML5, parce qu'on aime HTML5 chez Wyg , nous seront présent, le vieux ( Aurélien V.) et moi, pour pr...
Cliquez pour lire la suite de l'article par Gio [WP7] DYNAMICALLY CHANGE STARTUP PAGE[WP7] DYNAMICALLY CHANGE STARTUP PAGE par KooKiz
Let's say that you want to allow the user to customize the startup page of your application. You can easily change the startup page by editing the 'NavigationPage' attribute in the manifest file. But the manifest cannot be modified once the applicatio...
Cliquez pour lire la suite de l'article par KooKiz
Forum
RE : FORMULAIRERE : FORMULAIRE par ap24dp
Cliquez pour lire la suite par ap24dp RE : FORMULAIRERE : FORMULAIRE par jopop
Cliquez pour lire la suite par jopop RE : FORMULAIRERE : FORMULAIRE par ap24dp
Cliquez pour lire la suite par ap24dp RE : FORMULAIRERE : FORMULAIRE par jopop
Cliquez pour lire la suite par jopop
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|