jQuery MiniUI

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

treegrid的lazy加载模式难道一定要指定url???? [复制链接]

Rank: 2

跳转到指定楼层
楼主
发表于 2013-12-9 15:09:14 |只看该作者 |倒序浏览
treegrid的lazy加载模式难道一定要指定url吗?

因为我的服务端返回的数据并不是json格式,所以无法直接指定url来直接加载。

目前的方法是:
1、通过ajax到后台查询出顶层菜单数据,然后组装成有效的array,用treegrid.loadList来添加

2、当第一次展开一个父菜单node的时候,我需要能捕获到这个事件,然后按照步骤1的方式也通过ajax到后台去查询对应的子菜单数据,然后组装成有效的array,用treegrid.loadList来添加。

但是步骤2总是会报“json is error”,搞的很郁闷。

请大神指点啊!谢谢!

Rank: 8Rank: 8

沙发
发表于 2013-12-9 15:21:50 |只看该作者
把treegrid.load()方法全去掉

Rank: 2

板凳
发表于 2013-12-9 15:28:46 |只看该作者
felt 发表于 2013-12-9 15:21
把treegrid.load()方法全去掉

大哥,怎么去呢?小弟刚入门,不是很懂,求指教

Rank: 8Rank: 8

地板
发表于 2013-12-9 15:49:37 |只看该作者
jie758 发表于 2013-12-9 15:28
大哥,怎么去呢?小弟刚入门,不是很懂,求指教

loadList ( Array, idField, parentField )
你调用loadlist方法的数据格式,需要数组
http://www.miniui.com/demo/index.html#src=tree/createtree.html
参考这个demo里数据格式
另外:用loadList方法的话不要调用load方法,这个用来加载Url数据的

Rank: 2

5#
发表于 2013-12-9 16:24:28 |只看该作者
felt 发表于 2013-12-9 15:49
loadList ( Array, idField, parentField )
你调用loadlist方法的数据格式,需要数组
http://www.miniui. ...

哥,我就下面简单的代码,其他我啥都没干,也没有调load方法,也没有设置url,其中lists节点的isLeaf=false表示是目录节点,点击展开的时候就报“json is error”
var treegrid = mini.get(“treegrid”);
var list = [
                                                { id: "base", text: "Base" },            
                                                { id: "forms", text: "Forms", pid: "base" },
                                            { id: "lists", text: "Lists",isLeaf:false }
                                        ];
treegrid.loadList(list);

Rank: 8Rank: 8

6#
发表于 2013-12-9 16:41:21 |只看该作者
把html页面打包上来,我们看下。
我用你的数据跑没问题

Rank: 2

7#
发表于 2013-12-9 17:26:29 |只看该作者
felt 发表于 2013-12-9 16:41
把html页面打包上来,我们看下。
我用你的数据跑没问题

用的是V3.2
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4.     <title>Test</title>
  5.     <meta http-equiv="content-type" content="text/html; charset=UTF-8" /><link href="../demo.css" rel="stylesheet" type="text/css" />
  6.     <script src="boot.js" type="text/javascript"></script>
  7.     <style type="text/css">
  8.     </style>   
  9. </head>
  10. <body >   

  11. <div id="leftTree" class="mini-treegrid" onitemselect="onItemSelect"
  12.             idField="id" parentField="pid" textField="text" borderStyle="border:0" showTreeIcon="true"
  13.                                 treeColumn="name"
  14.         >
  15.         <div property="columns">
  16.                 <div type="indexcolumn"></div>
  17.                 <div name="name" field="name" width="200">任务名称</div>
  18.         </div>
  19.         
  20. </div>
  21.    
  22.     <script type="text/javascript">
  23.         mini.parse();
  24.         /////////////////////////////////////////////
  25.         var data = [
  26.                 { id: "user", text: "用户管理", iconCls: "icon-add" },
  27.                 { id: "addUser", pid: "user", text: "增加用户", iconCls: "icon-add", url: "../datagrid/celledit.html" },
  28.                 { id: "editUser", pid: "user", text: "修改用户", iconCls: "icon-edit", url: "../datagrid/rowedit.html" },
  29.                 { id: "removeUser", pid: "user", text: "删除用户", iconCls: "icon-remove", url: "../datagrid/datagrid.html" },

  30.                 { id: "right", text: "权限管理" ,isLeaf:false}
  31.         ];
  32.         var tree = mini.get("leftTree");
  33.         tree.loadList(data, "id", "pid");
  34.     </script>

  35. </body>
  36. </html>
复制代码

Rank: 8Rank: 8

8#
发表于 2013-12-9 17:32:54 |只看该作者
本帖最后由 lost 于 2013-12-9 17:38 编辑
jie758 发表于 2013-12-9 17:26
用的是V3.2

我们看下

Rank: 8Rank: 8

9#
发表于 2013-12-10 10:04:52 |只看该作者
本帖最后由 lost 于 2013-12-10 10:27 编辑
jie758 发表于 2013-12-9 17:26
用的是V3.2

你在isLeaft:false后面加个asyncLoad: false,点击后就不会报错

Archiver|普加软件

GMT+8, 2025-7-14 04:40 , Processed in 1.035317 second(s), 9 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部