jQuery MiniUI

 找回密码
 立即注册
查看: 34505|回复: 10
打印 上一主题 下一主题

Tree:加载列表数据   [复制链接]

Rank: 9Rank: 9Rank: 9

跳转到指定楼层
楼主
发表于 2012-3-17 15:54:57 |只看该作者 |倒序浏览
Tree控件,需要提供一个树形的JSON数据,才能正常显示。

通常,开发者在后台可以这样做:
1)从数据库查询出一个列表数据
2)在后台,将列表数据转换为树形数据
3)通过JSON方式返回
在前台页面,可以给Tree设置url地址,或者调用load方法加载树形数据。

后台的“列表转树形”是一个相对有点小难度的实现。
针对这个情况,MiniUI Tree提供了一种直接加载列表数据,Tree内部进行数据转换的方式。
1)从数据库查询出一个列表数据
2)通过JSON方式返回
省略了原来的第2个步骤。

如何实现呢?
只需要给Tree设置3个属性:valueField、parentField、resultAsTree。

valueField通常是id,表示节点对象的唯一标识符。
parentField通常是pid,表示父节点属性。
resultAsTree是关键,要设置成"false",这样Tree通过url加载数据后,就会得知需要做一些“列表转树形”的处理,从而正确显示。

参考示例:
    列表数据生成Tree:http://miniui.com/demo/tree/list2tree.html

Rank: 4

沙发
发表于 2012-7-5 20:48:04 |只看该作者
针对这个情况,MiniUI Tree提供了一种直接加载列表数据,Tree内部进行数据转换的方式。
1)从数据库查询出一个列表数据
2)通过JSON方式返回
省略了原来的第2个步骤
这个不太明白 能具体点吗
后台返回怎么样的数据啊
[
{ id:"miniui",text:"miniui",expanded: true,
children[
        {id: "base", text: "Base", expanded: false,
                children: [
                        {id: "ajax", text: "Ajax", url: "../../docs/api/ajax.html", target:"_blank"},
                        {id: "json", text: "JSON", url: "../../docs/api/ajax.html", target:"_blank"}                       
                ]
        },
        {id: "forms", text: "Forms", expanded: false,
                children: [
                        {id: "button", text: "Button", url: "../../docs/api/button.html", target:"_blank"},
                        {id: "listbox", text: "ListBox", url: "../../docs/api/listbox.html", target:"_blank"},
                        {id: "checkboxlist", text: "CheckBoxList", url: "../../docs/api/checkboxlist.html", target:"_blank"},
                        {id: "radiolist", text: "RadioList", url: "../../docs/api/radiolist.html", target:"_blank"}
                ]
        }
        ]}
]
不需要在后台封装成这样的吗?

Rank: 9Rank: 9Rank: 9

板凳
发表于 2012-7-6 19:29:17 |只看该作者
不需要。
请参考教程:
http://www.miniui.com/docs/tutorial/tree_list.html

Rank: 3Rank: 3

地板
发表于 2012-7-7 12:33:58 |只看该作者
能不能把数据从后台取回来,在调用loadData 加载进去呢?
我尝试了下子,怎么不行呢?我是想把url取回来的数据中,拿出自己需要的那一部分,加载到树上去的??

Rank: 9Rank: 9Rank: 9

5#
发表于 2012-7-7 17:59:04 |只看该作者
如果你一定要JS方式创建tree,请参考:
http://www.miniui.com/demo/#src=tree/createtree.html
其中的第三种创建方式。

Rank: 1

6#
发表于 2013-2-28 17:59:06 |只看该作者
在后台把数据查询出来后,要怎么才能转成JOSN的数据啊?是不是只是通过Test.JSON.Encode(Hashtable)就可以了啊

Rank: 9Rank: 9Rank: 9

7#
发表于 2013-2-28 22:04:37 |只看该作者
是的。

Rank: 2

8#
发表于 2013-5-17 17:04:34 |只看该作者
我想在 lazytree 懒加载TreeGrid 里面添加分页 一直没有找到方法 就指点

Rank: 8Rank: 8

9#
发表于 2013-5-17 17:14:38 |只看该作者
ying2058 发表于 2013-5-17 17:04
我想在 lazytree 懒加载TreeGrid 里面添加分页 一直没有找到方法 就指点

treegrid和tree不支持分页

Rank: 1

10#
发表于 2013-6-7 17:34:58 |只看该作者
请问一下,同理是不是gridData 也可以用上面相同的方法去做。主要是javascript的形式,因为我现在的做的是前面一个项目的前台重构。之前用的是Extjs 现在要换成是JSP,也就是说后台现在不能变了,只以在前面的js里去做适配。

Archiver|普加软件

GMT+8, 2024-4-27 10:22 , Processed in 1.051864 second(s), 9 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部