zTree的后台数据绑定
前台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的后台数据绑定的更多相关文章
- bootstrap table教程--后台数据绑定、特殊列处理、排序
上一篇文章介绍了基本的使用教程.本节主要介绍Bootstrap的后台数据绑定.特殊列处理及列的排序功能 1.数据绑定 一般做程序设计,很少是使用json文件直接绑定数据.基本上我们都是使用编程语言进行 ...
- 关于那个.get .post .ajax ztree 还有后台servlet传递数据
servlet给前台传递data串 用的方法是 PrintWriter out = response.getWriter(); // response.sendRedirect("test. ...
- 【zTree】zTree根据后台数据生成树并动态设置前面的节点复选框的选中状态
0.页面中准备树的ul <ul id="treeDemo10" class="ztree" style="display: none;" ...
- 从后台绑定数据到ligerui 的comboBox下拉框组件
这次来记录一下ligerUI的comboBox下拉框组件,ligerUI的API里也有相关描写叙述,上面都是前台写死数据,然后显示在组件中,我这次要说的是将后台的数据绑定到下拉框组件中,废话不多说. ...
- Win10系列:VC++数据绑定
数据绑定是一种将后台数据绑定到前台控件的机制,通常用于动态地将对象或集合中所保存的数据显示到前台界面中.本节通过一个具体的示例来说明在Windows应用商店应用中如何通过数据绑定将保存在集合中的数据显 ...
- DataGrid数据绑定
后台数据绑定 用户场景是生成报表,展示公司各员工每个月的绩效 数据结构 包括报表和单个员工绩效两个实体 public class Report { /// <summary> /// 统计 ...
- WebForm(四)——Repeater控件(重要、好用)
Repeater控件,可以用来一次显示一组数据项.比如,可以用它们显示一个数据表中的所有行. Repeater控件完全由模板驱动,提供了最大的灵活性,可以任意设置它的输出格式. ...
- winform窗体(六)——DataGridView控件及通过此控件中实现增删改查
DataGridView:显示数据表,通过此控件中可以实现连接数据库,实现数据的增删改查 一.后台数据绑定: List<xxx> list = new List<xxx> ...
- Winform(DataGridView)控件及通过此控件中实现增删改查
DataGridView:显示数据表,通过此控件中可以实现连接数据库,实现数据的增删改查 一.后台数据绑定: List<xxx> list = new List<xxx> ...
随机推荐
- Objective-C 的动态提示和技巧
过去的几年中涌现了大量的Objective-C开发者.有些是从动态语言转过来的,比如Ruby或Python,有些是从强类型语言转过来的,如Java或C#,当然也有直接以Objective-C作为入门语 ...
- JSP开发中的基础语法
JSP 语法 JSP开发中的基础语法. 脚本程序 脚本程序可以包含任意量的Java语句.变量.方法或表达式,只要它们在脚本语言中是有效的. 脚本程序的语法格式: <% 代码片段 %> 或者 ...
- COM对象模型
COM对象内存布局,多继承是虚继承吗? 接口之间怎么切换? 1) 是普通的多继承,不是虚继承.因为父类接口只是含有纯虚函数,不含任何数据成员,所以问题不大. 2) QueryInterface可以用来 ...
- PYTHON流向下载
#-*- coding:utf-8 -*- import gzip import re import http.cookiejar import urllib.request import urlli ...
- 8148 8168 中移植live55 出现except rtsp 中途莫名的断流
在解码中,接了浙江宇视的ipc相机,解码一般就挂了,vlc 也是中途断流.费解? vlc异常信息如下: packetizer_h264 warning: waiting for SPS/PPS pac ...
- Openstack(Kilo)安装系列之环境准备(一)
本文采用VMware虚拟环境,使用CentOS 7.1作为openstack的基础环境. 一.基础平台 1.一台装有VMware的windows系统(可联网) 2.CentOS 7.1 64bit镜像 ...
- Lumen开发:结合Redis实现消息队列(2)
上一篇讲了Lumen配置Redis,现在来讲一下,如何实现消息队列 2.编写任务类 2.1 任务类结构 默认情况下,应用的所有队列任务都存放在app/Jobs目录.任务类非常简单,正常情况下只包含一 ...
- 承载(Host)通用语言执行时
承载(Host)通用语言执行时(CLR) 还有一种使用COM 的方法是是把须要集成的 F# 代码与已有的 C/C++ 应用程序集成到一起.开成自己定义的承载通用语言执行时.通用语言执行时就是 C++ ...
- Unity3d 中文菜单
- 【BZOJ2724】[Violet 6]蒲公英 分块+二分
[BZOJ2724][Violet 6]蒲公英 Description Input 修正一下 l = (l_0 + x - 1) mod n + 1, r = (r_0 + x - 1) mod n ...