zoukankan      html  css  js  c++  java
  • TreePanel 操作之二:刷新TreePanel

         TreePanel的刷新,以下做为一个例子:

         当点击查询按钮时,TreePanel将重新刷新一次。

         前台代码:

    代码
    <ext:Button ID="ButtonQuery" runat="server" Text="Search" meta:resourcekey="ButtonQueryResource"
    StyleSpec
    ="padding-left:105px;">
    <Listeners>
    <Click Handler="Search(#{ClientJobTree});" />
    </Listeners>
    </ext:Button>

      脚本代码:

     

    代码
    function Search(tree) {
    Coolite.AjaxMethods.Query({
    success: function(result) {
    var nodes
    = eval(result);
    tree.root.ui.remove();
    tree.initChildren(nodes);
    tree.root.render();
    tree.el.unmask();
    },
    failure: function(msg) {
    tree.el.unmask();
    Ext.Msg.alert(
    'Failure', '未能加载数据');
    }
    });
    }

    后台代码:

      /// <summary>
            /// 绑定树
            /// </summary>
            public Coolite.Ext.Web.TreeNodeCollection TreeBind()
            {
                Coolite.Ext.Web.TreeNodeCollection nodes = new Coolite.Ext.Web.TreeNodeCollection();
                string projectID = Request.QueryString["ProjectID"].ToString();
                string name = TextFieldName.Text.ToString();
                string clientGroup = ComboBoxClientGroup.SelectedItem.Text.ToString();
                string services = ComboBoxClientService.SelectedItem.Text.ToString();
                Coolite.Ext.Web.TreeNode root = new Coolite.Ext.Web.TreeNode();
                //通过ProjectID找到Name
                PROJ_ProjectBase projectBase = this.logic.GetProjectBaseByProjectID(projectID);
                root.Text = projectBase.project_name;
                ClientJobTree.Root.Add(root);
                List<PROJ_ClientJob> rootList = this.logic.GetClientJob(projectID, name, services, clientGroup);
                foreach (PROJ_ClientJob item in rootList)
                {
                    string clientID = item.clientJob_id;
                    string clientName = item.job_name;
                    Coolite.Ext.Web.TreeNode supernode = new Coolite.Ext.Web.TreeNode();
                    supernode.NodeID = clientID;
                    supernode.Text = clientName;
                    supernode.Icon = Icon.Folder;
                    supernode.Expanded = true;
                    root.Nodes.Add(supernode);
                    this.NodeBind(clientID, supernode);
                }
    
                return ClientJobTree.Root;
            }
    
            /// <summary>
            /// 树节点的绑定
            /// </summary>
            /// <param name="parentNodeID">父节点号</param>
            /// <param name="parentcode">父节点</param>
            public void NodeBind(string parentNodeID, Coolite.Ext.Web.TreeNode parentcode)
            {
                string projectID = Request.QueryString["ProjectID"].ToString();
                List<PROJ_WBS> wbsList = this.logic.GetProjectWbsByClientJobID(parentNodeID, projectID);
                foreach (PROJ_WBS item in wbsList)
                {
                    Coolite.Ext.Web.TreeNode node = new Coolite.Ext.Web.TreeNode();
                    string wbsID = item.wbs_id;
                    node.NodeID = item.wbs_id;
                    node.Text = item.wbs_name;
                    node.Icon = Icon.Folder;
                    //node.Expanded = false;
                    parentcode.Nodes.Add(node);
                    this.NodeBind(wbsID, node);
                }
            }
    
    
            /// <summary>
            /// 查询事件
            /// </summary>
            [AjaxMethod]
            public string Query()
            {
                Coolite.Ext.Web.TreeNodeCollection nodes = this.TreeBind();
                return nodes.ToJson();
            }
    
  • 相关阅读:
    输出流OutputStream简单理解
    IO流实现写入规定的acci码值
    事务的ACID属性&&五种状态
    java基础总结之Hashtable
    HBase
    oracle交换分区
    ArrayList 和 LinkedList 的区别(底层数据结构): 什么时候使用arrayList,什么时候使用LinkedList (一个小时)
    Mac中MariaDB数据库的安装步骤
    Mac OS X中MacPorts安装和使用(linux 的 yum)
    SFTP秘钥认证
  • 原文地址:https://www.cnblogs.com/mystar/p/1788585.html
Copyright © 2011-2022 走看看