ztree的数据绑定
来源:广州中睿信息技术有限公司官网
发布时间:2012/10/21 23:25:16 编辑:admin 阅读 399
首先应用JS文件和样式文件<scriptsrc="../JavaScript/ZTree/jquery-ztree-2.2.min.js"type="text/javascript"><


首先应用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

 

联系我们CONTACT 扫一扫
愿景:成为最专业的软件研发服务领航者
中睿信息技术有限公司 广州•深圳 Tel:020-38931912 务实 Pragmatic
广州:广州市天河区翰景路1号金星大厦18层中睿信息 Fax:020-38931912 专业 Professional
深圳:深圳市福田区车公庙有色金属大厦509~510 Tel:0755-25855012 诚信 Integrity
所有权声明:PMI, PMP, Project Management Professional, PMI-ACP, PMI-PBA和PMBOK是项目管理协会(Project Management Institute, Inc.)的注册标志。
版权所有:广州中睿信息技术有限公司 粤ICP备13082838号-2