今天使用了下kendoUI中的TreeView控件,一开始的时候总是不成功,

总是会报 Uncaught TypeError: Cannot read property 'toLowerCase' of undefined,

后来查询相关的API,原来TreeView是比较特殊的控件,不能绑定kendo.data.DataSource数据源,

数据源必须是kendo.data.HierarchicalDataSource类型的数据源,

将数据源改为该类型的以后,任然报错,而且是奇怪的错误提示。。。

Uncaught TypeError: e.slice is not a function

使我又郁闷了半天,经由同事的提醒,我突然发现树的数据可能有问题,

代码如下:

     /**
* 获取文档设置信息(树)
*/
@RequestMapping("/getDocSettingsTree")
@ResponseBody
public String getDocSettingsTree(HttpSession session,HttpServletRequest request) {
try{
Settings rootSettings = new Settings();
rootSettings.setSettingId("-1");
rootSettings.setSettingName("文档分类");
rootSettings.setSettingType("2");
getSubSettings(rootSettings);
String settingList = JsonMapper.alwaysMapper().toJson(rootSettings);
return settingList; }catch(Exception e){
return "查询出错!";
}
}

这里的根节点是单个对象,必须在包装成LIST才行,

于是修改代码为:

    /**
* 获取文档设置信息(树)
*/
@RequestMapping("/getDocSettingsTree")
@ResponseBody
public String getDocSettingsTree(HttpSession session,HttpServletRequest request) {
try{
Settings rootSettings = new Settings();
rootSettings.setSettingId("-1");
rootSettings.setSettingName("文档分类");
rootSettings.setSettingType("2");
getSubSettings(rootSettings);
//必须包装成LIST回传
List<Settings> listSettings = new ArrayList<Settings>();
listSettings.add(rootSettings);
String settingList = JsonMapper.alwaysMapper().toJson(listSettings);

return settingList; }catch(Exception e){
return "查询出错!";
}
}

这样问题便解决了

JS代码:

 function initTree(){

     $.ajax({
type: "POST",
async: true,
url: ctx + "/Settings/getDocSettingsTree",
dataType: "json",
success: function(data){ var dataSource = new kendo.data.HierarchicalDataSource({
data: data,
schema: {
model: {
id: "settingId",
settingType: "settingType",
children: "subSettings"
}
}
});
$("#docTree").kendoTreeView({
dataSource: dataSource,
dataValueField: "id",
dataTextField: "settingName"
}); $("#docTree").data("kendoTreeView").expand(".k-item");
}
});
}

这里的重点就是数据源的格式必须是kendo.data.HierarchicalDataSource

并且数据是LIST形式的。

