最常用的使用方式是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[]; for (int i = ; 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[];
if (dt.Rows.Count > )
{
rootTree.children = new List<MyTree>();
for (int j = ; 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>

zTree控件的使用的更多相关文章

  1. 转:zTree树控件扩展篇:巧用zTree控件实现文本框输入关键词自动模糊查找zTree树节点实现模糊匹配下拉选择效果

    是否可以借助于zTree实现文本框输入关键词自动模糊匹配zTree下拉树,然后选择下拉树内节点显示在文本框内且隐藏下拉树. 看到这个需求脑子里头大致已经想到了要如何实现这样一个需求,当时是限于时间问题 ...

  2. Nice Validator(Form验证)及Juery zTree控件

    http://niceue.com/validator/demo/match.php http://www.ztree.me/v3/demo.php#_603

  3. 使用zTree控件制作的表格形式的树形+数据菜单

    測试了一下,兼容ie7以上, chrome opera ff 不使用对方css /*------------------------------------- zTree Style version: ...

  4. jQuery树形控件zTree使用

    http://www.cnblogs.com/AutumnRhyme/p/5915769.html .................................................. ...

  5. jeecg中的树形控件demo

    1.comboTree控件 1.页面方法: <t:comboTree url="jeecgFormDemoController.do?getComboTreeData" va ...

  6. js树形控件—zTree使用总结

    0 zTree简介 树形控件的使用是应用开发过程中必不可少的.zTree 是一个依靠 jQuery 实现的多功能 “树插件”.优异的性能.灵活的配置.多种功能的组合是 zTree 最大优点. 0.0 ...

  7. web前端开发控件学习笔记之jqgrid+ztree+echarts

    版权声明:本文为博主原创文章,转载请注明出处.   作为web前端初学者,今天要记录的是三个控件的使用心得,分别是表格控件jqgrid,树形控件ztree,图表控件echarts.下边分别进行描述. ...

  8. asp.net 树形控件 $.fn.zTree.init

    在网页中通过jquery脚本来构筑树形控件将是一个不错的选择,比如有一个文本框,当鼠标点击的时候,像弹出一个下拉框一样弹出一个树形控件,这似乎是一个不错的控制.下面主要讲讲这种树形控件的实现.为了能使 ...

  9. MVC4加载zTree树小控件

    前言: 第一次学习使用MVC框架,找了个练手项目,加载zTree树小控件.下面我就一步步说明我这次练手的经历以记录.如果有什么错误,希望各位大神帮忙指正,谢谢. 第一步: 利用VS2010新建一个MV ...

随机推荐

  1. mysql 查询某个日期时间段,每天同一时间段的数据

    mysql 查询某个日期时间段,每天同一时间段的数据: SELECT * FROM t_a01_eltable WHERE DATE_FORMAT(acqtime,'%Y-%m-%d')>='2 ...

  2. BZOJ 1922: [Sdoi2010]大陆争霸

    Description 一个无向图,到一个点之前需要先到其他点,求从第一个点到第 \(n\) 点最短时间. Sol 拓扑+Dijkstra. 跑Dijkstra的时候加上拓扑序... 用两个数组表示 ...

  3. Mysql5.7版本编译安装及配置

    配置yum安装方式 1.配置本地yum源 vim /etc/yum.repos.d/rhel-source.repo [rhel-source] name=Red Hat Enterprise Lin ...

  4. Union-Find Algorithm

    Union-Find Algrithm is used to check whether two components are connected or not. Examples: By using ...

  5. poj 1511(spfa)

    ---恢复内容开始--- http://poj.org/problem?id=1511 一个spfa类的模板水题. 题意:就是求从1到n个点的来回的所有距离和. 对spfa类的题还是不太熟练,感觉还是 ...

  6. struts2 校验数据的有效性 2种方式

    Struts2的数据校验: 数据的校验分为客户端校验和服务器端两种: 客户端校验:JS完成的校验.(为了提升用户体验.减少用户的输入错误) 服务器端校验:在后台的校验.(必须的.) 手动编码进行校验: ...

  7. python 3.5.2安装mysql驱动报错

    python 3.5.2安装mysql驱动报错 python 3.5.2安装mysql驱动时出现如下异常: [root@localhost www]# pip install mysql-connec ...

  8. CEF3开发者系列之进程间消息传递

    在使用CEF3作为框架开发过程中,实现WebSockets.XMLHttpRequest.JS与本地客户端交互等功能时,需要在渲染(Render)进程和浏览(Browser)进程中传递消息.CEF3在 ...

  9. winrt获取文件MD5码

    //小文件 public static string ComputeMD5(byte[] bytes) { var alg = HashAlgorithmProvider.OpenAlgorithm( ...

  10. Effective C++ -----条款33:避免遮掩继承而来的名称

    derived classes内的名称会遮掩base classes内的名称.在public继承下从来没有人希望如此. 为了让被遮掩的名称再见天日,可使用using声明式或转交函数(forwardin ...