前台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. HDFS源码分析数据块复制选取复制源节点

    数据块的复制当然需要一个源数据节点,从其上拷贝数据块至目标数据节点.那么数据块复制是如何选取复制源节点的呢?本文我们将针对这一问题进行研究. 在BlockManager中,chooseSourceDa ...

  2. 模拟多级复选框效果--jquery

    今天又次体会到jquery的强大了,做了个多级复选框的效果,代码总共就20+行就over了. 我又想用js来做一个看看,才写了几个方法就写不动了,兼容性要考虑很多,而且代码量直线上升. 主要分享下jq ...

  3. saltstack之软件管理

    1.installed安装软件包 例: 安装NFS /srv/salt/pkg/nfs.sls nfs: pkg.installed: - pkgs: - nfs-utils 在命令行执行如下 sal ...

  4. 转载 jenkins执行selenium 测试 浏览器不显示解决方法

    原文地址: http://blog.csdn.net/achang21/article/details/45096003 The web browser doesn't show while run ...

  5. WPF 自定义快捷键命令(COMMAND)(转)

    命令简介 WPF 中的命令是通过实现 ICommand 接口创建的.ICommand 公开两个方法(Execute 及 CanExecute)和一个事件(CanExecuteChanged).Exec ...

  6. ios -富文本和尺寸

    /** *  计算文本的宽高 方法 2 * *  @param str     需要计算的文本 *  @param font    文本显示的字体 *  @param maxSize 文本显示的范围 ...

  7. 关于angularjs的model的一些问题

    有的时候 在一些页面中 我们会需要用到弹出的模态框,这里主要是使用angularjs的uimodel. 页面效果如下: 首先我们需要在JS的controller中导入$uibModal模块. HTML ...

  8. SET IDENTITY_INSERT ON/OFF 权限

    今天突然遇到了,找不到对象“XXXX”,因为它不存在或者没有您所需的权限,于是检查程序,突然发现程序中有一段代码是: SET IDENTITY_INSERT eticket ON //执行业务 ... ...

  9. maven;tomcat配置

    [说明]今天呀,上午刚刚打算写javaweb项目,服务器就出现了问题,就花了点时间搞定了:下午听老大说了任务的大致内容和意义,收获颇多:晚上去服务器上部署了maven,听说可以实现热部署 一:今天完成 ...

  10. Android 新建一个类,在src新建一个类,使继承自活动

    一:先新建一个包 右键src,新建包: 二:包中新建类 右建包,新建类,将超类改为andorid.app.Activity