星空网 > 软件开发 > Java

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

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

代码如下:

 1   /** 2    * 获取文档设置信息(树) 3    */ 4   @RequestMapping("/getDocSettingsTree") 5   @ResponseBody 6   public String getDocSettingsTree(HttpSession session,HttpServletRequest request) { 7     try{ 8       Settings rootSettings = new Settings(); 9       rootSettings.setSettingId("-1");10       rootSettings.setSettingName("文档分类");11       rootSettings.setSettingType("2");12       getSubSettings(rootSettings);13       String settingList = JsonMapper.alwaysMapper().toJson(rootSettings);14       return settingList;15       16     }catch(Exception e){17       return "查询出错!";18     }19   }

这里的根节点是单个对象,必须在包装成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代码:

 1 function initTree(){ 2    3   $.ajax({ 4     type: "POST", 5     async: true, 6     url: ctx + "/Settings/getDocSettingsTree", 7     dataType: "json", 8     success: function(data){ 9 10       var dataSource = new kendo.data.HierarchicalDataSource({11         data: data,12         schema: {13           model: {14             id: "settingId",15             settingType: "settingType",16             children: "subSettings"17           }18         }19       });20       $("#docTree").kendoTreeView({21         dataSource: dataSource,22         dataValueField: "id",  23         dataTextField: "settingName"24       });25       26       $("#docTree").data("kendoTreeView").expand(".k-item");27     }28   }); 29 }

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

并且数据是LIST形式的。




原标题:kendoTreeView,需要注意的地方

关键词:ie

ie
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

广州到越南海运专线:https://www.goluckyvip.com/tag/32134.html
广州到越南专线:https://www.goluckyvip.com/tag/32135.html
广州电商培训:https://www.goluckyvip.com/tag/32137.html
广州电商培训机构:https://www.goluckyvip.com/tag/32138.html
广州电商培训课程:https://www.goluckyvip.com/tag/32139.html
悉尼刘哥:https://www.goluckyvip.com/tag/3214.html
NRA账户的开户主体包括:香港、美国、新加坡、欧盟等国家的详细解析 :https://www.kjdsnews.com/a/1842292.html
NRA账户的开户主体包括:香港、美国、新加坡、欧盟等国家的详细解析 :https://www.xlkjsw.com/news/94338.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流