Forum de discussion
Forum « Programmation ASP » (archives)
Création d'un treeview
Envoyé: 17 mai 2005, 6h47 par harbonne
Voici la situation:
j'ai crée une table TERME qui contient des termes choisis par un documentaliste.
Le structure de cette table est la suivante :
ID_TERME, Lib_TERME( libellé du terme), EM( numéro de synonyme qui est également un terme), NA( chaine de caractères), DATE.
J'ai crée une table GENERIQUES qui contient les termes de la table TERME avec leur terme(s) générique(s) (générique signifie qui se situe à un niveau hiérarchique supérieur dans une arborescence)
La structure de la table GENERIQUES est la suivante :
ID_TG( n° incrémenté), ID_TERME_SOURCE ( qui est le numéro du terme dans la table TERME qui possède un terme générique), ID_TERME_GENERIQUE qui est le numéro du terme générique qui est lui même un terme de la table TERME.
Dans la table GENERIQUES il existe des termes qui n'ont pas de terme générique parce que ce sont des termes RACINE et les concernant, la valeur du champ ID_TERME_GENERIQUE = 0
J'aimerais crée un treeview qui montre :
-toutes les racines
-tous les termes qui ont les racines pour terme générique, c'est à dire pour lesquels les racines sont situées à un niveau hiérarchique supérieur.
Pour l'instant j'ai seulement crée un arbre qui montre tous les termes de la table TERME.
Pourriez vous m'aider à créer un arbre qui sélectionne ce que je souhaite.
Malgré le fait que la requête sql est correcte et sélectionne bien ce que je recherche, je ne vois pas au niveau de l'interface ce que je souhaite; je pense que le problème vient au niveau du datatable.
voici le code implémenté :
[code]
Imports System.Data
Imports System.Data.SqlClient
Imports Microsoft.Web.UI.WebControls
Public Class TreeView1
Inherits System.Web.UI.Page
Protected WithEvents TreeView1 As Microsoft.Web.UI.WebControls.TreeView
Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim sConnString As String = "Data Source = localhost ; Initial Catalog =THESAURUS ; User Id =""; Password=""; integrated security = SSPI"
Dim objConn As New SqlConnection(sConnString)
Dim objDS As New DataSet()
Dim da1 As New SqlDataAdapter("SELECT Lib_TERME from TERME where ID_TERME IN (SELECT ID_TERME_SOURCE_G from GENERIQUES WHERE ID_TERME_GENERIQUE = 0)", objConn)
da1.Fill(objDS, "dtTERME")
objConn.Close()
'création des types de données du tree view
Dim nodeTERME As TreeNode
Dim rowTERME As DataRow
For Each rowTERME In objDS.Tables("dtTERME").Rows
nodeTERME = New TreeNode()
nodeTERME.Text = rowTERME("Lib_TERME")
TreeView1.Nodes.Add(nodeTERME)
Next
End Sub
End Class
[/code]
Merci encore beaucoup de votre aide.
Bien cordialement.
Nathalie
Réponses
|