HTML5+CSS3从入门到精通 Kendo UI使用小知识点
沉沙 2018-09-10 来源 : 阅读 994 评论 0

摘要:本篇教程探讨了HTML5+CSS3从入门到精通 Kendo UI使用小知识点,希望阅读本篇文章以后大家有所收获,帮助大家HTML5+CSS3从入门到精通 。

本篇教程探讨了HTML5+CSS3从入门到精通 Kendo UI使用小知识点,希望阅读本篇文章以后大家有所收获,帮助大家HTML5+CSS3从入门到精通 。

<

Kendo UI 使用小知识点汇总
  
  
  
   本攻略适用于了解的kendo UI 的基本语法的人使用。如果还不了解Kendo UI的基本语法,请大力观摹Demo ,并自己动用写几个控件。

1、获取Kendo UI的控件实体,不必存成全局变量。

    在控件初始化后,想要调用控件的实体,只需要 


$("#id").data("kendoGrid")




如果是treeView ,data就是kendoTreeView,以此类推

 

2、获取dataSource也不必使用全局变量

var grid = $("#id").data("kendoGrid");
var dataSource = grid.dataSource;   // 获取到dataSource的Bean
var dataList = dataSource.view();   // 获取到数据列表,是一个Array

3、关于kendoTreeView的加载问题
    在开发时,有没有遇到过找不到树的节点的情况?主要原因是,不展开的话,子级节点就没有加载,找不到对应的节点。
    以前我采用过先expand全部,然后再collapse全部的方法,直到发现了这个属性……


loadOnDemand:false

  API 是这样讲的

    Indicates whether the child DataSources should be fetched lazily when parent groups get expanded. Setting this to false causes all child DataSources to be loaded at initialization time.

   大体意思就是当父节点展开时子数据源是否懒惰加载。将此属性设为false时,子数据源在初始化的时候会全部取出。    
 

4、说到kendoTreeView,还有一个点,就是树节点的展开。
树节点API给出了三个方法,分别是expand,expandPath,expandTo。我不想在这里比较这三个方法,因为我只用到了其中的一个方法,就可以满足我的需求。当我知道了一个节点的id,将它展开到指定的位置。


var barElement = treeView.findByUid(nodeID);  //treeView就是kendoTreeView,不再多说
treeView.expandTo(treeView.dataItem(barElement));//将所有节点展开

 
5、关于id与uid的关系问题
    在kendoUI 中,控件实体是以uid做为唯一标识的,它是生成html时,随机生成的。选中某个Element,kendoUI 只给出了两种方法,findByText和findByUid,很多时候,我们用的既不是名称(name),也不是kendoUI的uid,而是我们自己从后台获取的唯一标识。
以前我采用的方法是,在获取到数据后,在dataSource的schema 中进行绑定,把dataItem的uid设置成id,后来发现一个更简单一点的方法,就是dataSource是认id的


var dataItem = grid.dataSource.get(data.id);
var element = grid.findByUid(dataItem.uid);

 
6、关于kendoGrid 和kendoTreeView的select()方法。
    在树与表格的联动或者其他的情况下,需要选中某一行或都树上的某一项 。我们可以根据上一条中的方法 ,来获取到某个element,在我多次实验,treeView可以采取这种选中的方式,而grid总是失败。我采用的选中方式分别是:





grid.select("tr[data-uid='" + grid.dataSource.get(data.id).uid + "']");
treeView.select(element);

 
7、kendoWindow与kendoGrid联合使用,由于定位问题,会发生异常。
    我采用的是简单粗暴地给kendoGrid中发生溢出的单位,设置高度。暂时未发现更优雅的解决方式

本来预期的是表格在红线的位置处结束,但是它在对话框中撑出了。 


#deletePersonGrid .k-grid-content{height:227px;}

8、暂时也没有第8条,但是为了凑个整,估且计算上第八条了。

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标WEB前端HTML5/CSS3频道!

本文由 @沉沙 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程