Mix and match TreeNode and AsyncTreeNode?

  1. #1

    Mix and match TreeNode and AsyncTreeNode?

    There is a legitimate need for this sometimes. Take for example the following tree structure:

    Root
    Parent1
    Child1
    ....
    Parent2
    Parent3


    For Root and for ParentX,, these will be statically loaded (TreeNode). But, ChildX nodes, I want these to be dynamically loaded (AsyncTreeNode) when ParentX is expanded, since there can be a lot of ChildX nodes.

    I have tried to do this, but doesn't seem to work. Can this be done? If so, an example would be appreciated.
  2. #2

    RE: Mix and match TreeNode and AsyncTreeNode?

    Hi,

    <%@ Page Language="C#" %>
    <%@ Register Assembly="Coolite.Ext.Web" Namespace="Coolite.Ext.Web" 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 id="Head1" runat="server">
        <title></title>
        <script runat="server">
            protected void NodeLoad(object sender, NodeLoadEventArgs e)
            {
                if (!string.IsNullOrEmpty(e.NodeID))
                {
                    for (int i = 1; i < 6; i++)
                    {
                        AsyncTreeNode asyncNode = new AsyncTreeNode();
                        asyncNode.Text = e.NodeID + i;
                        asyncNode.NodeID = e.NodeID + i;
                        e.Nodes.Add(asyncNode);
                    }
    
                    for (int i = 6; i < 11; i++)
                    {
                        Coolite.Ext.Web.TreeNode treeNode = new Coolite.Ext.Web.TreeNode();
                        treeNode.Text = e.NodeID + i;
                        treeNode.NodeID = e.NodeID + i;
                        treeNode.Leaf = true;
                        e.Nodes.Add(treeNode);
                    }
                }
            }
        </script>
    </head>
    <body>
        <form id="form1" runat="server">
            <ext:ScriptManager ID="ScriptManager1" runat="server" />
            
            <ext:TreePanel 
                ID="TreePanel1" 
                runat="server" 
                Title="Tree" 
                AutoHeight="true" 
                Border="false">
                <Loader>
                    <ext:PageTreeLoader OnNodeLoad="NodeLoad">
                    </ext:PageTreeLoader>
                </Loader>
                <Root>
                    <ext:TreeNode NodeID="0" Text="Root">
                        <Nodes>
                            <ext:AsyncTreeNode Text="Parent1" NodeID="1"></ext:AsyncTreeNode>
                            <ext:AsyncTreeNode Text="Parent2" NodeID="2"></ext:AsyncTreeNode>
                            <ext:AsyncTreeNode Text="Parent3" NodeID="3"></ext:AsyncTreeNode>
                            <ext:AsyncTreeNode Text="Parent4" NodeID="4"></ext:AsyncTreeNode>
                        </Nodes>
                    </ext:TreeNode>
                </Root>
            </ext:TreePanel>       
        </form>
    </body>
    </html>

Similar Threads

  1. Replies: 1
    Last Post: Jul 01, 2014, 1:45 PM
  2. [CLOSED] ComboBox value resets after typeAhead does not return a match
    By joeRobee in forum 1.x Legacy Premium Help
    Replies: 7
    Last Post: Jan 06, 2011, 2:54 PM
  3. [CLOSED] AsyncTreeNode versus TreeNode in a TreePanel
    By ewgoforth in forum 1.x Legacy Premium Help
    Replies: 3
    Last Post: Dec 07, 2010, 3:34 PM
  4. [CLOSED] TreeNode and AsyncTreeNode don't have DirectEvents
    By pil0t in forum 1.x Legacy Premium Help
    Replies: 1
    Last Post: Jun 02, 2010, 5:03 PM
  5. Replies: 0
    Last Post: Dec 10, 2009, 11:14 AM

Posting Permissions