zTree控件的使用

最常用的使用方式是json格式

.net递归实现对象生成json格式字符串

代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Newtonsoft.Json;
using SubSonic;
using System.Data;
using System.Text;

namespace WebApplication1
{
    public partial class Test2 : System.Web.UI.Page
    {
       
        protected void Page_Load(object sender, EventArgs e)
        {

            if (!IsPostBack)
            {
                ss();
            }
        }
        protected string JsonString { set; get; }


        /* [
       {name:"test1", open:true, children:[
          {name:"test1_1"}, {name:"test1_2"}]},
       {name:"test2", open:true, children:[
          {name:"test2_1"}, {name:"test2_2"}]}
       ];
         * */
        List<MyTree> list = new List<MyTree>();

        public void ss()
        {

            string sql = "  SELECT * FROM Test1.DBO.ceshi where Fidh='ROOT' ";
            DataTable dt1 = new DataTable();
            QueryCommand qc = new InlineQuery("Test1").GetCommand(sql);
            dt1 = DataService.GetDataSet(qc).Tables[0];

            for (int i = 0; i < dt1.Rows.Count; i++)
            {
                MyTree rootTree = new MyTree();
                rootTree.name = dt1.Rows[i]["Name"].ToString();
                aa(dt1.Rows[i]["Id"].ToString(),rootTree);
                list.Add(rootTree);
            }
            string s = JsonConvert.SerializeObject(list);
            JsonString = s;

        }

        public void aa(string id,MyTree rootTree)
        {  
        
            string sql1 = "  SELECT * FROM Test1.DBO.ceshi where Fidh='" + id + "' ";
            DataTable dt = new DataTable();
            QueryCommand qc1 = new InlineQuery("Test1").GetCommand(sql1);
            dt = DataService.GetDataSet(qc1).Tables[0];
            if (dt.Rows.Count > 0)
            {
                rootTree.children = new List<MyTree>();
                for (int j = 0; j < dt.Rows.Count; j++)
                {
                    MyTree childTree = new MyTree();
                    childTree.name = dt.Rows[j]["Name"].ToString();
                    aa(dt.Rows[j]["Id"].ToString(), childTree);
                    rootTree.children.Add(childTree);

                }
            }

            
                
        }

    }

    public class MyTree
    {
        public string name { get; set; }
        
        public List<MyTree> children { get; set; }
    }



   
}
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Test2.aspx.cs" Inherits="WebApplication1.Test2" %>

<!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 runat="server">
    <title></title>
    <link href="css/demo.css" rel="stylesheet" type="text/css" />
    <link href="css/zTreeStyle/zTreeStyle.css" rel="stylesheet" type="text/css" />
    <script src="js/jquery-1.4.4.min.js" type="text/javascript"></script>
    <script src="js/jquery.ztree.core-3.5.js" type="text/javascript"></script>
    <script type="text/javascript">
        var setting = {};
        
//        var zNodes = [
//            { name: "父节点1 - 展开"
//                children: [
//                    { name: "父节点11 - 折叠",
//                        children: [
//                            { name: "叶子节点111" },
//                            { name: "叶子节点112" },
//                            { name: "叶子节点113" },
//                            { name: "叶子节点114" }
//                        ]
//                    },
//                    { name: "父节点12 - 折叠",
//                        children: [
//                            { name: "叶子节点121" },
//                            { name: "叶子节点122" },
//                            { name: "叶子节点123" },
//                            { name: "叶子节点124" }
//                        ]
//                    },
//                    { name: "父节点13 - 没有子节点" }
//                ]
//            },
//            { name: "父节点2 - 折叠",
//                children: [
//                    { name: "父节点21 - 展开", open: true,
//                        children: [
//                            { name: "叶子节点211" },
//                            { name: "叶子节点212" },
//                            { name: "叶子节点213" },
//                            { name: "叶子节点214" }
//                        ]
//                    },
//                    { name: "父节点22 - 折叠",
//                        children: [
//                            { name: "叶子节点221" },
//                            { name: "叶子节点222" },
//                            { name: "叶子节点223" },
//                            { name: "叶子节点224" }
//                        ]
//                    },
//                    { name: "父节点23 - 折叠",
//                        children: [
//                            { name: "叶子节点231" },
//                            { name: "叶子节点232" },
//                            { name: "叶子节点233" },
//                            { name: "叶子节点234" }
//                        ]
//                    }
//                ]
//            },
//            { name: "父节点3 - 没有子节点", isParent: true }

//        ];

         var zNodes =<%=JsonString %>;

        $(document).ready(function () {
            $.fn.zTree.init($("#treeDemo"), setting, zNodes);
        });

  

    
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <ul id="treeDemo" class="ztree">
        </ul>
    </div>
    </form>
</body>
</html>
原文地址:https://www.cnblogs.com/yxlblogs/p/3674164.html