easyui-tree绑定数据的几种方式
没想到easyui对json数据格式要求的那么严谨,折腾了半天
第一种直接使用标签方式,很容易就加载出来了:
<ul class="easyui-tree">
<li>
<span>My Documents</span>
<ul>
<li data-options="state:'closed'">
<span>Photos</span>
<ul>
<li>
<span>Friend</span>
</li>
<li>
<span>Wife</span>
</li>
<li>
<span>Company</span>
</li>
</ul>
</li>
<li>
<span>Program Files</span>
<ul>
<li>Intel</li>
<li>Java</li>
<li>Microsoft Office</li>
<li>Games</li>
</ul>
</li>
<li>index.html</li>
<li>about.html</li>
<li>welcome.html</li>
</ul>
</li>
</ul>
第二种,在js中绑定:
<ul id="myTree"></ul>
$('#myTree').tree({
method: 'get',
url: 'tree_data1.json'
});
注意:easyui tree获取数据的HTTP方法默认是post,但是用post的时候却报了谓词错误, 所以指定了get ----》需要查查,还不了解因果。
三,用data直接绑json:
$.ajax({
type: 'GET',
url: 'tree_data1.json',
success: function (result) {
var myJson = eval('(' + result + ')');
$('#myTree').tree({
data: myJson
});
}
});
这种方式绑定下面的这种json数据格式是有效的,但是方法二却绑不上:
[{ 'text':'.Net','state':'closed','children':[{'text':'C#'},{'text':'asp.Net'}]},{'text':'Java'}]
一般最好用双引号
第四种:与第二种js绑定其实都是一样的只是写在元素标签上了而已
<ul class=" easyui-tree" data-options=" url:'JsonHandler.ashx'">
JsonHandler.ashx是asp.net中的一般处理文件,输出json串,当然这个返回的接送数据也要和第二种的json一致,不然还是绑不上
相关参考http://www.zi-han.net/case/easyui/datagrid&tree.html#tree
效果图:

