The official release of Ext.NET Mobile is now available. Ext.NET Mobile is an ASP.NET component framework for building Phone and Tablet specific mobile web applications. Read More

TreePanel and child

  1. #1

    TreePanel and child

    hi,
    i've a database with some fields (key, father, title, ecc...). i need to put them in a treepanel searching foreach parentnode child.
                [...]
                myRows = dt.Select();
    
                for (int p = 0; p < myRows.Length; p++)
                {
                    Ext.Net.TreeNode parentNode; 
                    if (myRows[p]["FATHER"].ToString() == "")
                    {
                        // Create Parent Node if field "FATHER" is null
                        parentNode = new Ext.Net.TreeNode();
                        parentNode.Text = myRows[p]["TITLE"].ToString();
                        parentNode.Icon = Ext.Net.Icon.Application;
                        parentNode.NodeID = myRows[p]["KEY"].ToString();
                        root.Nodes.Add(parentNode);
                    }
                    else
                    {
    
                        foreach (Ext.Net.TreeNode nodo in root.Nodes.) // create childnodeID
                        {
                            if (nodo.NodeID == myRows[p]["FATHER"].ToString())
                            {
                                //Ext.Net.TreeNode nodo = root.Nodes[0];
                                Ext.Net.TreeNode childNode = new Ext.Net.TreeNode();
                                childNode.Text = myRows[p]["TITLE"].ToString();
                                childNode.NodeID = myRows[p]["KEY"].ToString();
                                nodo.Nodes.Add(childNode);
    
                            }
                        }
    This code works, but i need to populate tree in each level of child, with a recursive method, or something like that.
    I hope that I was well expressed, and sorry for my bad english ^^
  2. #2
    Daniil Veriga
    Developer & Support Expert
  3. #3
    Hi,

    I tried to use PageTreeLoader, but i see only root, i'm not able to see children with my code...
  4. #4
    I'm afraid I don't understand the problem. Please clarify.
    Daniil Veriga
    Developer & Support Expert
  5. #5
    I want to see a trepanel with each sublevel, but with my first code i see only first and second level. Can I post some screen?
  6. #6
    I don't think a screen-shot helps in that case.

    Please provide a simple example to reproduce the problem.
    Daniil Veriga
    Developer & Support Expert
  7. #7
    Ok,

    Page .aspx.cs

    using System;
    using System.Data;
    using System.Configuration;
    using System.Collections;
    using System.Windows.Forms;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;
    using System.Data.OleDb;
    using System.ComponentModel;
    using System.Drawing;
    using System.Collections.Generic;
    using System.Text;
    using Ext.Net;
    using GoalManager.UserCs;
    using GoalManager.Common;
    
    public partial class gm_usercs_Main : System.Web.UI.Page
    {
        DataSet dprogetti, dpubbliche, dgestionali;
        protected void Page_Load(object sender, EventArgs e)
        {
    
            ActionPlanList apList = new ActionPlanList();
    
            dprogetti = (DataSet)apList.list(-10);
            dpubbliche = (DataSet)apList.list(-11);
            dgestionali = (DataSet)apList.list(-16);
    
            DataTable TableProgetti = dprogetti.Tables[dprogetti.Tables[0].TableName];
            DataTable TablePubbliche = dpubbliche.Tables[dpubbliche.Tables[0].TableName];
            DataTable TableGestionali = dgestionali.Tables[dgestionali.Tables[0].TableName];
    
            Ext.Net.TreePanel tree = new Ext.Net.TreePanel();
    
            tree.Icon = Ext.Net.Icon.Application;
            tree.RootVisible = false;
    
            Ext.Net.TreeNode root = new Ext.Net.TreeNode();
            tree.Root.Add(root);
    
            foreach (DataRow RowPubbliche in TableProgetti.Rows)
            {
                int key = Convert.ToInt32(RowPubbliche["KEY"]);
    
                ActionPlanList apList1 = new ActionPlanList();
                DataSet ds;
    
                ds = (DataSet)apList1.listTree(key);
                DataTable dt = ds.Tables[ds.Tables[0].TableName];
    
                DataRow[] myRows;
                myRows = dt.Select();
    
                for (int p = 0; p < myRows.Length; p++)
                {
                    Ext.Net.TreeNode parentNode;
                    if (myRows[p]["FATHER"].ToString() == "")
                    {
                        // Create Parent Node
                        parentNode = new Ext.Net.TreeNode();
                        parentNode.Text = myRows[p]["TITLE"].ToString();
                        parentNode.Icon = Ext.Net.Icon.Application;
                        parentNode.NodeID = myRows[p]["KEY"].ToString();
                        root.Nodes.Add(parentNode);
                    }
                    else
                    {
                        
                        foreach (Ext.Net.TreeNode nodo in root.Nodes)
                        {
                            if (nodo.NodeID == myRows[p]["FATHER"].ToString())
                            {
                                //Ext.Net.TreeNode nodo = root.Nodes[0];
                                Ext.Net.TreeNode childNode = new Ext.Net.TreeNode();
                                childNode.Text = myRows[p]["TITLE"].ToString();
                                childNode.NodeID = myRows[p]["KEY"].ToString();
                                nodo.Nodes.Add(childNode);
    
                            }
                        }
                }
    
            }
    
                Ext.Net.Panel panel1 = new Ext.Net.Panel("Settings");
                Ext.Net.Panel panel2 = new Ext.Net.Panel("Even More Stuff");
                Ext.Net.Panel panel3 = new Ext.Net.Panel("My Stuff");
    
                Ext.Net.Toolbar toolbar = new Ext.Net.Toolbar();
    
                Ext.Net.Window window = new Ext.Net.Window();
    
                window.Title = "Accordion Window";
                window.Width = Unit.Pixel(250);
                window.Height = Unit.Pixel(400);
                window.Maximizable = true;
                window.BodyBorder = false;
                window.Layout = "Accordion";
    
                window.TopBar.Add(toolbar);
    
                window.Items.Add(tree);
                window.Items.Add(panel1);
                window.Items.Add(panel2);
                window.Items.Add(panel3);
    
                this.PlaceHolder3.Controls.Add(window);
    
    
            
        }
    }
    Page .aspx

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Main.aspx.cs" Inherits="gm_usercs_Main" Title="Untitled Page" %>
    
    <%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
    
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head>    
    <title>Ciao</title>
    </head>
    <body>
    <form id="form1" runat="server">
    
    
            
        <ext:ResourceManager ID="ResourceManager3" runat="server">
        </ext:ResourceManager>
    
            <asp:PlaceHolder ID="PlaceHolder3" runat="server" />  
          
            
        </form>
    </body>
    
    </html>
    Screen: http://i.imgur.com/UtUrd.png

    but it should be like this: http://i.imgur.com/pKlEv.png

    So my code doesnt show sublevel... I hope to be clear... thanks for your patience ^^
  8. #8
    If a node looks a leaf node, it means there is no children. Please ensure you add children to respective nodes.
    Daniil Veriga
    Developer & Support Expert

Similar Threads

  1. Replies: 5
    Last Post: Jul 24, 2012, 8:53 AM
  2. Replies: 4
    Last Post: May 30, 2012, 12:23 PM
  3. New tab from child tab
    By ven in forum 1.x Help
    Replies: 1
    Last Post: Dec 20, 2011, 2:03 AM
  4. Replies: 5
    Last Post: Mar 23, 2011, 9:57 AM
  5. Treepanel - get child values of selected parent
    By Tbaseflug in forum 1.x Help
    Replies: 2
    Last Post: Nov 10, 2009, 11:28 AM

Posting Permissions

Subscribe now to get the latest Ext.NET happenings in our newsletter.