Soyez le premier à donner votre avis sur cette source.
Vue 16 439 fois - Téléchargée 2 317 fois
#Region " Remplir le TreeView " Public Sub LoadTreeview() Dim objDataSet As New DataSet SQLString = "SELECT * FROM T_CD_Groupe ORDER BY Groupe ASC" Dim objDataAdapterGroupe As New OleDb.OleDbDataAdapter(SQLString, objConnection) SQLString = "SELECT * FROM T_CD_Categorie ORDER BY Categorie ASC" Dim objDataAdapterCategorie As New OleDb.OleDbDataAdapter(SQLString, objConnection) SQLString = "Select * from T_CD_Titre ORDER BY TitreCD ASC" Dim objDataAdapterTitre As New OleDb.OleDbDataAdapter(SQLString, objConnection) SQLString = "Select * from T_CD_InfoTitre" Dim objDataAdapterInfo As New OleDb.OleDbDataAdapter(SQLString, objConnection) objConnection.Open() objDataAdapterGroupe.Fill(objDataSet, "dtGroupe") objDataAdapterCategorie.Fill(objDataSet, "dtCategorie") objDataAdapterTitre.Fill(objDataSet, "dtTitre") objDataAdapterInfo.Fill(objDataSet, "dtInfoTitre") objConnection.Close() 'Créé une relation entre les Tables. objDataSet.Relations.Add("GrToCat", objDataSet.Tables("dtGroupe").Columns("GroupeID"), _ objDataSet.Tables("dtCategorie").Columns("GroupeID")) objDataSet.Relations.Add("CatToTitre", objDataSet.Tables("dtCategorie").Columns("CategorieID"), _ objDataSet.Tables("dtTitre").Columns("CategorieID")) objDataSet.Relations.Add("TitreToInfo", objDataSet.Tables("dtTitre").Columns("TitreCDID"), _ objDataSet.Tables("dtInfoTitre").Columns("TitreCDID")) ''''''''''''''''''''''' TreeView1.Nodes.Clear() Dim drGroupe As DataRow Dim ParentTable As DataTable ParentTable = objDataSet.Tables("dtGroupe") For Each drGroupe In ParentTable.Rows Dim ParentNode As TreeNode ParentNode = New TreeNode(drGroupe.Item(1)) TreeView1.Nodes.Add(ParentNode) ParentNode.Tag = drGroupe("GroupeID") ''''populate child''''' ''''''''''''''''''''''' Dim drCategorie As DataRow Dim childnode As TreeNode childnode = New TreeNode For Each drCategorie In drGroupe.GetChildRows("GrToCat") childnode = ParentNode.Nodes.Add(drCategorie(2)) childnode.Tag = drCategorie("CategorieID") ''''populate child2'''' '''''''''''''''''''''''''' Dim drTitre As DataRow Dim ChildNode2 As TreeNode ChildNode2 = New TreeNode For Each drTitre In drCategorie.GetChildRows("CatToTitre") ChildNode2 = childnode.Nodes.Add(drTitre(2)) ChildNode2.Tag = drTitre("TitreCDID") ''''populate child3'''' '''''''''''''''''''''''''' Dim drInfoTitre As DataRow Dim ChildNode3 As TreeNode ChildNode3 = New TreeNode For Each drInfoTitre In drTitre.GetChildRows("TitreToInfo") ChildNode3 = ChildNode2.Nodes.Add(drInfoTitre(2)) ChildNode3.Tag = drInfoTitre("InfoID") Next drInfoTitre ''''''''''''''''''''''''' Next drTitre '''''''''''''''''''''''' Next drCategorie ''''''''''''''' Next drGroupe TreeView1.Nodes(0).Expand() TreeView1.Nodes(0).Nodes(1).Expand() End Sub #End Region
18 mars 2009 à 12:48
ça fait plaisir
23 févr. 2008 à 06:30
C'est un exemple modèle, c'est très bien monté et détaillé. Même pour un débutant comme moi, j'arrive à m'y retrouver.
Penses-tu que tu pourrais ajouter une procédure, avec un bouton, qui pourrait ajouter un groupe à la racine de l'arboraissance ?
Dans le treeview, peut-on faire apparaitre un deuxième champ ?
EX:
Dans Access:
Table: T_CD_InfoTitre
Champ: InfoID,TitreCDID,InfoTitre,NOMAUTEUR
Dans le treeview...est-ce possible de faire afficher
cela ainsi ? Le champ "NOMAUTEUR" peut s'afficher à la
suite du champ "InfoTitre" sur un même "Child" ?
-Groupe
- Categorie
-Titre CD
-InfoTitre + NOMAUTEUR
si vous avez une solution ou des réponses à mes questions...voici mon courriel : tissot_pr200@hotmail.com
6 mai 2005 à 18:55
proc sample() <------ !!
for .. each
if (child )
{
sample() <----- !!
}
return
Tu vois la fonction "sample" est appelé dans la fonction "sample", et non chui pas gateu, je ne me repette pas :)
Tu vois les possibilités d'une telle methode ? non ?
16 janv. 2005 à 03:31
Merci
16 janv. 2005 à 03:16
proc sample()
for .. each
if (child )
{
sample()
}
return
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.