ztree的数据绑定


首先应用JS文件和样式文件

    <script src="../JavaScript/ZTree/jquery-ztree-2.2.min.js" type="text/javascript"></script>

   <link href="../JavaScript/ZTree/zTreeStyle/zTreeIcons.css" rel="stylesheet" type="text/css" />
    <link href="../JavaScript/ZTree/zTreeStyle/zTreeStyle.css" rel="stylesheet" type="text/css" />

 其次:json值绑定

var treeData;
$.ajax({
type: "Get", //请求的方法
url: '',//要传递参数使用Ajax进行处理的类名称
dataType: "text", //返回的数据类型
global: false, //Ajax的范围
async: false, //异步执行
//成功情况下的处理
success: function (strReult) {

treeData=eval(strReult);
}, //失败情况下的处理
error: function () {
alert("Ajax请求数据失败!");
}
});

var setting = {

showLine: true,
checkable: false,
};

zTree = $("#ulUserTree").zTree(setting, treeData);

后台处理json处理;数据库中查出的数据集放在DataTable 中传入如下方法返回json数据

        //json处理
#region
/// <summary>
/// 表格数据生成指定格式的json数据
/// </summary>
/// <param name="dt">生成json数据的报表</param>
/// <returns></returns>
public static string DtToJson(DataTable dt)
{
string result = string.Empty;

foreach (DataRow dr in dt.Select("parentid=0"))
{
result += "," + AppendJson(dr, dt);

}
if (result.Length > 0)
result = "[\r\n" + result.Substring(1) + "\r\n]";
return result;
}
/// <summary>
/// 生成指定的Json数据
/// </summary>
/// <param name="dr">报表行对象</param>
/// <param name="dtAll">报表对象</param>
/// <returns></returns>
private static string AppendJson(DataRow dr, DataTable dtAll)
{
string parentNode = string.Empty;
string isTrue = "false";
DataRow[] rows = dtAll.Select("parentid='" + dr["VALUE"].ToString().Trim() + "'");
if (rows.Length == 0)
{

parentNode = "\r\n{name:{name},icon:\"{icon}\",open:" + isTrue + ", checked:false, id:\"{id}\"" + "\r\n}";
parentNode = parentNode.Replace("{name}", dr["name"].ToString())
.Replace("{id}", dr["VALUE"].ToString()).Replace("{icon}", dr["icon"].ToString());
}
else
{
string result = string.Empty;

foreach (DataRow row in rows)
{
result += "," + AppendJson(row, dtAll);

}


if (result.Length > 0)
result = "[\r\n" + result.Substring(1) + "\r\n]";
parentNode = "\r\n{name:{name},icon:\"{icon}\",open:" + isTrue + ", checked:false, id:\"{id}\",nodes:" + result + "\r\n}";
parentNode = parentNode.Replace("{name}", dr["name"].ToString())
.Replace("{id}", dr["VALUE"].ToString()).Replace("{icon}", dr["icon"].ToString());
}
return parentNode;
}
#endregion

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值