kendoTreeView,需要注意的地方的更多相关文章

  1. 解决VS2008在win7找不到输入序列号的地方

    1.VS2008在Windows7 打开维护界面看不到可以输序列号的地方. 因为微软把他隐藏了. 2.我们可以借用工具把他显示出来 下载地址:http://www.zlsoft.com/techbbs ...

  2. 使用Google Closure Compiler高级压缩Javascript代码注意的几个地方

    介绍 GCC(Google Closure Compiler)是由谷歌发布的Js代码压缩编译工具.它可以做到分析Js的代码,移除不需要的代码(dead code),并且去重写它,最后再进行压缩. 三种 ...

  3. eclipse项目上面有个红叉,但是没有任何地方有错误

    eclipse项目上面有个红叉,但是没有任何地方有错误,clear,refresh,重启都试过了,依然没用, 后来我换了一个workspace,编译的时候提示: Description Resourc ...

  4. javascript中的一些核心知识点以及需要注意的地方

    前言 近期杂事甚多,这些事情的积累对知识体系的提升有好处,但是却不能整理出来,也整理不出来 比如说我最近研究的Hybrid在线联调方案便过于依赖于业务,就算分享也不会有人读懂,若是抽一点来分享又意义不 ...

  5. android 实现点击listview 空白地方隐藏菜单

    思路:重写ListView的setOnTouchListener事件: ListView.setOnTouchListener(new OnTouchListener(){ @Override pub ...

  6. java 将一张图片拷贝到另外一个地方。(IO流)

    package com.beiwo.inputstream; import java.io.FileInputStream; import java.io.FileOutputStream; impo ...

  7. 屌丝程序员的梦想 (二) 屌丝IT梦开始地方

    校区的周围有很多的网吧,一个对电子游戏迷恋了许久的青少年来说,那绝对是不可不去的地方,键盘,鼠标,显示器,那一切看起来都那么完美,那么似曾相识,是啊,魂牵梦绕的IT梦...哦..当时那只是电子游戏梦. ...

  8. es6还欠完善的地方

    const的可变性 const用于声明常量. 什么是常量,声明后的值不可更改. 对于值类型,比如string,number等等.const声明确实有效. const str = "strin ...

  9. js平滑滚动到顶部,底部,指定地方

    [原文链接] 采用锚点进行页面中的跳转的确很方便,但是要想增加网页的效果,可以使用jquery中的animate,实现滚动的一个动作,慢慢的滚动到你想跳转到的位置,从而看起来会非常高大上. [示例演示 ...

随机推荐

  1. HBase设计与开发性能优化(转)

    本文主要是从HBase应用程序设计与开发的角度,总结几种常用的性能优化方法.有关HBase系统配置级别的优化,这里涉及的不多,这部分可以参考:淘宝Ken Wu同学的博客. 1. 表的设计 1.1 Pr ...

  2. 【原】运动版的轮播图,有左右按钮和单独分页,原生JS版

    运动版的轮播图,有左右按钮和单独分页 这个例子重点在于: 运动框架的复习,要灵活运动回调函数 始终以全局变量iNum来控制oUl的移动目的地,每次有任何动作,都是先判断iNum并改变iNum后去调用运 ...

  3. HDU 2795 Billboard(区间求最大值的位置update的操作在query里做了)

    Billboard 通过这题,我知道了要活用线段树的思想,而不是拘泥于形式, 就比如这题 显然更新和查询放在一起很简单 但如果分开写 那么我觉得难度会大大增加 [题目链接]Billboard [题目类 ...

  4. codeforces E. Famil Door and Roads 期望

    一棵树,n个节点,边长为1,有q个询问,每个询问给出u,v(u != v),问在树上等概率加一条边,如果使得u,v在一个环内,则这种加边方式是合法的,此时的值为环的长度,所有合法的加边方式出现的概率相 ...

  5. [Mongodb] Tarball二进制包安装过程

    一.缘由: 用在线安装的方式安装mongodb,诚然很方便.但文件过于分散,如果在单机多实例的情况下,就不方便管理. 对于数据库的管理,我习惯将所有数据(配置)文件放在一个地方,方便查找区分. 二.解 ...

  6. Ubuntu1404 (1)

    0.初始设置 (1)开户root账号并重启系统: sudo gedit /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf, 添加greeter-show ...

  7. 从高处理解android与服务器交互(看懂了做开发就会非常的容易)

    今天帮一个朋友改一个bug 他可以算是初学者吧 .我给他看了看代码,从代码和跟他聊天能明显的发现他对客户端与服务器交互 基本 不是很了解.所以我花了更多时间去给他讲客户端与服务器的关系.我觉得从这个高 ...

  8. background-position值为像素时的使用方法

    以前一直都知道这个属性,但是每次使用的时候都是试来试去,感觉很麻烦,所以花了一点小时间研究了一下,很简单,跟大家分享一下. 此属性需要在background属性中使用,有关background属性的值 ...

  9. LogBack,升级版的log4J

    <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE log4j:configuration SYS ...

  10. Windows 7 添加MBR文件启动

    bcdedit /create /d "Solaris" /application bootsector后会出现标识符如{26224d85-dbcc-11e4-86a8-e164d ...