没想到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. 理解angularJS中作用域$scope

    angularJS中作用域是什么 作用域(scope)是构成angularJS应用的核心基础,在整个框架中都被广泛使用,因此了解它如何工作是非常重要的 应用的作用域是和应用的数据模型相关联的,同时作用 ...

  2. HTml <meta>标签的使用(重要)

    <meta> 元素可提供有关页面的元信息(meta-information),比如针对搜索引擎和更新频度的描述和关键词. 1.设置网页字符编码 <meta http-equiv=&q ...

  3. python运维开发之第十一天(RabbitMQ,redis)

    一.RabbitMQ python的Queue与RabbitMQ之间的理解: python的进程或线程Queue只能python自己用.RabbitMQ队列多个应用之间共享队列,互相通信. 1.简单的 ...

  4. Lucene查询条数限制

    运用Lucene进行索引,在查询的时候是有条数限制的 public virtual TopFieldDocs Search(Query query, Filter filter, int n, Sor ...

  5. Cracking the coding interview--Q2.4

    Write code to partition a linked list around a value x, such that all nodes less than xcome before a ...

  6. GFF 和 OGS 这两种触摸屏谁更好?

    我将从成本分析.制程分析.用户体验三个方面来回答楼主的问题.GFF的触摸屏从字面上翻译过来,就是一层玻璃cover,两层film构成的触摸屏.其中,玻璃cover作为整个手机的coverlens,从外 ...

  7. WIN32程序挂钩SetLastError,输出错误描述到控制台

    WIN32程序挂钩SetLastError,输出错误描述到控制台 作者:徐灵甫 一.窗口模式应用程序(GUI)启用控制台的方法为: 步骤 方法 1 启动/关闭控制台 AllocConsole()Fre ...

  8. MFC浅析(4) CObject浅析

    MFC CObject浅析 1.CObject简要声明 2.CRuntimeClass结构 3.RUNTIME_CLASS 4.DYNAMIC支持 5.DYNCREATE支持 6.SERIAL支持 C ...

  9. 由“Beeline连接HiveServer2后如何使用指定的队列(Yarn)运行Hive SQL语句”引发的一系列思考

    背景   我们使用的HiveServer2的版本为0.13.1-cdh5.3.2,目前的任务使用Hive SQL构建,分为两种类型:手动任务(临时分析需求).调度任务(常规分析需求),两者均通过我们的 ...

  10. Windows 7 中未能从程序集System.ServiceModel

    Windows 7 中未能从程序集System.ServiceModel   “/”应用程序中的服务器错误.   未能从程序集“System.ServiceModel, Version=3.0.0.0 ...