Generare dinamicamente un controllo TreeView con risultati di una query su tabelle SQL.
Di Admin (del 06/06/2006 @ 13:53:07, in ASP.NET, linkato 7144 volte)
Supponiamo di voler generare un albero di navigazione per il nostro sito o per una applicazione web-based,magari basato su una serie di record risultato di una query SQL. E' possibile mediante il controllo TreeView (ToolBox > Standard > TreeView) generare un albero di link/opzioni. La via più semplice è quella di avere già inserito nella webform un Panel e al suo interno un TreeView; successivamente, a runtime, definiamo tutti i suoi rami e le foglie e poi aggiungere tale albero al Panel. Dim MyConnection As New Data.SqlClient.SqlConnection(ConfigurationSettings.AppSettings("DBConnection")) ' Definisco la connessione del WebConfig Dim StrRami As String = "SELECT ramo FROM miatabella WHERE albero = 1 ORDER BY ramo" DARami= New Data.SqlClient.SqlDataAdapter(StrRami, MyConnection) DSRami = New Data.DataSet() ' Creo un dataset DSTabella dove memorizzo i rami dell'albero DARami.Fill(DSRami , "miatabella") ' Il DataAdapter aggiorna il Dataset con i risultati della query For i_DSRami = 0 To DSTabella.Tables.Item(0).Rows.Count - 1 ' Ciclo sui risultati della query SQL
Dim Ramo As New System.Web.UI.WebControls.TreeNode() ' Istanzio nuovo ramo
NuovoObj.Text = "Vedi il contenuto del ramo" ' Definisco testo, tooltip, link e tutti gli altri attributi del ramo NuovoObj.ToolTip = "Clicca per aprire la cartella" NuovoObj.NavigateUrl = "paginatest.aspx" NuovoObj.Target = "frame2" NuovoObj.ImageUrl = "images/icona.gif"
TreeView1.Nodes.Add(NuovoObj) ' Aggiungo il ramo all'albero Next
|