Treeview control

martedì 15 luglio 2003 - 15.45

farfalla Profilo | Newbie

Salve,
sto utilizzando IE web controls, in particolare il treeview, sono riuscita a creare dinamicamente tale treeview,che mostra i file presenti nella web application, ora voglio che selezionato un nodo dell'albero il file venga aperto in un altra finestra .
Spero di essere stata chiara.

Aiuto sono ormai disperata

Brainkiller Profilo | Guru

Ciao e Benvenuta,
credo che ho la soluzione al tuo problema. Immagino che tu carichi i nodi all'interno della Treeview dinamicamente però con quello che ti propongo puoi modificare e far sì che i nodi ti aprano il file in un'altra finestra. Ti propongo tre file diversi un .aspx, un .xml e un .xsl, copia il contenuto e salvalo sul tuo disco fisso e metti tutti e 3 i file nella cartella del server Web poi apri la pagina e clicca sui nodi vedrai che si aprono in una nuova finestra. Il lavoro lo fa il file xsl, se hai problemi riscrivi ma dovrebbe funzionare (ho guardato su MSDN non è codice mio).
Ciao
David

tw.aspx

<%@ Register TagPrefix="ie" Namespace="Microsoft.Web.UI.WebControls" Assembly="Microsoft.Web.UI.WebControls" %>
<html>
<body>
<form runat="server">
<ie:treeview id="tree1" runat="server" TreeNodeSrc = "nodes.xml" TreeNodeXsltSrc = "templates.xsl"/>
</form>
</body>
</html>



nodes.xml

<?xml version="1.0" ?>
<HelpTOC>
<HelpTOCNode Title="Web Sites">
<HelpTOCNode Title = "Microsoft" Url = "http://www.microsoft.com">
</HelpTOCNode>
<HelpTOCNode Title = "MSDN" Url = "http://msdn.microsoft.com">
</HelpTOCNode>
</HelpTOCNode>
</HelpTOC>


templates.xsl

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version='1.0'>
<xsl:template match="/">
<TREENODES>
<xsl:for-each select="HelpTOC/HelpTOCNode">
<xsl:element name="TreeNode">
<xsl:attribute name="Text" ><xsl:value-of select="@Title"/></xsl:attribute>
<xsl:attribute name="NavigateURL" ><xsl:value-of select="@Url"/></xsl:attribute>
<xsl:attribute name="TARGET" >main</xsl:attribute>
<xsl:for-each select="HelpTOCNode">
<xsl:element name="TreeNode">
<xsl:attribute name="Text" ><xsl:value-of select="@Title"/></xsl:attribute>
<xsl:attribute name="NavigateURL" ><xsl:value-of select="@Url"/></xsl:attribute>
<xsl:attribute name="Target" >main</xsl:attribute>
</xsl:element>
</xsl:for-each>
</xsl:element>
</xsl:for-each>
</TREENODES>
</xsl:template>
</xsl:stylesheet>

farfalla Profilo | Newbie

Ho provato quello che mi suggerivi, solo che diventa molto complicato gestire la mia applicazione utilizzando l'xml. altri suggerimenti?

Brainkiller Profilo | Guru

Era sufficiente guardare un po' le proprietà del controllo Treeview:

TreeNode a=new TreeNode();
a.Text="DotNetHell";
a.NavigateUrl="http://www.dotnethell.it";
a.Target="_blank";
TreeView1.Nodes.Add(a);

con questo piccolo esempio vedrai che la Home Page di dotNetHell si apre in una nuova finestra del Browser.
E' sufficiente impostare la proprietà Target del nodo a "_blank".

ciao
David

TIAGO Profilo | Newbie

IO HO GUARDATO IL LINK ED HO SCARICATO L'INSTALLER DEL CONTROLLO. INCLUDENDO POI I RIFERIMENTI ED AGGIUNGENDO LA TREE VIEW NELLA TOOLBAR; QUANDO LA USO PERO', CREANDO ALCUNI NODI E VISUALIZZANDO LA WEB FORM IN DEBUG NON MI RISULTA VISUALIZZATO L'ALBERO MA SOLO I TESTI DEI NODI .... NON FUNZIONA A DOVERE PERCHE'??

TIAGO Profilo | Newbie

GRAZIE! ORA FUNZIA!

TIAGO Profilo | Newbie

anzi non funzia totalmente, creando i nodi staticamente è ok, ma creando un nodo dinamicamente tipo :
TreeNode a = new TreeNode();
mi dà un errore del tipo manca una direttiva using o un riferimento ad un assembly....
; ho inserito i riferimenti a :
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;

devo copiare qualche altra cartella o fare qualcos'altro??

TIAGO Profilo | Newbie

si l'ho fatto, ma la classe tree view me la vede, è quando creo il tree node che mi dà errore....

TIAGO Profilo | Newbie

si ok ora funziona alla grande, scusa sono io che sono addormentato sul pc...
grazie ancora

Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5