[转]KendoUI系列:Grid
本文转自:http://www.cnblogs.com/libingql/p/3774879.html
1、基本使用
<div id="grid"></div>
<link href="@Url.Content("~/Content/kendo/2014.1.318/kendo.common.min.css")" rel="stylesheet" type="text/css" />
<link href="@Url.Content("~/Content/kendo/2014.1.318/kendo.default.min.css")" rel="stylesheet" type="text/css" />
<script src="@Url.Content("~/Scripts/kendo/2014.1.318/jquery.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/kendo/2014.1.318/kendo.web.min.js")" type="text/javascript"></script>
<script type="text/javascript">
$(function () {
$("#grid").kendoGrid({
dataSource: {
transport: {
dataType: "json",
read: "/Province/GetProvinceList"
},
pageSize: 10,
},
pageable: {
refresh: true,
pageSizes: true,
buttonCount: 5
},
columns: [{
field: "ProvinceID",
title: "省份ID",
width: 200
}, {
field: "ProvinceNo",
title: "省份编号"
}, {
field: "ProvinceName",
title: "省份名称"
}]
});
});
</script>
效果预览:
说明:pageSizes设置可选择每页显示的条数,buttonCount设置最多显示的页数,超出时则显示...。以上实现方式第一次从服务端加载出全部的数据,Kendo UI Grid进行客户端分页。
2、绑定本地数据
<div id="grid"></div>
<script type="text/javascript">
$(function () {
var provinces = [{ "ProvinceID": 1, "ProvinceNo": "110000", "ProvinceName": "北京市" }, { "ProvinceID": 2, "ProvinceNo": "120000", "ProvinceName": "天津市" }, { "ProvinceID": 3, "ProvinceNo": "130000", "ProvinceName": "河北省" }, { "ProvinceID": 4, "ProvinceNo": "140000", "ProvinceName": "山西省" }, { "ProvinceID": 5, "ProvinceNo": "150000", "ProvinceName": "内蒙古" }, { "ProvinceID": 6, "ProvinceNo": "210000", "ProvinceName": "辽宁省" }, { "ProvinceID": 7, "ProvinceNo": "220000", "ProvinceName": "吉林省" }, { "ProvinceID": 8, "ProvinceNo": "230000", "ProvinceName": "黑龙江" }, { "ProvinceID": 9, "ProvinceNo": "310000", "ProvinceName": "上海市" }, { "ProvinceID": 10, "ProvinceNo": "320000", "ProvinceName": "江苏省" }, { "ProvinceID": 11, "ProvinceNo": "330000", "ProvinceName": "浙江省" }, { "ProvinceID": 12, "ProvinceNo": "340000", "ProvinceName": "安徽省" }, { "ProvinceID": 13, "ProvinceNo": "350000", "ProvinceName": "福建省" }, { "ProvinceID": 14, "ProvinceNo": "360000", "ProvinceName": "江西省" }, { "ProvinceID": 15, "ProvinceNo": "370000", "ProvinceName": "山东省" }, { "ProvinceID": 16, "ProvinceNo": "410000", "ProvinceName": "河南省" }, { "ProvinceID": 17, "ProvinceNo": "420000", "ProvinceName": "湖北省" }, { "ProvinceID": 18, "ProvinceNo": "430000", "ProvinceName": "湖南省" }, { "ProvinceID": 19, "ProvinceNo": "440000", "ProvinceName": "广东省" }, { "ProvinceID": 20, "ProvinceNo": "450000", "ProvinceName": "广西" }, { "ProvinceID": 21, "ProvinceNo": "460000", "ProvinceName": "海南省" }, { "ProvinceID": 22, "ProvinceNo": "500000", "ProvinceName": "重庆市" }, { "ProvinceID": 23, "ProvinceNo": "510000", "ProvinceName": "四川省" }, { "ProvinceID": 24, "ProvinceNo": "520000", "ProvinceName": "贵州省" }, { "ProvinceID": 25, "ProvinceNo": "530000", "ProvinceName": "云南省" }, { "ProvinceID": 26, "ProvinceNo": "540000", "ProvinceName": "西藏" }, { "ProvinceID": 27, "ProvinceNo": "610000", "ProvinceName": "陕西省" }, { "ProvinceID": 28, "ProvinceNo": "620000", "ProvinceName": "甘肃省" }, { "ProvinceID": 29, "ProvinceNo": "630000", "ProvinceName": "青海省" }, { "ProvinceID": 30, "ProvinceNo": "640000", "ProvinceName": "宁夏" }, { "ProvinceID": 31, "ProvinceNo": "650000", "ProvinceName": "新疆" }, { "ProvinceID": 32, "ProvinceNo": "710000", "ProvinceName": "台湾省" }, { "ProvinceID": 33, "ProvinceNo": "810000", "ProvinceName": "香港" }, { "ProvinceID": 34, "ProvinceNo": "820000", "ProvinceName": "澳门" }]; $("#grid").kendoGrid({
dataSource: {
data: provinces,
schema: {
model: {
fields: {
ProvinceID: { type: "number" },
ProvinceNo: { type: "string" },
ProvinceName: { type: "string" }
}
}
},
pageSize: 10
},
pageable: {
input: true,
numeric: false,
messages: {
display: "{0} - {1} 共 {2} 条数据",
empty: "没有数据",
page: "页",
of: "/ {0}",
itemsPerPage: "条每页",
first: "第一页",
previous: "前一页",
next: "下一页",
last: "最后一页",
refresh: "刷新"
}
},
columns: [{
field: "ProvinceID",
title: "省份ID"
}, {
field: "ProvinceNo",
title: "省份编号"
}, {
field: "ProvinceName",
title: "省份名称"
}]
});
});
</script>
3、绑定远程数据
<div id="grid"></div>
<script type="text/javascript">
$(function () {
var dataSource = new kendo.data.DataSource({
transport: {
read: {
type: "post",
url: "/Province/GetProvincePagedList",
dataType: "json",
contentType: "application/json"
},
parameterMap: function (options, operation) {
if (operation == "read") {
var parameter = {
page: options.page,
pageSize: options.pageSize
};
return kendo.stringify(parameter);
}
}
},
batch: true,
pageSize: 10,
schema: {
data: function (d) {
return d.data;
},
total: function (d) {
return d.total;
}
},
serverPaging: true
}); $("#grid").kendoGrid({
dataSource: dataSource,
pageable: {
pageSizes: true,
buttonCount: 5,
messages: {
display: "显示{0}-{1}条,共{2}条",
empty: "没有数据",
page: "页",
of: "/ {0}",
itemsPerPage: "条/页",
first: "第一页",
previous: "前一页",
next: "下一页",
last: "最后一页",
refresh: "刷新"
}
},
columns: [{
field: "ProvinceID",
title: "省份ID",
width: 150
}, {
field: "ProvinceNo",
title: "省份编号"
}, {
field: "ProvinceName",
title: "省份名称"
}]
});
});
</script>
public ActionResult GetProvincePagedList(int page, int pageSize)
{
ctx.Configuration.ProxyCreationEnabled = false; return Json(new { data = ctx.Provinces.OrderBy(p => p.ProvinceID).Skip((page - 1) * pageSize).Take(pageSize), total = ctx.Provinces.Count() }, JsonRequestBehavior.AllowGet);
}
效果预览:
要点说明:
1>、dataSource中read的type一定要设置为post,不能为默认的get,否则服务端无法接收page及pageSize参数。
2>、dataSource中serverPaging需要设置为true,启动服务端分页。
[转]KendoUI系列:Grid的更多相关文章
- KendoUI系列:Grid
1.基本使用 <div id="grid"></div> <link href="@Url.Content("~/Content/ ...
- kendoui treeview grid spreadsheet
treeview 傻子方式获取id <!DOCTYPE html> <html> <head> <title>API</title> < ...
- KendoUI系列:Window
1.基本使用 <link href="@Url.Content("~/Content/kendo/2014.1.318/kendo.common.min.css") ...
- KendoUI系列:MultiSelect
1.基本使用 1>.创建Input <link href="@Url.Content("~/Content/kendo/2014.1.318/kendo.common. ...
- KendoUI系列:DatePicker
1.基本使用 <link href="@Url.Content("~/C ontent/kendo/2014.1.318/kendo.common.min.css" ...
- KendoUI系列:DropDownList
1.基本使用 1>.创建Input <input id="dropDownList" /> <link href="@Url.Content(&q ...
- 使用kendoui对grid指定行变色
关键点在于绑定数据源后进行判断,可直接获取当前绑定对象的属性 dataBound: function () { dataView = this.dataSource.view(); ; i < ...
- 中文版kendoUI API — Grid(一)
1.altRowTemplate 类型:Function | String 说明:提供表格行的交替模板,默认grid表格为每一个数据元素提供一个tr 注意:模板中最外层的html元素必须是<tr ...
- KendoUI系列:TreeView
1.加载本地数据 <link href="@Url.Content("~/Content/kendo/2014.1.318/kendo.common.min.css" ...
随机推荐
- TaggingJS – 可以灵活定制的 jQuery 标签系统插件
TaggingJS 是一款 jQuery 插件,用来创建高度可定制的前端标签系统.这款插件不到3KB ,支持主流浏览器.有几种方法来定制 TaggingJS 的默认行为:一是使用 custom_op ...
- Remodal – 支持 Hash 追踪的响应式模态窗口
Remodal 是一个扁平化,响应式,轻量而且容易定制的模态窗口插件,支持使用声明状态和 Hash 跟踪.您可以轻松地定义为模态弹窗定义背景景容器(如模糊效果).支持所有现代的浏览器. 您可能感兴趣的 ...
- ubuntu下cacti安装配置
参考文献 http://kling.blog.51cto.com/3320545/1180778 前言: 原本是想源码安装的,但是现在发现还是太麻烦了,就直接通过apt-get install安装了. ...
- Ioc Autofac心得
对于这个容器注入,个人也不是很熟悉,很多还不懂,只会基本的操作,几天把它记录下来,说不定以后帮助就大了呢,这方面跟安卓差距还是挺大的 下面记录下应用的流程 步骤: 1.添加应用 2.重写工厂(这里讲的 ...
- 微信小程序如何设置开发者和体验者
微信小程序需要在后台添加开发者和体验者 开发者:增加开发人员的,开发人员添加后,可上传代码,最多10个人,可以删除 体验者:添加为体验者,管理员发布体验版本后,通过扫码二维码可以下载体验版小程序,最多 ...
- <转>iOS应用程序内使用IAP/StoreKit付费、沙盒(SandBox)测试、创建测试账号流程!
原文地址:http://blog.csdn.net/xiaominghimi/article/details/6937097 //——2012-12-11日更新 获取"产品付费数量等于0 ...
- Object-c字符串操作
字符串操作: -(void) testString{ NSString *str1 = @"some string"; NSLog(@"%@", str1); ...
- 【代码笔记】iOS-给UIImageView加上圆角效果
一,效果图. 二,代码. RootViewController.m #import "RootViewController.h" @interface RootViewContro ...
- 【Android】用HandlerThread模拟AsyncTask功能(ThreadTask)
前言 AsyncTask是个好东西,能处理绝大多数应用线程和更新UI的任务,由于其内部使用了静态线程池,如果你有一堆异步任务(例如全局定时更新数据.同一个Activity中多个AsyncTask同时执 ...
- C++语言-09-多任务
概述 概念 计算机同时运行多个程序的能力,多任务处理的方法是:运行第一个程序的一段代码,保存工作环境:再运行第二个程序的一段代码,保存工作环境:--恢复第一个程序的工作环境,执行第一个程序的下一段代码 ...