前台js:
var treeNodes;
$.ajax({
async: false,
cache: false,
type: 'POST',
contentType: "application/json",
url: "/MsgTypeTemItem/GetAllStr?temId=" + $("#temId").val(), //请求的action路径
error: function () {//请求失败处理函数
alert('请求失败');
},
success: function (data) { //请求成功后处理函数
data = "[" + data + "]";
treeNodes = eval(data);//格式化(object)数据
}
});
$.fn.zTree.init($("#treeDemo"), setting, treeNodes);
后台Controller:
public string GetAllStr()
{
string temId = Request.QueryString["temId"];
List<MsgTypeTemItem> allList = msgTypeItemService.GetAll();
string querySql = "select * from MessageTempletItem where TempletId='" + temId + "'";
DataTable dt = sqlHelper.GetDataTable(querySql);
string result = string.Empty;
foreach (DataRow dr in dt.Select("FatherId='0'"))
{
result += AppendJson(dr, dt);
}
int index = result.LastIndexOf("\r\n");
if (result.Length > )
result = result.Substring(, index - );
return result;
}
private static string AppendJson(DataRow dr, DataTable dtAll)
{
string parentNode = string.Empty;
string isTrue = "false";
parentNode = "{id:\'{id}\', pId:\'{pId}\', name:\'{name}\', open:" + isTrue + ", drag:true" + "},\r\n";
parentNode = parentNode.Replace("{id}", dr["ItemId"].ToString()).Replace("{pId}", dr["FatherId"].ToString()).Replace("{name}", dr["ItemContent"].ToString());
DataRow[] rows = dtAll.Select("FatherId='" + dr["ItemId"].ToString().Trim() + "'");
if(rows.Length!=)
{
foreach (DataRow row in rows)
{
parentNode += AppendJson(row, dtAll);
}
}
return parentNode;
}
注意:①.要后台数据进行eval(object化)--eval
eval前:[{id:'y1',pId:'',name:'y1',drag:true},{id:'y11',pId:'y1',name:'y11',drag:true},{id:'y2',pId:'',name:'y2',drag:true}]
eval后:[object Object],[object Object],[object Object]
相关知识点①:eval
var code1='"a" + 2'; //表达式 
var code2='{a:2}'; //语句 
var code3=[{a:1,b:2},{a:2,b:3}];
alert(eval(code1)); //->'a2' 
alert(eval(code2)); //->undefined 
alert(eval('(' + code2 + ')')); //->[object Object] 
alert(eval(code3));//->[object Object],[object Object] 

zTree的后台数据绑定的更多相关文章

  1. bootstrap table教程--后台数据绑定、特殊列处理、排序

    上一篇文章介绍了基本的使用教程.本节主要介绍Bootstrap的后台数据绑定.特殊列处理及列的排序功能 1.数据绑定 一般做程序设计,很少是使用json文件直接绑定数据.基本上我们都是使用编程语言进行 ...

  2. 关于那个.get .post .ajax ztree 还有后台servlet传递数据

    servlet给前台传递data串 用的方法是 PrintWriter out = response.getWriter(); // response.sendRedirect("test. ...

  3. 【zTree】zTree根据后台数据生成树并动态设置前面的节点复选框的选中状态

    0.页面中准备树的ul <ul id="treeDemo10" class="ztree" style="display: none;" ...

  4. 从后台绑定数据到ligerui 的comboBox下拉框组件

    这次来记录一下ligerUI的comboBox下拉框组件,ligerUI的API里也有相关描写叙述,上面都是前台写死数据,然后显示在组件中,我这次要说的是将后台的数据绑定到下拉框组件中,废话不多说. ...

  5. Win10系列:VC++数据绑定

    数据绑定是一种将后台数据绑定到前台控件的机制,通常用于动态地将对象或集合中所保存的数据显示到前台界面中.本节通过一个具体的示例来说明在Windows应用商店应用中如何通过数据绑定将保存在集合中的数据显 ...

  6. DataGrid数据绑定

    后台数据绑定 用户场景是生成报表,展示公司各员工每个月的绩效 数据结构 包括报表和单个员工绩效两个实体 public class Report { /// <summary> /// 统计 ...

  7. WebForm(四)——Repeater控件(重要、好用)

    Repeater控件,可以用来一次显示一组数据项.比如,可以用它们显示一个数据表中的所有行.             Repeater控件完全由模板驱动,提供了最大的灵活性,可以任意设置它的输出格式. ...

  8. winform窗体(六)——DataGridView控件及通过此控件中实现增删改查

    DataGridView:显示数据表,通过此控件中可以实现连接数据库,实现数据的增删改查 一.后台数据绑定:    List<xxx> list = new List<xxx> ...

  9. Winform(DataGridView)控件及通过此控件中实现增删改查

    DataGridView:显示数据表,通过此控件中可以实现连接数据库,实现数据的增删改查 一.后台数据绑定:    List<xxx> list = new List<xxx> ...

随机推荐

  1. 《Lucene in Action第二版》学习总结---如何在Windows下编译luceneinAction2Edition源码包

    1. 下载此源码包,位置是: www.manning.com/hatcher3,得到:lia2e.tar.gz,然后解压缩得到目录:lia2e,为了以后能辨识,我将此目录改名为:luceneinAct ...

  2. window安装redis

    1.redis简介redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(so ...

  3. 详解path和classpath的区别

    详解path和classpath的区别 path的作用 path是系统用来指定可执行文件的完整路径,即使不在path中设置JDK的路径也可执行JAVA文件,但必须把完整的路径写出来,如C:\Progr ...

  4. 基于markdown的blog系统调研1:typecho

    ))

  5. java学习笔记之String.Split方法

    hello 大家好,好久不见,今天 我们要讨论的是java的split方法,或许你很早就知道了,但你真的知道吗? 我们来看看吧. 首先我们来看看我们最常用的split()方法也就是单个参数的方法 pu ...

  6. 多媒体开发之--- h264 图像、帧、片、NALU

    图像.帧.片.NALU 是学习 H.264的人常常感到困惑的一些概念,我在这里对自己的理解做一些阐述,欢迎大家讨论: H.264 是一次概念的革新,它打破常规,完全没有 I 帧.P帧.B 帧的概念,也 ...

  7. Outlook2016删不掉主账户的解决方法

    控制面板>账户>邮件把配置文件删了 前两项和Outlook内部打开账户选项一样没用, 进第三个 重启Oulook的时候会提示重新建一个配置,就OK了!

  8. vue实践---根据不同环境,自动转换请求的url地址

    一般的项目环境分为:本地环境,测试环境,预发环境,正式环境. 这些环境的域名一般是一样的, 前端请求接口的url也会随着这些环境的变化而改变,手动修改有点麻烦,所以想个办法,让请求的地址根据域名改变而 ...

  9. PHP-Manual的学习----【语言参考】----【类型】-----【NULL】

    2017年8月24日11:34:061.特殊的 NULL 值表示一个变量没有值.NULL 类型唯一可能的值就是 NULL. 2.在下列情况下一个变量被认为是 NULL: ◦ 被赋值为 NULL. ◦ ...

  10. bzoj1185【HNOI2007】最小矩形覆盖

    1185: [HNOI2007]最小矩形覆盖 Time Limit: 10 Sec  Memory Limit: 162 MBSec  Special Judge Submit: 1114  Solv ...