用KendoGrid控件 快速做CRUD
先看效果:
主要引用的文件:
<link href="/css/kendo/2014.1.318/kendo.common.min.css" rel="stylesheet" />
<link href="/css/kendo/2014.1.318/kendo.default.min.css" rel="stylesheet" />
<link href="/css/kendo/2014.1.318/kendo.rtl.min.css" rel="stylesheet" />
<script src="/js/kendo/2014.1.318/kendo.web.min.js"></script>
前台代码:
<div class="wrapper">
<input type="text" id="name" name="name" class="k-textbox" style="width: 200px;">
<a id="search" href="javascript:void(0);">查询</a>
<div id="userGrid"></div>
function InitKendoGrid(id, calulateListData) {
var datajson = null;
if (calulateListData == null) {
datajson = ds;
} else {
for (var i = ; i < calulateListData.length; i++) {
calulateListData[i].unit_id = GetunitnamebuID(calulateListData[i].unit_id);
}
datajson = calulateListData;
}
var ds = new kendo.data.DataSource({
//transport: {
// read: {
// //url: '/api/industry/GetList',
// //type: 'post',
// //dataType: 'json',
// //contentType: 'application/json; charset=utf-8',
// //headers: {
// // "Authorization": "Basic " + btoa("admin" + ":" + "698d51a19d8a121ce581499d7b701668")
// //}
// },
// update: {
// //url: "/api/industry/Update",
// //type: "POST",
// //dataType: "json",
// //headers: {
// // "Authorization": "Basic " + btoa("admin" + ":" + "698d51a19d8a121ce581499d7b701668")
// //}
// },
// destroy: {
// //url: "/api/industry/Delete",
// //type: "POST",
// //dataType: "json",
// //headers: {
// // "Authorization": "Basic " + btoa("admin" + ":" + "698d51a19d8a121ce581499d7b701668")
// //}
// },
// create: {
// //url: "/api/industry/Add",
// //type: "POST",
// //dataType: "json",
// //headers: {
// // "Authorization": "Basic " + btoa("admin" + ":" + "698d51a19d8a121ce581499d7b701668")
// //}
// } // , parameterMap: function (options, operation) {
// if (operation !== "read" && options.models) {
// if (options.models.name != "") {
// return { models: kendo.stringify(options.models) };
// } // } // if (operation == "read") {
// var param = {
// pageIndex: options.page,
// pageSize: options.pageSize
// };
// return kendo.stringify(param);
// } else {
// return options;
// }
// } //},
//requestEnd: function (e) {
// if (e.type != 'read') {
// this.read();
// } //},
data: datajson, //数据源
//editable: true,
pageSize: ,
//serverPaging: true,
schema: {
data: function (d) {
return d; //响应到页面的数据
},
total: function (d) {
return d.length; //总条数
},
model: {
id: "id",
fields: {
min_limit: { editable: true, type: "string" },
max_limit: { editable: true, type: "string" },
min_val: { editable: true, type: "string" },
max_val: { editable: true, type: "string" },
unit_id: { editable: true, type: "string" },
is_interval_value: { editable: true, type: "boolean" }
}
}
}
}); var yy = $("#userGrid" + id).kendoGrid({
dataSource: ds,
persistSelection: true,
groupable: false,
sortable: true,
toolbar: ["create"], editable: {
//confirmation: "确认删除?",
//bulk editing
mode: "incell"
},
scrollable: false, columns: [{
field: "min_limit",
title: "最小限制"
}, {
field: "max_limit",
title: "最大限制"
}, {
field: "min_val",
title: "最小值",
}, {
field: "max_val",
title: "最大值",
},
{
field: "unit_id",
title: "单位", //checkbox
editor: function (container, options) {
$("<select name='" + options.field + "' id='selunit' class='testIds' >'" + strUnit + "'</select>").appendTo(container);
},
},{
field: "is_interval_value",
title: "是否区间值", //checkbox
template: '# if(is_interval_value) {# 是 #} else {# 否 #} #',
}
, { // 这个控件默认删除图标是X 在这可以自定义删除图标
command: { name: "destroy", template: "<a class='k-button k-grid-delete' href='' style='min-width:16px;background-color:red;color:white'><span class=' fa fa-trash-o'></span></a>"},
//template: "<a class='k-button k-grid-delete' href='' style='min-width:16px;background-color:red;'><span class=' fa fa-trash-o'></span></a>",
title: "操作", }],
pageable: {
pageSizes: true,
buttonCount: ,
messages: {
display: "显示{0}-{1}条,共{2}条",
empty: "没有数据",
page: "页",
of: "/ {0}",
itemsPerPage: "条/页",
first: "第一页",
previous: "前一页",
next: "下一页",
last: "最后一页",
refresh: true
}
}
})
} $("#search").click(function () {
var name = $("#name").val();
if (name != "") {
yy.data("kendoGrid").dataSource.filter([
{ field: "name", value: name }
]);
} }); </div>
//所有单位
function Allunit(id)
{
var params = {};
var url = "/api/unit/GetAllList";
asyncGet(url, params, function (data) {
if (!data.status) {
return;
}
if (data.data == null) {
layer.msg("暂无数据", { icon: , time: });
return;
}
if (data.data != null) {
for (var i = ; i < data.data.length; i++) {
if (data.data.id == id) {
strUnit += "<option selected='selected' value=" + data.data[i].name + ">" + data.data[i].name + "</option>"
} else {
strUnit += "<option value=" + data.data[i].name + ">" + data.data[i].name + "</option>"
}
allunitarr.push({
id: data.data[i].id,
name: data.data[i].name
});
}
}
}); //ajax
}
用KendoGrid控件 快速做CRUD的更多相关文章
- 使用C#三维绘图控件快速搭建DXF查看程序
本例使用AnyCAD .Net三维图形控件快速实现一个DXF文件的读取.显示.导出JPG.PNG.PDF的应用. 代码: using System; using System.Collections. ...
- Expression Blend实例中文教程(4) - 布局控件快速入门Canvas
上一篇,我介绍了Silverlight控件被分为三种类型, 第一类: Layout Controls(布局控件) 第二类: Item Controls (项目控件) 第三类: User Interac ...
- C# 中对WinForm窗体中的控件快速设置TableIndex次序
点击“视图”--“Tab键顺序”,然后便可设置.
- Expression Blend实例中文教程(5) - 布局控件快速入门StackPanel,ScrollViewer和Border
上一篇,介绍了Canvas布局控件在Blend中的使用.本篇继续介绍布局控件StackPanel,ScrollViewer和Border. 相对于Grid和Canvas来说,StackPanel,Sc ...
- Expression Blend实例中文教程(3) - 布局控件快速入门Grid
上一篇对Blend 3开发界面进行了快速入门介绍,本篇将基于Blend 3介绍Silverlight控件.对于微软开发工具熟悉的朋友,相信您很快就熟悉Blend的开发界面和控件. XAML概述 Sil ...
- MFC的停靠窗口中插入对话框,在对话框中添加控件并做控件自适应
单文档程序添加了停靠窗口后,可能会在停靠窗口中添加一些控件.在这里我的做法是在对话框上添加控件并布局,然后将这个对话框插入到停靠窗口中. 步骤 1.插入对话框,在对话框中放入控件(我的为树形控件),并 ...
- Expression Blend实例中文教程(6) - 项目控件和用户交互控件快速入门
前文我们曾经描述过,微软把Silverlight控件大致分为三类: 第一类: Layout Controls(布局控件) 第二类: Item Controls (项目控件) 第三类: User Int ...
- 让您的WinForm控件快速支持拖拽文件
实现原理:使用扩展方法. /// <summary> /// 控件扩展 /// </summary> public static class ControlExt { /// ...
- Swift轮播控件快速入门——FSPagerView
2018年03月01日 19:17:42 https://blog.csdn.net/sinat_21886795/article/details/79416068 今天介绍一个IOS的轮播控件FSP ...
随机推荐
- 32. Springboot 系列(八)动态Banner与图片转字符图案的手动实现
使用过 Springboot 的对上面这个图案肯定不会陌生,Springboot 启动的同时会打印上面的图案,并带有版本号.查看官方文档可以找到关于 banner 的描述 The banner tha ...
- docker搭建lnmp环境
1.搭建lnmp网站平台 1.创建mysql数据库容器 docker run -it -d --name lnmp_mysql -p 3308:3306 -e MYSQL_ROOT_PASSWORD= ...
- CSRF与SSRF区别
CSRF 攻击者盗用了你的身份,以你的名义发送恶意请求.CSRF能够做的事情包括:以你的名义发送邮件,发消息,盗用你的账号,甚至于购买商品,虚拟货币转账... 发生条件: 1.登录受信任网站A,并在本 ...
- 对XML文件进行的修改
XmlDocument xml = new XmlDocument(); xml.Load(Way);//获取相对路径 var Exports = xml.GetElementsByTagName(& ...
- CDH安装报错 Monitor-HostMonitor throttling_logger ERROR ntpq: ntpq -np: not synchronized to any server
1 没有安装ntp同步服务 所有机器统一时区,确认所有机器配置一致 vim /etc/sysconfig/clock ntp服务器配置 ln -sf /usr/share/zoneinfo/Asia ...
- MD5加密文件
package cn.net.comsys.ut.util; import java.io.File;import java.io.FileInputStream;import java.io.IOE ...
- 【tmos】使用joda-time来个格式化时间
代码 @Test public void test(){ DateTime dateTime = new DateTime(); String str = dateTime.toString(&quo ...
- constraintLayout的一些高级用法 布局一个16:9的图片 以及GuideLine的使用
<!-- "W,9:16" 同样的效果 --> <ImageView android:layout_width="0dp" android:l ...
- LR的损失函数&为何使用-log损失函数而非平方损失函数
https://blog.csdn.net/zrh_CSDN/article/details/80934278 Logistic回归的极大似然估计求解参数的推导: https://blog.csdn. ...
- vue购物车实战项02
1.数据循环.绑定 v- 绑定的属性 都是变量 ( 小程序这块需要花括号 不同点) 2.列表点击 当绑定变量为一个对象的时候{} 属性根据里面的属性值 bool 值 是否返回 当前的属性 转化成cl ...