本攻略适用于了解的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条,但是为了凑个整,估且计算上第八条了。

Kendo UI 使用小知识点汇总的更多相关文章

  1. Kendo UI使用小小记

    之所以说小小记,是因为我根本没有好好用它,只是正好前些日子接触了一下,觉得还不错,随手记记~ 契机 我从加入现在这个公司以来,半专业的承担了很多前端相关的事情,用过不少前端框架,也为框架和原生的页面写 ...

  2. 年度巨献-WPF项目开发过程中WPF小知识点汇总(原创+摘抄)

    WPF中Style的使用 Styel在英文中解释为”样式“,在Web开发中,css为层叠样式表,自从.net3.0推出WPF以来,WPF也有样式一说,通过设置样式,使其WPF控件外观更加美化同时减少了 ...

  3. (ADO.NET小知识点汇总)看到什么记什么

    1.数据库连接池:在同时连接数不多的情况下, 打开一个链接往数据库导1W条数据的耗时 跟 导一条数据就打开跟关闭数据库连接的耗时 两者其实相差不大,这是为什么呢?打开关闭的本身不是有很多耗时吗?这是因 ...

  4. python小知识点汇总

    一 写mysql 场景:自动化用例中需要构造数据,写入redis 表中已有该primary_key的记录,在现有基础上更新字段 表中无该记录,需要插入 # 请求传入table字段,db.table,c ...

  5. 【nodejs笔记——小知识点汇总】

    1.  ejs标签: <%  %> ,  <%-  %> ,  <%= %>的区别 ejs的标签分为三种: (1)<% code %>   javasc ...

  6. html小知识点汇总(浏览器导航上显示图标、div无高度时试着清除浮动、文字环绕图片、字体加粗、div按百分比分、已有的不合适的class,针对特定的标签进行修改)

    1.新点击的网页,在浏览器导航上显示图标: 像这种效果: <head> <meta charset="UTF-8"> <meta name=" ...

  7. Android开发之实用小知识点汇总-2

    1.EditText 中将光标移到文字末尾: EditText mEdit = (EditText)this.findViewById(R.id.EditText01); mEdit .setText ...

  8. Android开发之实用小知识点汇总-1

    1.去掉android屏幕中的actionbar: this.requestWindowFeature(Window.FEATURE_NO_TITLE);// 去掉标题栏 //这个是全屏幕显示的代码 ...

  9. Linux小知识点汇总

        1.crontab    (1)crontab每10秒执行一次  * * * * * /bin/date >>/tmp/date.txt  * * * * * sleep 10; ...

随机推荐

  1. 暑假OI规划

    为了准备11月的NOIP(最好能到550+)暑假要认真的刷题: 1.NOIP的原题 2.USACO历年的GOLD 3.CF的比赛 4.刷几本书 5.带着做bzoj(lydsy) 6.少玩游戏

  2. TensorFlow学习笔记2——数据类型及简单运算

    0. 小试牛刀 首先,激活tensorflow环境( source activate tensorflow ),随后在ipython里: import tensorflow as tf sess = ...

  3. 剑指OFFER——正则表达式匹配

    请实现一个函数用来匹配包括'.'和'*'的正则表达式.模式中的字符'.'表示任意一个字符,而'*'表示它前面的字符可以出现任意次(包含0次). 在本题中,匹配是指字符串的所有字符匹配整个模式.例如,字 ...

  4. Three.js使用局部纹理更新

    THREE.js开发的应用运行在iphone5下发现有些时候会崩溃,跟了几天发现是因为Sprite太多频繁更新纹理占用显存导致的.通常解决纹理频繁更新问题就要用到one draw all方法,放到纹理 ...

  5. css3文本字体

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. WEB测试常见BUG

    翻页 翻页时,没有加载数据为空,第二页数据没有请求 翻页时,重复请求第一页的数据 翻页时,没有图片的内容有时候会引用有图片的内容       2.图片数据为空 图片数据为空时,会保留为空的图片数据位置 ...

  7. iOS 工程自动化 - 思路整理

    4 月份参加 2017@Swift 大会的时候有幸听到了 @zesming 大佬关于美团组件化的 Topic,有一张图印象特别深刻. 来自 @zesming 大佬 后来跟 @zesming 大佬沟通怎 ...

  8. 【可视化】Echarts3 在世界地图中绘制中国各省份的轮廓

    要在世界地图展现出来的情况下绘制中国省份的轮廓,根据现有的echarts-api是不可行的. 但好在echarts也提供了自定义地图的方式,使用echarts.registerMap();来实现 第一 ...

  9. LAMP环境的搭建(四)----Apache下部署项目

    根据前文完成了LAMP基本环境的安装,那么接下来就是部署线上的环境了. yum 安装的apache 目录存在于  /etc/httpd apache最重要的文件就是 httpd.conf.  目录再 ...

  10. php 开发调试的常用技巧和工具​

      nginx的access.log 作用: 记录一个页面请求中,服务器接收到的所用相关的url. 根据此log, 对服务器上调用了哪些服务,可以一目了然,快速理清业务关系,调试开发非常赞! 注意: ...