[CLOSED] auto expand tree ?

Page 1 of 3 123 LastLast
  1. #1

    [CLOSED] auto expand tree ?

    I create a tree which data comes from remote ajax ashx server code.
    how to expand all tree node when page is load, I try to call tree's expandAll() , but not works. may be data is not completely loaded before the expandAll execute.
    how to resove it?
    Last edited by Daniil; May 17, 2013 at 5:31 AM. Reason: [CLOSED]
  2. #2
    Geoffrey McGill
    Founder
  3. #3
    aspx code
    <ext:TreePanel ID="TreePanel1"  runat="server" Region="West" RootVisible="false" Title="导航" Width="200" Collapsible="True" Split="True">
                         <Listeners>
                             <BeforeRender Handler="Ext.net.Mask.show()">
                                 
                             </BeforeRender>
                             <AfterRender Handler="Ext.net.Mask.hide()"></AfterRender>
                         </Listeners>
                        <TopBar>
                            <ext:Toolbar runat="server">
                                <Items>
                                    <ext:Button runat="server" Text="展开">
                                        <Listeners>
                                            <Click Handler="#{TreePanel1}.expandAll();"></Click>
                                        </Listeners>
                                    </ext:Button>
                                    <ext:Button ID="Button1" runat="server" Text="收缩">
                                        <Listeners>
                                            <Click Handler="#{TreePanel1}.collapseAll();"></Click>
                                        </Listeners>
                                    </ext:Button>
                                </Items>
                            </ext:Toolbar>
                        </TopBar>
                        <Store>
                            <ext:TreeStore runat="server"  >
                                 
                                <Proxy>
                                    <ext:AjaxProxy Url="handlers/Handler_menu.ashx">
                                          
                                    </ext:AjaxProxy>
                                </Proxy>
                                <Model>
                                    <ext:Model runat="server">
                                        <Fields>
                                            <ext:ModelField Name="id"></ext:ModelField>
                                            <ext:ModelField Name="text"></ext:ModelField>
                                            <ext:ModelField Name="url"></ext:ModelField>
                                        </Fields>
                                    </ext:Model>
                                </Model>
                                 
                            </ext:TreeStore>
                        </Store>
                        <Listeners>
                            <ItemClick Handler="addTab(#{TabPanel1},record.data.id, record.data.url, record.data.text);"></ItemClick>
                           
                        </Listeners>
                    </ext:TreePanel>
    ashx code

       public class Handler_menu : IHttpHandler
        {
            MenuService menusrv = new MenuService();
            public void ProcessRequest(HttpContext context)
            {
                context.Response.ContentType = "text/json";
                string json = buildjson(0, null);
                string str = "[" + json.Substring(0, json.Length - 1) + "]";
                 
                context.Response.Write(str);
                context.Response.End();
            }
            public string buildjson(int pid, StringBuilder sb)
            {
                List<menu> ll = menusrv.getMenuList(pid);
                int n = ll.Count;
                int i = 0;
                foreach (var item in ll)
                {
    
                    menu sm = item;
                    if (sb == null)
                    {
                        sb = new StringBuilder();
                    }
                    sb.Append("{");
                    sb.Append("'id':'" + sm.id + "',");
                    sb.Append("'text':'" + sm.name + "',");
                    sb.Append("'url':'" + sm.url + "'");
                    if (!menusrv.isLeaf(sm.id))
                    {
                        sb.Append(",");
                        sb.Append("children:[");
                        buildjson(sm.id, sb);
                        sb.Append("]");
                        sb.Append("},");
    
                    }
                    else
                    {
                        i = i + 1;
                        sb.Append(",'leaf':true");
                        if (i != n)
                        {
                            sb.Append("},");
                        }
                        else
                        {
                            sb.Append("}");
                        }
                    }
                }
    
                return sb.ToString();
            }
    
            public bool IsReusable
            {
                get
                {
                    return false;
                }
            }
        }
    thanks
  4. #4
    can I ask another question?
    <ext:TreePanel ID="TreePanel1"  runat="server" Region="West" RootVisible="false" Title="导航" Width="200" Collapsible="True" Split="True">
                         <Listeners>
                             <BeforeRender Handler="Ext.net.Mask.show()">
                                  
                             </BeforeRender>
                             <AfterRender Handler="Ext.net.Mask.hide()"></AfterRender>
                         </Listeners>
    how to set mask show only on the treepanel?
    thanks.
  5. #5
    Hi,

    Re: expandAll

    I would suggest to set up
    expanded: true
    for each node which should be expanded. So, if you need to expand all the nodes, please set up expanded to true for all non-leaf nodes.

    If a node is a leaf, set up
    leaf: true
    Re: mask

    Please set up the following for the TreePanel.
    <View>
        <ext:TreeView runat="server" LoadMask="true" />
    </View>
  6. #6
    Quote Originally Posted by Daniil View Post
    Hi,

    Re: mask

    Please set up the following for the TreePanel.
    <View>
        <ext:TreeView runat="server" LoadMask="true" />
    </View>
    it dose not work,below is my code
        <ext:TreePanel Icon="Application" Split="true" Collapsible="true" ID="treemenu" runat="server" Region="West" Title="导航" Width="175" RootVisible="false">
                            <TopBar>
                                <ext:Toolbar runat="server">
                                    <Items>
                                        <ext:Button runat="server" ID="btnexpand" Text="展开">
                                            <Listeners>
                                                <Click Handler="#{treemenu}.expandAll();" />
                                            </Listeners>
                                        </ext:Button>
                                        <ext:Button ID="Button1" runat="server" Text="收缩">
                                            <Listeners>
                                                <Click Handler="#{treemenu}.collapseAll();" />
                                            </Listeners>
                                        </ext:Button>
                                    </Items>
                                </ext:Toolbar>
                            </TopBar>
    
                            <Store>
                                <ext:TreeStore runat="server">
                                    <Model>
                                        <ext:Model runat="server">
                                            <Fields>
                                                <ext:ModelField Name="url"></ext:ModelField>
                                            </Fields>
                                        </ext:Model>
                                    </Model>
                                    <Proxy>
                                        <ext:AjaxProxy Url="loadjsondata/def.ashx"></ext:AjaxProxy>
                                    </Proxy>
                                </ext:TreeStore>
                            </Store>
                            <View>
                                <ext:TreeView ID="TreeView1" runat="server" LoadMask="true" />
                            </View>
                            
    </ext:TreePanel>
  7. #7
    It shows a mask for me when loading nodes. Does it not show a mask for you?
  8. #8
    Quote Originally Posted by Daniil View Post
    It shows a mask for me when loading nodes. Does it not show a mask for you?
    no mask show.below is my whole page code
    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="default.aspx.cs" Inherits="TobrosCWT._default" %>
    
    <!DOCTYPE html>
    
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>xxxx</title>
        <link href="images/style.css" rel="stylesheet" />
        <ext:XScript ID="XScript1" runat="server">
            <script type="text/javascript">
                var addTab = function (tabPanel, id, text, url) {
                    var tab = tabPanel.getComponent(id);
    
                    if (!tab) {
                        tab = tabPanel.add({
                            id: id,
                            title: text,
                            closable: true,
                            loader: {
                                url: url,
                                renderer: "frame",
                                loadMask: {
                                    showMask: true,
                                    msg: "正在打开 " + text + "..."
                                }
                            }
                        });
    
    
                    }
    
                    tabPanel.setActiveTab(tab);
                }
            </script>
        </ext:XScript>
    
    </head>
    <body>
        <form id="form1" runat="server">
            <div>
                <ext:ResourceManager ID="ResourceManager1" runat="server">
                </ext:ResourceManager>
                <ext:Viewport ID="Viewport1" runat="server" Layout="border">
                    <Items>
                        <ext:Panel runat="server" Collapsible="True" Region="North" Header="false">
                            <Content>
                                <div class="header">
                                    <div class="logo"></div>
                                </div>
                            </Content>
                        </ext:Panel>
    
                        <ext:Panel runat="server" Collapsible="true" Height="30" Region="South" Header="false" Title="South">
                            <Content>
                                <div class="foot">
                                    xxxx
                                </div>
                            </Content>
                        </ext:Panel>
                        <ext:TreePanel Icon="Application" Split="true" Collapsible="true" ID="treemenu" runat="server" Region="West" Title="导航" Width="175" RootVisible="false">
                            <TopBar>
                                <ext:Toolbar runat="server">
                                    <Items>
                                        <ext:Button runat="server" ID="btnexpand" Text="展开">
                                            <Listeners>
                                                <Click Handler="#{treemenu}.expandAll();" />
                                            </Listeners>
                                        </ext:Button>
                                        <ext:Button ID="Button1" runat="server" Text="收缩">
                                            <Listeners>
                                                <Click Handler="#{treemenu}.collapseAll();" />
                                            </Listeners>
                                        </ext:Button>
                                    </Items>
                                </ext:Toolbar>
                            </TopBar>
    
                            <Store>
                                <ext:TreeStore runat="server">
                                    <Model>
                                        <ext:Model runat="server">
                                            <Fields>
                                                <ext:ModelField Name="url"></ext:ModelField>
                                            </Fields>
                                        </ext:Model>
                                    </Model>
                                    <Proxy>
                                        <ext:AjaxProxy Url="loadjsondata/def.ashx"></ext:AjaxProxy>
                                    </Proxy>
                                </ext:TreeStore>
                            </Store>
                            <View>
                                <ext:TreeView ID="TreeView1" runat="server" LoadMask="true" />
                            </View>
                            
                        </ext:TreePanel>
                        <ext:TabPanel ID="tabpanel1" runat="server" Region="Center" ActiveTabIndex="0" Border="false">
                            <Items>
                                <ext:Panel runat="server" Closable="true" Title="首页">
                                    <Items>
                                        <ext:Label runat="server" Text="欢迎使用xxxx系统"></ext:Label>
                                    </Items>
                                </ext:Panel>
    
                            </Items>
                        </ext:TabPanel>
                    </Items>
                </ext:Viewport>
    
            </div>
        </form>
    </body>
    </html>
  9. #9
    I see a mask covers the TreePanel when I run the test case.

    Maybe, I misunderstand where you expect the mask to be appeared and at which moment.

    A screenshot or/and a screen cast could clarify something.
  10. #10
    Quote Originally Posted by Daniil View Post
    I see a mask covers the TreePanel when I run the test case.

    Maybe, I misunderstand where you expect the mask to be appeared and at which moment.

    A screenshot or/and a screen cast could clarify something.
    please see the attachment.
    Click image for larger version. 

Name:	2.png 
Views:	20 
Size:	8.7 KB 
ID:	6210Click image for larger version. 

Name:	1.png 
Views:	17 
Size:	44.9 KB 
ID:	6211
Page 1 of 3 123 LastLast

Similar Threads

  1. Replies: 1
    Last Post: Apr 02, 2013, 5:50 AM
  2. [CLOSED] How to wrap text in auto expand column in gridpanel?
    By rnachman in forum 1.x Legacy Premium Help
    Replies: 3
    Last Post: Apr 12, 2012, 4:15 PM
  3. Help Needed with auto expand column
    By pooja in forum 1.x Help
    Replies: 2
    Last Post: Nov 25, 2010, 8:26 AM
  4. [CLOSED] [0.8.2] Expand a tree in a user control.
    By FVNoel in forum 1.x Legacy Premium Help
    Replies: 7
    Last Post: Oct 27, 2010, 8:44 AM
  5. Tree "Expand All" and "Collapse All" icons
    By daneel in forum 1.x Help
    Replies: 1
    Last Post: Mar 18, 2010, 1:11 PM

Posting Permissions