kendo ui的treeView节点点击事件修改和grid的配置的一点总结
kendo-ui的treeView节点(node)点击时 可以触发一个select的事件(event),并且连续点击多次相同节点,可以触发并且只能触发一次该事件。
可是需求上需要实现:每次点击相同的节点,都要触发该select事件。
这个需求,是和kendo的select事件相悖的。
最开始想通过 外部手动触发select事件,但是发现并不能做到.
后来做了如下配置:
- $("#treeview").kendoTreeView({
- dataSource: [
- treeData
- ],
- spriteCssClass: "rootfolder",
- //select: onSelect, //注释select事件
- template: "<span onClick='onTreeViewNodeClick(this);'>#= item.text # </span>",
- //---
- //其他配置
- //---
- })
实现该需求主要配置是 template. 使用template为每个节点用span包裹起来,并给一个onClick()
这样一来 每次点击节点都会触发一个事件。
但是为什么不直接在onClick中调用之前已经写好的onSelect方法呢?
原因是 在触发select事件调用onSelect方法时,kendo会给我们自定义方法一个e这个参数,e有很多功能,他知道当前点击节点所有的配置,比如我们想获取当前点击节点的id,
那么就是e.node.id.
然而在我们没有用event时间,而选择使用js的onClick来调用自定义的onSelect方法时,kendo 就不会给我们e这个参数,kendo并不知道我们干了什么。
所以我需要另一个点击时的自定义方法,并且我给这个方法的参数是this. this在这里指的是什么呢?
就是当前我们所点击的节点的span元素;使用kendo的dataItem方法就能获取当前的Node了。
我们把当前的Node传给自定义的onSelect方法 也就自然而然的可以代替e参数了,因为当前Node就什么都知道嘛
- function onTreeViewNodeClick(e){
- var tree= $("#treeview").data("kendoTreeView"); //
- var node=tree.dataItem(e); //get current node and give onSelect as param
- onSelect(node,tree);
- }
最后要说的一个在使用kendo ui的grid需要注意的问题是:
当我们使用编辑的功能时 (我用的inline,其他的应该也一样,有待验证)
我们的kendo的核心功能dataSource 一定要指定唯一标识字段
- schema: {
- model: {
- id: "ProductID", //这里是重点
- fields: {
- ProductID: { editable: false, nullable: true },
- ProductName: { validation: { required: true } },
- UnitPrice: { type: "number", validation: { required: true, min: 1} },
- Discontinued: { type: "boolean" },
- UnitsInStock: { type: "number", validation: { min: 0, required: true } }
- }
- }
- }
代码中已经标识出重点位置,这个唯一字段名称的配置,一定必须是id! 无论在我们json中叫什么名字,这里必须是id.
要不然编辑的时候,会出现很多问题,可以试试。
kendo ui的treeView节点点击事件修改和grid的配置的一点总结的更多相关文章
- Flutter中通过普通的点击事件修改TextFormField的值
import 'package:flutter/material.dart'; import 'package:zhongfa_apps/widget/public/PublicWidget.dart ...
- element ui的 el-dropdown-item标签点击事件
在vue项目中使用element的el-dropdown-item标签时 给标签添加click事件 初始时按照正常写法 <el-dropdown-item @click="click( ...
- Kendo UI中TreeView 放入tabstrip中,大数据量时超过边框的解决方案。
参考http://www.kendoui.com/forums/ui/tabstrip/tabstip-with-treeview-treeview-breaking-out-of-tabstrip. ...
- Unity3D研究院之将UI的点击事件渗透下去(转)
转自 http://www.xuanyusong.com/archives/4241 处理UI还有3D模型的点击推荐使用UGUI的这套事件系统,因为使用起来比较简洁,不需要自己用代码来发送射线,并且可 ...
- Kendo UI for jQuery使用教程:方法和事件
[Kendo UI for jQuery最新试用版下载] Kendo UI目前最新提供Kendo UI for jQuery.Kendo UI for Angular.Kendo UI Support ...
- Kendo UI 初始化 Data 属性
初始化 Data 属性 前面在介绍准备 Kendo UI 开发环境时我们使用 jQuery 的方法将一个 HTML 元素转换成一个 Kendo UI 控制项: $(“#datepicker”).ke ...
- Web界面开发必看!Kendo UI for jQuery编辑功能指南第一弹
Kendo UI for jQuery最新试用版下载 Kendo UI目前最新提供Kendo UI for jQuery.Kendo UI for Angular.Kendo UI Support f ...
- Web下TreeView同一节点连续点击,只执行一次SelectedNodeChanged的解决
Web下TreeView同一节点连续点击,只执行一次SelectedNodeChanged的解决 http://blog.csdn.net/net_boy/archive/2009/11/05/477 ...
- jQuery之防止冒泡事件,冒泡事件就是点击子节点,会向上触发父节点,祖先节点的点击事件。
冒泡事件就是点击子节点,会向上触发父节点,祖先节点的点击事件. 下面是html代码部分: <body> <div id="content"> 外层div元素 ...
随机推荐
- redis使用心得
原创文章转载请注明出处:@协思, http://zeeman.cnblogs.com redis是继memcached之后兴起的内存数据库,作者非常崇尚简洁高效,力求以最简单的方式最高效的解决问题 ...
- zend studio 常用快捷键
zend studio是一款很棒的PHP语言编译器,强大的功能让很多程序员爱不释手,而快捷键更是程序员加快编写代码的利器,那么一起来看看有哪些好用的快捷键吧. 复制当前行:ctrl+alt+↓ 删除当 ...
- git rm–r folder fatal:pathspec "" did not match any files
问题描述: 某年某月某日,在查看git库的时候,发现文件的分布和文件夹的名字是极其不合理的,所以移动和重命名了某些文件. 在删除(git rm –r folder)一个空文件夹的时候,出现错误:fat ...
- EF架构~基于EF数据层的实现
回到目录 之前写过关于实现一个完整的EF架构的文章,文章的阅读量也是满大的,自己很欣慰,但是,那篇文章是我2011年写的,所以,技术有些不成熟,所以今天把我的2014年写的EF底层架构公开一下,这个架 ...
- [Redis]Redis 概述及基本使用规范.
1 nosql的简介 1.1 nosql简介 随着互联网Web2.0网站的兴起,传统的关系数据库在应付Web2.0网站,特别是超大规模和高并发的SNS类型的Web2.0纯动态网站已经显得力不从心,暴露 ...
- JS脚本
js脚本是嵌在网页里打出的一块区域,一般写在最下端 script 脚本 // 这是单行注释的一种语法 /**/ 这是多行注释的一种语法 存储内容的东西叫变量 数据类型的有: 1 整型 ...
- react7 react 三目运算
<body><!-- React 真实 DOM 将会插入到这里 --><div id="example"></div> <!- ...
- 在configure distribution时遇到错误,不能打开sql agent
今天在配置Distribution时,遇到一个错误,不能打开sql agent,详细错误信息如下: SQL Server blocked access to procedure 'dbo.sp_set ...
- Floyd算法(二)之 C++详解
本章是弗洛伊德算法的C++实现. 目录 1. 弗洛伊德算法介绍 2. 弗洛伊德算法图解 3. 弗洛伊德算法的代码说明 4. 弗洛伊德算法的源码 转载请注明出处:http://www.cnblogs.c ...
- Java多线程系列--“基础篇”11之 生产消费者问题
概要 本章,会对“生产/消费者问题”进行讨论.涉及到的内容包括:1. 生产/消费者模型2. 生产/消费者实现 转载请注明出处:http://www.cnblogs.com/skywang12345/p ...