primactif
Messages postés119Date d'inscriptionvendredi 27 décembre 2002StatutMembreDernière intervention 3 octobre 2016
-
17 août 2005 à 17:26
primactif
Messages postés119Date d'inscriptionvendredi 27 décembre 2002StatutMembreDernière intervention 3 octobre 2016
-
18 août 2005 à 14:25
Bonjour
je rame fort avec les controle imbriqués.
mon objectif est d'alimenter un treeView ou label dans un DetalView mais il ne veut pas de mon code
*****code behind*****
Dim MyTreeViewCategorie As New TreeView
MyTreeViewCategorie = CType(DetailsView1.FindControl("TreeViewCategorie"), TreeView)
Dim MyLabCat As Label
MyLabCat = CType(DetailsView1.FindControl("LabCat"), Label)
Select Case CInt(row("CatNiveau").ToString)
Case 1
MyLabCat.Text = row("Niv1Libellé").ToString()
Dim NewNode1 As TreeNode = New TreeNode
NewNode1.Text = row("Niv1Libellé").ToString()
NewNode1.Value = row("Niv1ID").ToString()
MyTreeViewCategorie.Nodes.Add(NewNode1)
End Select
la il y a un truc pas normal, tu instancie un nouvel objet treeview puis aprés tu dis que ce treeview est egal a un autre treeview donc le new est inutile (a moins que tu es envie de bouffer des perf pour rien ;))
Ensuite je pense que le problème vient du fait que le treeview n'existe encore pas, d'ailleurs pourquoi le tag treeview n'est pas fermé ?
vu que tu es dans un detailsview ca va etre je pense comme pour un datagrid etc... ton treeview existera aprés le binding de ton objet, donc tu dois surement avoir un evenement bind ou init ou autre sur le detailsview ensuite tu pourras te servir de ton treeview
Si ca marche toujours pas, ce que tu peux faire c'est à la place de ton treeview mettre un placeholder, et construire le treeview entierement coté serveur (avec new etc...) puis une fois finis tu recherche le placeholder et tu rajoutes ton treeview dans sa collection de controls.
primactif
Messages postés119Date d'inscriptionvendredi 27 décembre 2002StatutMembreDernière intervention 3 octobre 20161 18 août 2005 à 14:25
Salut
la il y a un truc pas normal, tu instancie un nouvel objet treeview puis aprés tu dis que ce treeview est egal a un autre treeview donc le new est inutile (a moins que tu es envie de bouffer des perf pour rien ;))
effectivement en créer un new ne sert à rien
Ensuite je pense que le problème vient du fait que le treeview n'existe encore pas, d'ailleurs pourquoi le tag treeview n'est pas fermé ?
La on touche le vrais problème j'ai essayé avec
OnLoad ="LoadTreeViewCategorie">
code behind
le TreeView est imbriqué dans un DetailView et je ne vois pas comment faire, j'ai essayé sans conviction
Sub LoadTreeViewCategorie(ByVal e As System.Web.UI.WebControls.TreeView)
ça ne marche pas
vu que tu es dans un detailsview ca va etre je pense comme pour un datagrid etc... ton treeview existera aprés le binding de ton objet, donc tu dois surement avoir un evenement bind ou init ou autre sur le detailsview ensuite tu pourras te servir de ton treeview
Ben le soucis c'est qu'au niveau event du detailview j'ai essayé
Protected Sub DetailsView1_DataBinding(ByVal sender As Object, ByVal e As System.EventArgs) Handles DetailsView1.DataBinding
ça ne marche pas le treeview n'existe toujours pas
Si ca marche toujours pas, ce que tu peux faire c'est à la place de ton treeview mettre un placeholder, et construire le treeview entierement coté serveur (avec new etc...) puis une fois finis tu recherche le placeholder et tu rajoutes ton treeview dans sa collection de controls.
Ouais c'est une solution mais l'accès au controles dynamiques est encore plus complexe (enfin pour moi)