duplicate nodes

2 posts, 0 answers
  1. rayala25
    rayala25 avatar
    4 posts
    Member since:
    Jul 2007

    Posted 02 Feb 2009 Link to this post

    Hello,  I'm following sample of treeview LoadOnDemand,  i want to fill a tree with categories-subcategories data, but when i expand a categories node, it fills subcategories but it duplicates them. 

    Using   ASP.NET AJAX Q2 2008 , WXP,  VS2008, VB  the code is a follows...

    UPDATE:  Debugging the project ,  i know  "RadTreeView1_NodeExpand"  is fired twice , why is this happening?  or what can i do to fire this event just one time?




        Sub FillTree()  
            Dim connection As New SqlConnection(System.Configuration.ConfigurationManager.AppSettings("ConStr2"))  
            Dim selectCommand As New SqlCommand("SELECT * FROM Categorias WHERE Codigo > 0", connection)  
            Dim adapter As New SqlDataAdapter(selectCommand)  
            Dim data As New DataTable()  
            adapter.Fill(data)  
            For Each row As DataRow In data.Rows  
                Dim node As New RadTreeNode()  
                node.Text = row("Descripcion")  
                node.Value = row("Codigo")  
                node.ExpandMode = TreeNodeExpandMode.ServerSideCallBack  
                RadTreeView1.Nodes.Add(node)  
            Next  
        End Sub  
     
        Sub RadTreeView1_NodeExpand(ByVal sender As Object, ByVal e As RadTreeNodeEventArgs) Handles RadTreeView1.NodeExpand  
            Dim connection As New SqlConnection(System.Configuration.ConfigurationManager.AppSettings("ConStr2"))  
            Dim selectCommand As New SqlCommand("SELECT Children.Codigo as NodeId, Children.Descripcion AS NodeText, COUNT(Children.Codigo) AS ChildCount FROM Categorias LEFT JOIN Familias As Children ON Categorias.Codigo = Children.Categoria WHERE Children.Categoria = @parentId GROUP BY Children.Codigo, Children.Descripcion", connection)  
            selectCommand.Parameters.AddWithValue("parentId", e.Node.Value)  
            Dim adapter As New SqlDataAdapter(selectCommand)  
            Dim data As New DataTable()  
            adapter.Fill(data)  
            For Each row As DataRow In data.Rows  
                Dim node As New RadTreeNode()  
                node.Text = row("NodeText")  
                node.Value = row("NodeId")  
                If CInt(row("ChildCount")) > 0 Then  
                    node.ExpandMode = TreeNodeExpandMode.ServerSideCallBack  
                End If  
                e.Node.Nodes.Add(node)  
            Next  
            e.Node.Expanded = True 
        End Sub  
     

    Thanks for any help. 

  2. rayala25
    rayala25 avatar
    4 posts
    Member since:
    Jul 2007

    Posted 05 Feb 2009 Link to this post

    Please any help!
Back to Top