本攻略适用于了解的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. 4. leetcode 461. Hamming Distance

    The Hamming distance between two integers is the number of positions at which the corresponding bits ...

  2. java中创建多线程两种方式以及实现接口的优点

    多线程创建方式有两种 创建线程的第一种方式.继承Thread类 1.继承Thread类 2.重写Thread类中的run方法--目的将自定义代码存储在run方法.让线程执行3.调用线程的start() ...

  3. LinkQueue(链队列)

    关于Node.h,请参考LinkStack #include"Node.h" template<typename ElemType> class LinkQueue { ...

  4. mysql 中的socket 即 mysql.sock的作用

    这个mysql.sock应该是mysql的主机和客户机在同一host上的时候,使用unix domain socket做为通讯协议的载体,它比tcp快.通常遇到这个问题的原因就是你的mysql ser ...

  5. 解读java同步类CountDownLatch

    同步辅助类: CountDownLatch是一个同步辅助类,在jdk5中引入,它允许一个或多个线程等待其他线程操作完成之后才执行. 实现原理 : CountDownLatch是通过计数器的方式来实现, ...

  6. dll的两种加载方式(pend)+ delayload

    看过关于动态库的调用例子,于是决定动手做一做:dll的对外接口声明头文件,Mydll.h: //Mydll.h #include <stdio.h> #include <stdlib ...

  7. python自动化运维三:数据报表定制以及scapy模块介绍

    p { margin-bottom: 0.25cm; line-height: 120% } a:link { } Excel也是报表的一个重要的工具.这里首先接受下excel的操作.先来看一个简单的 ...

  8. Python开发规范

    背景 Python语言规范 Lint 导入 包 异常 全局变量 嵌套/局部/内部类或函数 列表推导(List Comprehensions) 默认迭代器和操作符 生成器 Lambda 函数 条件表达式 ...

  9. oracle撤销表空间和回滚段

    /* 撤销表空间 */ 通过使用撤销技术,能够为Oracle数据库提供以下功能: * 使用ROLLBACK语句撤销事务 * 进行数据库恢复 * 提供数据的读一致性 Oracle强烈建议DBA在Orac ...

  10. 没有基础如何学习web渗透测试?

    如果只是因为感兴趣玩玩的话,你可以不需要学习太多的脚本程序. 但是以下条件要具备 1.能看懂教程:能理解原理,例如解析漏洞,sql注入逻辑等 2.前端代码审计:html js css 3.主流工具的使 ...