后台根据id获取多级树:
创建树的实体类大概写了几个树常用到的属性
public class TreeEntity {
public string id { get; set; }
public string text { get; set; }
public string iconCls {
get { return "icon-group-bank"; }
}
public List<TreeEntity> children { get; set; }
}
一般处理处理程序序列化输出树:
public void ProcessRequest(HttpContext context) {
Int32 groupId = (Int32)context.Session["LoginUserGroupID2"];
string groupName = SqlDataHelper.GetGroupNameById(groupId);
List<TreeEntity> list = new List<TreeEntity>();
list.Add(new TreeEntity() {
id = groupId.ToString(),
text = groupName,
children = GetTreeChildren(groupId)
});
string responseString = ClassHelper.ObjectToJSON(list);//序列化树实例
context.Response.ContentType = "text/plain";
context.Response.Write(responseString);
}
/// <summary>
/// 根据ID获取子节点对象
/// </summary>
/// <param name="groupId"></param>
/// <returns></returns>
private static List<TreeEntity> GetTreeChildren(Int32 groupId) {
List<GroupEntity> groupList = SqlDataHelper.GetUserGroupsById(groupId);
List<TreeEntity> treeList = new List<TreeEntity>();
if (groupList.Count < ) {
return null;
}
else {
for (int i = ; i < groupList.Count; i++) {
TreeEntity tree = new TreeEntity();
tree.id = groupList[i].GroupID.ToString();
tree.text = groupList[i].GroupName;
tree.children = GetTreeChildren(groupList[i].GroupID);
treeList.Add(tree);
}
return treeList;
}
}
easyui-tree绑定数据的几种方式的更多相关文章
- angular学习笔记(三)-视图绑定数据的两种方式
绑定数据有两种方式: <!DOCTYPE html> <html ng-app> <head> <title>2.2显示文本</title> ...
- 学习日记10、easyui编辑器combobox绑定数据的两种方式
1.数据本地绑定 var card = [{ "value": "正常", "text": "正常" }, { &quo ...
- [微信小程序] 微信小程序下拉滚动选择器picker绑定数据的两种方式
小程序 picker 多列选择器 数据动态获取 需求是将各校区对应各班级的数据 以两列选择器的方式展示出来,并且可以在选择完成之后记录选结果参数. 校区数据 和 班级数据 分别是两个接口,以 校区 t ...
- DropDownList绑定数据的几种方式
1. 视图中添加可以直接通过单击属性"Items"后的按钮为某一DropDownList控件添加数据项.每添加一项数据就是添加了一个ListItem(列表控件中的数据项).这种方式 ...
- easyUI之datagrid绑定后端返回数据的两种方式
先来看一下某一位大佬留下的easyUI的API对datagrid绑定数据的两种方式的介绍. 虽然精简,但是,很具有“师傅领进门,修行靠个人”的精神,先发自内心的赞一个. 但是,很多人和小编一样,第一次 ...
- Linux就这个范儿 第15章 七种武器 linux 同步IO: sync、fsync与fdatasync Linux中的内存大页面huge page/large page David Cutler Linux读写内存数据的三种方式
Linux就这个范儿 第15章 七种武器 linux 同步IO: sync.fsync与fdatasync Linux中的内存大页面huge page/large page David Cut ...
- ajax数据提交数据的三种方式和jquery的事件委托
ajax数据提交数据的三种方式 1.只是字符串或数字 $.ajax({ url: 'http//www.baidu.com', type: 'GET/POST', data: {'k1':'v1'}, ...
- DataGridView绑定数据源的几种方式
使用DataGridView控件,可以显示和编辑来自多种不同类型的数据源的表格数据. 将数据绑定到DataGridView控件非常简单和直观,在大多数情况下,只需设置DataSource属性即可.在绑 ...
- Android_安卓为按钮控件绑定事件的五种方式
一.写在最前面 本次,来介绍一下安卓中为控件--Button绑定事件的五种方式. 二.具体的实现 第一种:直接绑定在Button控件上: 步骤1.在Button控件上设置android:onClick ...
随机推荐
- MySql奇葩问题汇总
当字段名与关键词重叠时,sql语句中用``将字段名括起来,就可解决报错的问题.
- javascript 字符串滚动显示
<html> <head> <script type="text/javascript"> var chars = "JavaScri ...
- Windows环境下 配置memcached (php)
memcached就不用介绍了-- 1:在Windows下安装memcached服务端软件,已经下载并上传云盘 ---传送门 记得带钥匙:ykrc 解压缩后里面的安装说明内有安装教程. 2:软件安装 ...
- ecshop json类的使用
ecshop中有2个地方使用了json,一个是cls_json.php文件,一个是transport.js文件. cls_json 封装了json类,可以调用里面的encode的方法,根据参数不同,进 ...
- php 4.X与5.x版本构造函数区别与类的继承
今天看ecshop源码的时候发现 构造函数是和类名一样,以前没接触过,一下子疑惑啦 HP4.x 版本: PHP 4.x 的构造函数名与类名相同. 注意:在子类里父类的构造函数不会自动执行 ...
- sizeof(int *) 和 sizeof(int)型的大小问题
小问题,暂时记录注意一下 printf("sizeof(int): %d\n", (int)sizeof(int)); printf("sizeof(int ...
- 编写可维护的javascript代码--- 2015.11.21(基本格式化)
1.1 每行的编码需要控制在80字符. 1.2 改用:的地方必须用上. 1.3 缩进用2个制表符,不过4个也可以. 1.4 当代码一行显示不全需要折行显示,这里我暂且假定缩进为4个字符. 1.5 如果 ...
- 在PyQt4中使用matplotlib
matplotlib作为Python中著名的数据可视化工具,其官网也提供了在PyQt4中使用的源码,这里举一个应用实例,以备不时之需. 1) 利用Qt Designer创建GUI界面 Demo的GUI ...
- a标签的 target 使用
<a target="_blank" href="www.baidu.com" onclick="return test()"> ...
- Web分析日志
http://www.docin.com/p-649515490.html http://wenku.baidu.com/link?url=kB-83fbl1Zc3Y6U2BYLj-lKMWShe8Z ...