最常用的使用方式是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 "on duplicate key update" 语法的分析

    如果在INSERT语句末尾指定了on duplicate key update,并且插入行后会导致在一个UNIQUE索引或PRIMARY KEY中出现重复值,则在出现重复值的行执行UPDATE:如果不 ...

  2. 调用pyxmpp库PyQt编程打包成exe文件出错

    pyxmpp库内resolver.py内getaddrinfo获取Openfire服务器地址出错

  3. 将 JAR 转为 EXE – JSMOOTH 的使用教程(第二期)(转载)

    http://www.iteknical.com/convert-jar-to-exe-phase-ii-jsmooth-use-tutorial/

  4. 转:js清空数组

    方式1,splice 1 2 3 var ary = [1,2,3,4]; ary.splice(0,ary.length); console.log(ary); // 输出 Array[0],空数组 ...

  5. PHP常用字符串操作函数实例总结(trim、nl2br、addcslashes、uudecode、md5等)

    /*常用的字符串输出函数 * * echo() 输出字符串 * print() 输出一个或多个字符串 * die() 输出一条信息,并退出当前脚本 * printf() 输出格式化字符串 * spri ...

  6. 浅探委托(delegate)和事件(event)

    .NET Framework通过委托提供了一种回调函数机制. internal delegate void FeedBack(Int32 value); 内部委托FeedBack的声明,一个委托要指定 ...

  7. [20160701]DevideByZeroWithoutNoException——from 《Java How To Program (Early Objects), 10th》

    //一段优美的例子 import java.util.Scanner; import java.util.InputMismatchException; public class DevideByZe ...

  8. 【leetcode】Binary Tree Maximum Path Sum

    Binary Tree Maximum Path Sum Given a binary tree, find the maximum path sum. The path may start and ...

  9. TcxComboBox控件说明

    http://www.cnblogs.com/huangygdelphi/articles/2648490.html 属性: Text:ComboBox 的文本信息 EditText: 也是给Comb ...

  10. 50道java算法题(一)

    [程序1] 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 1.程序分析:   兔子的规律为数列1 ...