kendoTreeView,需要注意的地方
今天使用了下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,需要注意的地方的更多相关文章
- 解决VS2008在win7找不到输入序列号的地方
		
1.VS2008在Windows7 打开维护界面看不到可以输序列号的地方. 因为微软把他隐藏了. 2.我们可以借用工具把他显示出来 下载地址:http://www.zlsoft.com/techbbs ...
 - 使用Google Closure Compiler高级压缩Javascript代码注意的几个地方
		
介绍 GCC(Google Closure Compiler)是由谷歌发布的Js代码压缩编译工具.它可以做到分析Js的代码,移除不需要的代码(dead code),并且去重写它,最后再进行压缩. 三种 ...
 - eclipse项目上面有个红叉,但是没有任何地方有错误
		
eclipse项目上面有个红叉,但是没有任何地方有错误,clear,refresh,重启都试过了,依然没用, 后来我换了一个workspace,编译的时候提示: Description Resourc ...
 - javascript中的一些核心知识点以及需要注意的地方
		
前言 近期杂事甚多,这些事情的积累对知识体系的提升有好处,但是却不能整理出来,也整理不出来 比如说我最近研究的Hybrid在线联调方案便过于依赖于业务,就算分享也不会有人读懂,若是抽一点来分享又意义不 ...
 - android 实现点击listview 空白地方隐藏菜单
		
思路:重写ListView的setOnTouchListener事件: ListView.setOnTouchListener(new OnTouchListener(){ @Override pub ...
 - java 将一张图片拷贝到另外一个地方。(IO流)
		
package com.beiwo.inputstream; import java.io.FileInputStream; import java.io.FileOutputStream; impo ...
 - 屌丝程序员的梦想 (二)   屌丝IT梦开始地方
		
校区的周围有很多的网吧,一个对电子游戏迷恋了许久的青少年来说,那绝对是不可不去的地方,键盘,鼠标,显示器,那一切看起来都那么完美,那么似曾相识,是啊,魂牵梦绕的IT梦...哦..当时那只是电子游戏梦. ...
 - es6还欠完善的地方
		
const的可变性 const用于声明常量. 什么是常量,声明后的值不可更改. 对于值类型,比如string,number等等.const声明确实有效. const str = "strin ...
 - js平滑滚动到顶部,底部,指定地方
		
[原文链接] 采用锚点进行页面中的跳转的确很方便,但是要想增加网页的效果,可以使用jquery中的animate,实现滚动的一个动作,慢慢的滚动到你想跳转到的位置,从而看起来会非常高大上. [示例演示 ...
 
随机推荐
- 【转载】Keil中的USE MicroLib说明
			
在keil建立ARM的工程时 其中有一项是选 use MicroLIB 由于对KEIL不是很熟悉,于是就查了查,得到了以下信息: microlib 是缺省 C 库的备选库. 它旨在与需要装入到极少量内 ...
 - OAF_开发系列22_实现OAF条形码BarCode
			
20150717 Created By BaoXinjian
 - linux c 获取头文件函数getenv
			
#include <stdio.h>#include <stdlib.h> int main(){ printf("%s\n", getenv(" ...
 - .NET加密方法
			
SHA1加密: string[] ArrTmp = { Token, timestamp, nonce }; Array.Sort(ArrTmp);//字典排序 string tmpStr = str ...
 - I/O 请求数据包
			
MSDN原文:https://msdn.microsoft.com/zh-cn/library/windows/hardware/hh439638(v=vs.85).aspx 发送到设备驱动程序的大部 ...
 - HBase内部操作日志说明
			
版本:0.94-cdh4.2.1 1. Split Region [regionserver60020-splits-1397585864985] INFO org.apache.hadoop.hba ...
 - ubuntu下postgreSQL安装配置
			
一.安装并配置,并设置远程登陆的用户名和密码 1.安装postgreSQL sudo apt-get update sudo apt-get install postgresql-9.4 在Ubunt ...
 - ECS挂载数据盘
			
1.先在阿里控制台挂载硬盘: 2.df -h 确认没有分区 3.fdisk -l 4.fdisk /dev/xvdb 分区 根据提示m-n-p-1-Enter-Enter-w 5.fdisk -l 查 ...
 - SqlCommand执行带GO的SQL脚本文件
			
今天工作中遇到了这个问题,其实只要把GO替换成“;”就行了,其它人写的例子用Split来拆分这一个脚本文件的内容,完全没有必要.希望对你有用.
 - 对想进入Unity开发新人的一些建议
			
提前声明:本文只是写给那些非职业游戏开发人士,只面向那些在校本科生,或已就业但无unity背景的同学们,当然是面对程序员方向的.本人刚工作也没多久,资历尚浅,之前在网上有一位同学让我谈谈一些想法,所以 ...