没想到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绑定数据的几种方式的更多相关文章

  1. angular学习笔记(三)-视图绑定数据的两种方式

    绑定数据有两种方式: <!DOCTYPE html> <html ng-app> <head> <title>2.2显示文本</title> ...

  2. 学习日记10、easyui编辑器combobox绑定数据的两种方式

    1.数据本地绑定 var card = [{ "value": "正常", "text": "正常" }, { &quo ...

  3. [微信小程序] 微信小程序下拉滚动选择器picker绑定数据的两种方式

    小程序 picker 多列选择器 数据动态获取 需求是将各校区对应各班级的数据 以两列选择器的方式展示出来,并且可以在选择完成之后记录选结果参数. 校区数据 和 班级数据 分别是两个接口,以 校区 t ...

  4. DropDownList绑定数据的几种方式

    1. 视图中添加可以直接通过单击属性"Items"后的按钮为某一DropDownList控件添加数据项.每添加一项数据就是添加了一个ListItem(列表控件中的数据项).这种方式 ...

  5. easyUI之datagrid绑定后端返回数据的两种方式

    先来看一下某一位大佬留下的easyUI的API对datagrid绑定数据的两种方式的介绍. 虽然精简,但是,很具有“师傅领进门,修行靠个人”的精神,先发自内心的赞一个. 但是,很多人和小编一样,第一次 ...

  6. 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 ...

  7. ajax数据提交数据的三种方式和jquery的事件委托

    ajax数据提交数据的三种方式 1.只是字符串或数字 $.ajax({ url: 'http//www.baidu.com', type: 'GET/POST', data: {'k1':'v1'}, ...

  8. DataGridView绑定数据源的几种方式

    使用DataGridView控件,可以显示和编辑来自多种不同类型的数据源的表格数据. 将数据绑定到DataGridView控件非常简单和直观,在大多数情况下,只需设置DataSource属性即可.在绑 ...

  9. Android_安卓为按钮控件绑定事件的五种方式

    一.写在最前面 本次,来介绍一下安卓中为控件--Button绑定事件的五种方式. 二.具体的实现 第一种:直接绑定在Button控件上: 步骤1.在Button控件上设置android:onClick ...

随机推荐

  1. 测试最新的log4cplus1.1.2版

    #include "stdafx.h" #include <sstream> class AB{ public:     void do_test()     {    ...

  2. 删除左右两边的空格trim

    js中却没有trim()/ltrim()和rtrim()内置方法,所以需要自己写 写成类的方法格式如下:(str.trim();) <script language="javascri ...

  3. 如何把powerpoint幻灯片大小改为标准或宽屏教程【图文】

    不知道大家还记得早期powerpoint版本,幻灯片的形状是较方(4:3),随着科技的发展,很多电视.视频都在用宽屏,powerpoint自然也是如此,现在默认的幻灯片大小是宽屏 (16:9),怎么把 ...

  4. Rxjava+Retrofit2+Okhttp3多文件上传(服务器端代码+客户端代码)

    所有代码亲测可用,如有问题,欢迎指正. 首先在ApiService接口文件中新建文件上传接口 public interface ApiService { static final String BAS ...

  5. iPhone 被同步到 Mac上后 如果不希望更新到Mac上在哪里删除?

    前往文件夹   /Users/用户名/Library/Application Support/MobileSync  直接删除  就行了(同时要倾倒废纸篓). 目前iPhone链接Mac 后  不让 ...

  6. 桌面小部件----LED电子时钟实现

    桌面控件是通过 Broadcast 的形式来进行控制的,因此每个桌面控件都对应于一个BroadcastReceiver.为了简化桌面控件的开发,Android 系统提供了一个 AppWidgetPro ...

  7. BitmapFactory.decodeResource(res, id); 第一个参数跟第二个参数有什么关系?

    BitmapFactory.decodeResource(res, id); res= getResources();activity的方法 id = R.drawable.x  

  8. sql server 2005中使用with实现递归

    WITH fw_requestion_note_temp(old_apply_id) AS ( --取根节点放入临时表 SELECT old_apply_id FROM fw_requestion_n ...

  9. Windows8.1 preview硬盘安装(图解)

    本人小本系统是win7 32位的,想要装win8 64位 ,想直接镜像安装不可能,因为位数不同.U盘只有2G ,显然也放不下3.6G的win8系统.借助NT6 HDD Installer,可以在本地硬 ...

  10. logstash 通过mysql 慢日志了解(?m)

    <pre name="code" class="html"># User@Host: zjzc_app[zjzc_app] @ [10.171.24 ...