IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

bind treeview apres selectvalue du dropdown


Sujet :

ASP.NET

  1. #1
    Nouveau membre du Club
    Inscrit en
    Octobre 2008
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 44
    Points : 29
    Points
    29
    Par défaut bind treeview apres selectvalue du dropdown
    Salut tout le monde.
    j'ai un petit soucis avec "treeview". tout d'abord je suis un super nul en dotnet.
    alors mon problème est :
    je doit remplir une "treeview" à partir d'une requete, j'ai chercher un peu sur le site msdn et j'ai trouvé un bon code qui fait le truck.
    volià le code vb:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Protected Sub TreeView1_TreeNodePopulate(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.TreeNodeEventArgs) Handles TreeView1.TreeNodePopulate
     
            If e.Node.ChildNodes.Count = 0 Then
                Select Case e.Node.Depth
                    Case 0
                        PopulateCategories(e.Node)
                    Case 1
                        PopulateProducts(e.Node)
                End Select
            End If
     
     
        End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    Sub PopulateCategories(ByVal node As TreeNode)
            Dim sqlQuery As New SqlCommand( _
                "Select id_franchis, lib_franchise From param_franchis where id_ville=" & DropDownville.SelectedValue)
     
            Dim ResultSet As DataSet
            ResultSet = RunQuery(sqlQuery)
            If ResultSet.Tables.Count > 0 Then
                Dim row As DataRow
                For Each row In ResultSet.Tables(0).Rows
                    Dim NewNode As TreeNode = New  _
                        TreeNode(row("lib_franchise").ToString(), _
                        row("id_franchis").ToString())
                    NewNode.PopulateOnDemand = True
                    NewNode.SelectAction = TreeNodeSelectAction.Expand
                    node.ChildNodes.Add(NewNode)
                Next
            End If
        End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    Sub PopulateProducts(ByVal node As TreeNode)
            Dim sqlQuery As New SqlCommand
            sqlQuery.CommandText = "Select libelle From totem " & _
                " Where id_franchis = @categoryid"
            sqlQuery.Parameters.Add("@categoryid", SqlDbType.Int).Value = _
            node.Value
            Dim ResultSet As DataSet = RunQuery(sqlQuery)
            If ResultSet.Tables.Count > 0 Then
                Dim row As DataRow
                For Each row In ResultSet.Tables(0).Rows
                    Dim NewNode As TreeNode = New  _
                        TreeNode(row("libelle").ToString())
                    NewNode.PopulateOnDemand = False
                    NewNode.SelectAction = TreeNodeSelectAction.None
                    node.ChildNodes.Add(NewNode)
                Next
            End If
        End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    Function RunQuery(ByVal sqlQuery As SqlCommand) As DataSet
            Dim connectionString As String
            connectionString = _
                ConfigurationManager.ConnectionStrings _
                ("totem").ConnectionString
            Dim dbConnection As New SqlConnection
            dbConnection.ConnectionString = connectionString
            Dim dbAdapter As New SqlDataAdapter
            dbAdapter.SelectCommand = sqlQuery
            sqlQuery.Connection = dbConnection
            Dim resultsDataSet As DataSet = New DataSet
            Try
                dbAdapter.Fill(resultsDataSet)
            Catch ex As Exception
                Label1.Text = "Unable to connect to SQL Server."
            End Try
            Return resultsDataSet
        End Function
    comme vous allez le remarqué j'ai ajouté un "dropdown" pour que j'ajoute une condition dans la requête du 2eme code.
    j'ai met le "treeview" dans une "updatpanel" (condition sur selectedchangevalue du "dropdown")
    ça marche pas.
    qu'il qu'un à une petit aidé

  2. #2
    Membre à l'essai
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2008
    Messages : 14
    Points : 16
    Points
    16
    Par défaut
    Tu peux afficher le code aspx du dropdownlist et du treeview ???

    Le param AutoPostBack de la ddl est à true ou false?

  3. #3
    Nouveau membre du Club
    Inscrit en
    Octobre 2008
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 44
    Points : 29
    Points
    29
    Par défaut
    voila le code aspx du dropdown et treeview :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <asp:DropDownList ID="DropDownville" runat="server" 
                DataSourceID="SqlDataSource2" DataTextField="ville" 
                DataValueField="id_ville" AutoPostBack="True">
            </asp:DropDownList></td></tr>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <asp:TreeView ID="TreeView1" runat="server" MaxDataBindDepth="10" EnableClientScript="true"
            PopulateNodesFromClient="true" ShowLines="True"  
     
    >
                <Nodes>
                    <asp:TreeNode PopulateOnDemand="True" SelectAction="Expand" Selected="True">
                    </asp:TreeNode>
                </Nodes>
            </asp:TreeView>
    le problème est que j arrive pas accéder a partir du "page load" ou "bouton_click" à un événement du "treeview" pour le recharger

Discussions similaires

  1. nhibernate binding treeview
    Par alacaraibe dans le forum NHibernate
    Réponses: 1
    Dernier message: 24/06/2009, 15h11
  2. Binding TreeView hiérarchique
    Par thelpi dans le forum Windows Presentation Foundation
    Réponses: 5
    Dernier message: 18/12/2008, 12h01
  3. Réponses: 2
    Dernier message: 18/04/2008, 15h26
  4. [Xaml] Binding Treeview optimisé
    Par Jérem22 dans le forum C#
    Réponses: 5
    Dernier message: 21/09/2007, 10h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo