Kendo UI 简单使用
1 准备工作
引入JS文件和CSS文件
<link href="js/kendoui/styles/kendo.common.min.css" rel="stylesheet" />
<link href="js/kendoui/styles/kendo.silver.min.css" rel="stylesheet" />
<script src="js/kendoui/js/jquery.min.js"></script>
<script src="js/kendoui/js/kendo.all.min.js"></script>
2 数据源
2.1 创建数据源
· var dataSource = new kendo.data.DataSource({
……
});
2.2 数据源常用配置项
· data:数据,数据类型有json和xml
data: [{"userId":63,"userNo":"test1","userName":"用户"}]
· transport:加载或保存数据
transport : {
read : {
url : "userManager?action=getUserInfosByDeptId",
dataType : "json"
},
update : {
url : "userManager?action=test",
dataType : "jsonp"
},
create : {
//添加数据,参考update方法
},
destroy : {
//删除数据,参考update方法
},
parameterMap : function(data, type) {
switch (type) {
case "read": {
return {
deptId : 0
};
}
default: {
return {
//返回修改的json
userinfo : kendo.stringify(data.models)
};
}
}
}
}
· schema :数据源的结构,可对每个字段进行配置
schema : {
model : {
id : "userId",
fields : {
userNo : {
editable : false,//是否需要编辑
nullable : true,//是否允许为空
validation : {required : true}//验证
}
}
}
2.3 常用方法
· dataSource.read()//重新读取数据源
· dataSource.sync()//保存数据源的修改
· dataSource.data()//获取数据源的数据
· dataSource.data([{ name: "John Doe" }])//设置数据源的数据
3 Grid
3.1 创建Grid
$("#grid").kendoGrid({
……
});
3.2 Grid常用配置项
l dataSource:dataSource,//数据源
l groupable: true,//是否允许分组
l editable : true,//是否允许修改修改模式“inline”行内模式,"popup"弹窗模式
l filterable :true//是否开启筛选
l columnMenu: true//是否开启列菜单
l reorderable: true//是否允许对列进行排序(手动拖拽列)
l sortable: true//是否允许排序
l selectable : true,//是否允许选择 “multiple row”:多行选择, "multiple cell" 多单元格选择,"row"单行,"cell"单元格
l pageable:true/是否分页
pageable: {
refresh: true,//刷新按钮
pageSizes: 10//每页大小
buttonCount: 5//页码按钮数量
}
l columns//列
columns: [{field: "ContactName",//字段名
title: "Contact Name",//列名
Width: 200, //列宽
Format:"yyyy-mm-dd"
editor : stratDateEditor//自定义编辑
}]
function stratDateEditor(container, options) {
$(
'<input type="text" name="startDate" data-bind="value:startDate">')
.appendTo(container).kendoDateTimePicker({});
}
3.3 Grid 常用事件
change : function(e) {
//获取选中行的数据
this.dataItem(this.select());
}
3.4 模板Template
//行模板
rowTemplate: kendo.template($("#rowTemplate").html())
//间隔行模板
altRowTemplate: kendo.template($("#altRowTemplate").html())
<script id="rowTemplate" type="text/x-kendo-tmpl">
<tr data-uid="#: uid #">
<td class="photo">
<img src=" #:data.EmployeeID#.jpg" alt="#: data.EmployeeID #" />
</td>
<td class="details"> <span class="title">#: Title #</span>
<span class="description">Name : #: FirstName# #: LastName#</span>
<span class="description">Country : #: Country# </span></td>
<td class="employeeID">#: EmployeeID #</td></tr>
</script>
4 TreeView
4.1 创建Treeview
$("#treeview-sprites").kendoTreeView({
……
});
4.2 Treeview配置项
l dataSource : deptDataSource,//数据源
l dataTextField : "deptName",//显示文本字段
l dragAndDrop: true,//是否允许拖拽节点
l checkboxes : {checkChildren : true},//节点前显示复选框
4.3 TreeView数据源
Json格式[{deptId:1,childrenList:[{deptId:2,childrenList:[{....}]}]}]
schema : {
model : {
id : "deptId",
children : "childrenList",
hasChildren : function(item) {return item.childrenList.length != 0;
}}}
4.4 TreeView常用方法
//获取TreeView对象
var treeview = $("#treeview").data("kendoTreeView");
//根据文本查找节点
treeview.findByText("xxxx")
//展开节点(只能展开下一级)
treeview.expand(".k-item");
4.5 TreeView常见事件
//选择节点事件
select : function(e) {
var treeview=$('#treeviewsprites').data('kendoTreeView');
//获取选中节点的数据
var data = treeview.dataItem(e.node);
}
//绑定事件
dataBound : function(e) {
//展开所有节点
$('#treeview-sprites').data('kendoTreeView').expand(".k-item");
},
5 Window
5.1 创建Window
$("#window").kendoWindow({
…...
});
5.2 Window常用配置项
l width: "505px",
l height: "315px",
l title: "Rams's Ten Principles of Good Design",
l actions: ["Pin", "Refresh","Minimize","Maximize", "Close"]
//顶端按钮:固定钉、刷新、最小化、最大化、关闭
5.3 Window常用方法
//获取窗口对象
Var dialog = $("#dialog").data("kendo Window");
//居中显示
dialog.center();
//打开窗口
dialog.open();
//关闭窗口
dialog.close();
6 DropDownList
6.1 创建DropDownList
$("#ddlSex").kendoDropDownList({
……
})
6.2 DropDownList配置项
l dataSource:datasource//数据源
l dataTextField : "text",//显示文本字段
l dataValueField : "value"//值字段
6.3 DropDownList常用方法
//获取DropDownList对象
var ddl =("#ddlSex").data("kendoDropDownList");
//获取选中项的值
ddl.dataItem().value;
//赋值
ddl.value("……");
//设置选中的值
ddl.select(index)
5 Validator
5.1 创建Validator
$("#formId").kendoValidator({
……
});
注:验证的控件必须在<form>标签内
5.2 Validator配置项
l validateOnBlur: false//失去焦点时验证,默认值为true
l rules //自定义验证规则
rules: {customRule1: function(input) {
if (input.is("[name=username]")) {
return input.val() === "Tom";}
return true;},
customRule2: function(input) {……}
}
l messages //自定义验证消息
messages: {
customRule1: "Your UserName must be Tom",
customRule2: "All fields are required"
}
5.3 常用Validator
l 非空验证
<input type="text" name="fullname" id="fullname" required validationMessage="Please enter {0}" />
{0} 为 name属性的值
l 输入类型验证
<input type="tel" id="tel" pattern="\d{10}" required validationMessage="Please enter number"/>
Kendo UI 简单使用的更多相关文章
- kendo ui简介
Kendo UI Web包含所有创建高速HTML5 web app的必备元素:UI组件.数据源.验证.一个MVVM框架.主题.模板等等. 移动HTML5带UI的开发框架层出不穷,常见的有Sencha ...
- HTML5 Web app开发工具Kendo UI Web中如何绑定网格到远程数据
在前面的文章中对于Kendo UI中的Grid控件的一些基础的配置和使用做了一些介绍,本文来看看如何将Kendo UI 中的Grid网格控件绑定到远程数据. 众所周知Grid网格控件是用户界面的一个重 ...
- 集成 Kendo UI for Angular 2 控件
伴随着 Angular 2 的正式 release,Kendo UI for Angular 2 的第一批控件已经发布了,当前是 Beta 版本,免费使用. 官方站点:Kendo UI for Ang ...
- HTML5 UI框架Kendo UI Web中如何创建自定义组件(二)
在前面的文章<HTML5 UI框架Kendo UI Web自定义组件(一)>中,对在Kendo UI Web中如何创建自定义组件作出了一些基础讲解,下面将继续前面的内容. 使用一个数据源 ...
- Kendo UI for ASP.NET MVC 的一些使用经验(转)
转自 http://blog.csdn.net/dj2008/article/details/45313805 最近的项目里用到了Kendo UI.这货很好很强大,但可惜官方文档组织的并不是很好,有很 ...
- HTML5 Web app开发工具Kendo UI Web中Grid网格控件的使用
Kendo UI Web中的Grid控件不仅可以显示数据,并对数据提供了丰富的支持,包括分页.排序.分组.选择等,同时还有着大量的配置选项.使用Kendo DataSource组件,可以绑定到本地的J ...
- Kendo UI for Angular 2 控件
Kendo UI for Angular 2 控件 伴随着 Angular 2 的正式 release,Kendo UI for Angular 2 的第一批控件已经发布了,当前是 Beta 版本,免 ...
- Kendo UI开发教程(27): 移动应用开发简介
Kendo UI 支持开发Web应用,前面介绍的SPA,也支持开发移动应用,至于使用 HTML5 + JavaScript + CSS开发移动是不是一个好的选择不在本文的讨论之中.Kendo UI M ...
- Kendo UI开发教程(7): Kendo UI 模板概述
Kendo UI 框架提供了一个易用,高性能的JavaScript模板引擎.通过模板可以创建一个HTML片段然后可以和JavaScript数据合并成最终的HTML元素. Kendo 模板侧重于UI显示 ...
随机推荐
- css水平居中,竖直居中技巧(一)
css水平居中,竖直居中技巧(一)===### 1.效果 ### 2.代码#### 2.1.index.html <!DOCTYPE html> <html lang="z ...
- C++ 结构体的构造函数和析构函数
在C++中除了类中可以有构造函数和析构函数外,结构体中也可以包含构造函数和析构函数,这是因为结构体和类基本雷同,唯一区别是,类中成员变量默认为私有,而结构体中则为公有.注意,C++中的结构体是可以有析 ...
- 数字图像处理实验(6):PROJECT 04-02,Fourier Spectrum and Average Value 标签: 图像处理MATLABfft 2017-05-07 23:1
实验要求: Objective: To observe the Fourier spectrum by FFT and the average value of an image. Main requ ...
- head first 设计模式 策略模式
HEAD FIRST:策略模式定义了算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户. 设计模式:定义一系列的算法,把它们一个个封装起来,并且使它们可以相互替换.本 ...
- 1020C Elections
传送门 题目大意 现在有 n个人,m个党派,第i个人开始想把票投给党派pi,而如果想让他改变他的想法需要花费ci元.你现在是党派1,问你最少花多少钱使得你的党派得票数大于其它任意党派. 分析 我们枚举 ...
- Ryouko's Memory Note
题目意思:一个书有 n 页,每页的编号依次从 1 到 n 编排.如果从页 x 翻到页 y,那么|x-y|页都需要翻到(联系生活实际就很容易理解的了).接着有m pieces 的 information ...
- 23种计模式之Python实现(史上最全最通俗易懂)内容整改中
第一篇 Python与设计模式:前言 第二篇(23种设计模式) 创建类设计模式(5种) 单例模式.工厂模式.简单工厂模式.抽象工厂模式.建造者模式.原型模式 结构类设计模式(7种) 代理模式.装饰器模 ...
- Delphi和C#数据类型对应表
Delphi DataType C# datatype ansistring string boolean bool byte byte char char comp double currency ...
- [Algorithm]栈和队列
一.栈和队列综合(算法) 1.判断单链表(带头结点)的结点值(字符型)是否中心对称 1 bool IsSymmetry( LinkList& L ) 2 { 3 char S[MAXSIZE] ...
- VS2015无法创建C++工程解决方法!!
VS2015默认安装时候没有安装C++,如果安装C++没有选择全部C++项目,则无法创建C++工程,在控制面板里的删除程序中,选择VS2015,随后选择修改,把C++项目都选择上就可以了,这样安装完毕 ...