先看效果:

主要引用的文件:

<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的更多相关文章

  1. 使用C#三维绘图控件快速搭建DXF查看程序

    本例使用AnyCAD .Net三维图形控件快速实现一个DXF文件的读取.显示.导出JPG.PNG.PDF的应用. 代码: using System; using System.Collections. ...

  2. Expression Blend实例中文教程(4) - 布局控件快速入门Canvas

    上一篇,我介绍了Silverlight控件被分为三种类型, 第一类: Layout Controls(布局控件) 第二类: Item Controls (项目控件) 第三类: User Interac ...

  3. C# 中对WinForm窗体中的控件快速设置TableIndex次序

    点击“视图”--“Tab键顺序”,然后便可设置.

  4. Expression Blend实例中文教程(5) - 布局控件快速入门StackPanel,ScrollViewer和Border

    上一篇,介绍了Canvas布局控件在Blend中的使用.本篇继续介绍布局控件StackPanel,ScrollViewer和Border. 相对于Grid和Canvas来说,StackPanel,Sc ...

  5. Expression Blend实例中文教程(3) - 布局控件快速入门Grid

    上一篇对Blend 3开发界面进行了快速入门介绍,本篇将基于Blend 3介绍Silverlight控件.对于微软开发工具熟悉的朋友,相信您很快就熟悉Blend的开发界面和控件. XAML概述 Sil ...

  6. MFC的停靠窗口中插入对话框,在对话框中添加控件并做控件自适应

    单文档程序添加了停靠窗口后,可能会在停靠窗口中添加一些控件.在这里我的做法是在对话框上添加控件并布局,然后将这个对话框插入到停靠窗口中. 步骤 1.插入对话框,在对话框中放入控件(我的为树形控件),并 ...

  7. Expression Blend实例中文教程(6) - 项目控件和用户交互控件快速入门

    前文我们曾经描述过,微软把Silverlight控件大致分为三类: 第一类: Layout Controls(布局控件) 第二类: Item Controls (项目控件) 第三类: User Int ...

  8. 让您的WinForm控件快速支持拖拽文件

    实现原理:使用扩展方法. /// <summary> /// 控件扩展 /// </summary> public static class ControlExt { /// ...

  9. Swift轮播控件快速入门——FSPagerView

    2018年03月01日 19:17:42 https://blog.csdn.net/sinat_21886795/article/details/79416068 今天介绍一个IOS的轮播控件FSP ...

随机推荐

  1. Silverlight数据绑定之 绑定一个int类型的属性

    还就真心不会啊! 在类FunctionPanel中作如下定义: /// <summary> /// 鼠标状态 属性 /// </summary> public Dependen ...

  2. windows10 下使用Pycharm2016 基于Anaconda3 Python3.6 安装Mysql驱动总结

    本文记录:在PyCharm2016.3.3 中基于Anaconda3 Python3.6版本安装Python for Mysql驱动.尝试了安装Mysql-Connector成功,但是连接数据库时驱动 ...

  3. [译]使用NuGet管理共享代码

    原文 可以在内网部署自己的私人NuGet仓储服务. Setting it up 本例中我们创建一个发邮件的类,将其作为我们自己的NuGet包: using System; using System.N ...

  4. node.js 环境

    Centos 7.2 安装 Node.js 环境 Node.js 是运行在服务端的 JavaScript, 是基于 Chrome JavaScript V8 引擎建立的平台. 1. Node.js w ...

  5. Coursera, Deep Learning 1, Neural Networks and Deep Learning - week2, Neural Networks Basics

    Logistic regression Cost function for logistic regression Gradient Descent 接下来主要讲 Vectorization Logi ...

  6. Kaldi的nnet2 Component

    FixedAffineComponent:类 LDA-like 的非相关转换,由标准的 weight matrix plus bias 组成(即Wx+b),通过标准的 stochastic gradi ...

  7. python中前后端通信方法Ajax和ORM映射(form表单提交)

    后端从数据库获取数据给到前端: 第一种方式: admin.py文件代码: @admin.route('/showList') def show(): # 获取数据库所有文章数据,得到一个个对象 res ...

  8. nmap 使用总结

    nmap 网络探测工具 参考链接: https://nmap.org/man/zh/ http://www.360doc.com/content/18/0127/18/52402560_7255744 ...

  9. Android自定义控件三种方式

    1.组合原生控件(继承自ViewGroup.LinearLayout.FrameLayout.RelativeLayout等)   将原生空间做组合,自定义一些事件 2.自己绘制控件(继承自View) ...

  10. 安装mysql8.0.12以及修改密码和Navicat的连接

    mysql8.0+与安装其他版本不同一.安装mysql8.0.121.到官网https://www.mysql.com/  下载mysql-8.0.12-winx64.zip(不要.mis),直接解压 ...