以下代码是7级联动效果
代码
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@include file="/static/common/ace14commonJsForKendo.jsp"%>
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<script id="gridbar" type="text/x-kendo-template">
<div id="gridmenu" style="float:left;margin-right:3px;margin-top:2px;">
<form id="searchform">
关键字:<input type="text" id="s_demo_title" name="GCMC" class="k-textbox" />
<button type="button" id="btnSearch" class="k-button search_btn_css"><span class="k-icon k-i-search"></span> 查询</button>
</form>
</div>
<div id="operate" style="float:left;margin-right:3px;margin-top:2px;">
<button id="btnAdd" class="k-button k-buyem datton-icontext k-notification-warning ml-1 k-grid-add add_btn_css">
<span class="k-icon k-i-plus"></span> 新增</button>
<button id="btnSubmit" class="k-grid-save-changes" style="display: none;">真正保存按钮</button>
<button id="btnEdit" class="k-button k-button-icontext edit_btn_css">
<span class="k-icon k-i-check"></span> 保存</button>
<%-- <button id="btnDelete" class="k-button k-button-icontext k-grid-cancel-changes del_btn_css">--%>
<%-- <span class="k-icon k-i-cancel"></span> 撤销</button>--%>
</div>
</script>
<div id="grid"></div>
<script>
$(document).ready(function () {
var grid=null;
var crudServiceBaseUrl = "<%=basePath%>",
dataSource = new kendo.data.DataSource({
transport: {
read: function (options) {
options.data.gysmc=$("#s_demo_title").val();
readItem(options, '<%=basePath%>WzCgsqmx/ajaxWzCgsqmxForRowEditList');
},
create: function (options) { createItem(options, '<%=basePath%>/WzCgsqmx/ajaxSaveWzCgsqmxForRow') },
update: function (options) { updateItem(options, '<%=basePath%>/WzCgsqmx/ajaxSaveWzCgsqmxForRow') },
//destroy: function (options) { destroyItem(options, '<%=basePath%>/xmJbxx/ajaxDelxmJbxxForRow') },
},
//batch: true,
pageSize: 100,
schema: {
model: {
id: "PKID",
fields: {
rowNumber:{editable: false, nullable: true},
PKID: {editable: false, nullable: true},
//WLBM: {validation: {required: true}}
}
}
}
});
grid = $("#grid").kendoGrid({
dataSource: dataSource,
navigatable: true,
pageable: true,
//height: 550,
toolbar: [
{ template: kendo.template($("#gridbar").html()) } //头部按钮 template: 绑定模板
],
//serverFiltering: true,//支持查询功能
//serverGrouping: true,
reorderable: true,
serverSorting: true,
// filterable: true,
headerCenter: true,
rowNumber: true,
srollable: true,
//columnMenu: true,//当设置成true,通过点击列投的图标Grid将显示列菜单。列菜单允许用户控制显示或者关闭列,过滤和排序(当过滤和排序被允许)。默认情况列菜单不被允许。
serverPaging: true,
//sortable: true,
// sortable: {
// mode: "multiple"
// },
resizable: true,
pageable: {
refresh: true,
//pageSizes: true,
buttonCount: 5,
page: 1,
//pageSize: 100,
pageSizes: ['all',100, 200, 300],
messages: {
display: "显示 {0}-{1} 共 {2} 项",
empty: "没有数据",
itemsPerPage: "每面显示数量",
first: "第一页",
last: "最后一页",
next: "下一页",
previous: "上一页"
}
},
columns: [
{ field: "PKID", title: "PKID", width: "300px", hidden:true},
{ field: "CLYT", title: "工程ID", width: "300px", hidden:true},
{ field: "GCMC", title: "工程名称", width: "300px",
//列标题居中
headerAttributes: {"class": "table-header-cell",style: "text-align:left;"},
//列数据居左
attributes: {style: "text-align:left"},
//列数据过长时,不换行,简略为 " ... "
attributes: {style: "white-space:nowrap;text-overflow:ellipsis;"},
editor: function (container, options) {
var curData = options.model;
$('<input name="GCMC" data-bind="value: '+ options.field +'">')
.appendTo(container)
.kendoMultiColumnComboBox({
dataSource: {
serverFiltering: true,
transport: {
read: function (options) {
if(options.data.filter.filters.length==0){
options.success({data:[]});
return;
}
if(options.data.filter.filters[0].value!=''){
$.post('<%=basePath%>xmJbxx/ajaxGetXmJbxxByName',{q:options.data.filter.filters[0].value},function(res){
options.success(res);
});
}
}
},
schema: {
data: 'data'
}
},
columns: [
//{ field: 'PKID', title: 'PKID',width:100, hidden:true },
{ field: 'XMID', title: '项目编号',width:120 },
{ field: 'GCMC', title: '工程名称',width:300 }
],
dataValueField: 'GCMC',
dataTextField: 'GCMC',
filter: "contains",
autoBind: false,
minLength: 1,
select:function(options){
curData.CLYT =options.dataItem.PKID;
},
close: function (optins) {
$("#grid").data("kendoGrid").refresh();
}
});
}
},
//{ command: "destroy", title: " ", width: 150 }
{ field: "WLGGID", title: "物料大类ID", width: "150px",hidden:true},
{ field: "WLGGMC", title: "物料大类", width: "150px"
,editor: function (container, options) {
//获取grid表格的某一行
//var rowData1 = grid.dataSource.at(indexS);
//设置某列的新值
//rowData1.set("connect","OK");
//当前的数据
var curData = options.model;
//下级清空测试
curData.WLBM ="";
curData.WLMC ="";
curData.GGXH ="";
curData.WLMCGGXH ="";
curData.JSYQ ="";
curData.WLMCJSYQ="";
curData.CZ ="";
curData.WLMCCZ="";
curData.DW ="";
curData.WLMCDW="";
$('<select name="WLGGMC" data-bind="value: '+ options.field +'"></select>')
.appendTo(container)
.kendoMultiColumnComboBox({
dataSource: {
transport: {
read: function (options) {
$.post("<%=basePath%>Wzjc/ajaxGetWzjcFlList?sslb=0",function(data){
options.success(data);
});
}
},
schema: {
data: 'data'
}
},
optionLabel: '-= 请选择 =-',
dataValueField: 'WLMC',
dataTextField: 'WLMC',
filter: 'contains',
delay: 30,
minLength: 1,
enforceMinLength: true,
select:function(options){
curData.WLGGID =options.dataItem.WLBM;
},
close: function (optins) {
$("#grid").data("kendoGrid").refresh();
}
});
}},
{ field: "WLBM", title: "物料名称ID", width: "150px",hidden:true},
{ field: "WLMC", title: "物料名称", width: "150px"
,editor: function (container, options) {
//一级编码 curData.="";
var curData = options.model;
curData.GGXH ="";
curData.WLMCGGXH ="";
curData.JSYQ ="";
curData.WLMCJSYQ="";
curData.CZ ="";
curData.WLMCCZ="";
curData.DW ="";
curData.WLMCDW="";
var yjCode=curData.WLGGID;
$('<select name="WLMC" data-bind="value: '+ options.field +'"></select>')
.appendTo(container)
.kendoMultiColumnComboBox({ //.kendoDropDownList({
dataSource: {
transport: {
read: function (options) {
$.post("<%=basePath%>Wzjc/ajaxGetWzjcFlList?sslb="+yjCode,function(data){
options.success(data);
});
}
},
schema: {
data: 'data'
}
},
optionLabel: '-= 请选择 =-',
dataValueField: 'WLMC',
dataTextField: 'WLMC',
filter: 'contains',
delay: 30,
minLength: 1,
enforceMinLength: true,
select:function(options){
curData.WLBM =options.dataItem.WLBM;
},
close: function (optins) {
$("#grid").data("kendoGrid").refresh();
}
});
}
},
{ field: "GGXH", title: "规格型号ID", width: "150px",hidden:true},
{ field: "WLMCGGXH", title: "规格型号", width: "150px"
,editor: function (container, options) {
//一级编码 curData.="";
var curData = options.model;
var ejCode=curData.WLBM;
$('<select name="WLMCGGXH" data-bind="value: '+ options.field +'"></select>')
.appendTo(container)
.kendoMultiColumnComboBox({ //.kendoDropDownList({
dataSource: {
transport: {
read: function (options) {
debugger;
$.post("<%=basePath%>Wlfl/ajaxGetWlflByWlbm?lb=GGXH&wlbm="+ejCode,function(data){
debugger;
options.success(data);
});
}
},
schema: {
data: 'data'
}
},
optionLabel: '-= 请选择 =-',
dataValueField: 'WLMC',
dataTextField: 'WLMC',
filter: 'contains',
delay: 30,
minLength: 1,
enforceMinLength: true,
select:function(options){
curData.WLMCGGXH =options.dataItem.WLBM;
},
close: function (optins) {
$("#grid").data("kendoGrid").refresh();
}
});
}
},
{ field: "JSYQ", title: "技术要求ID", width: "150px",hidden:true},
{ field: "WLMCJSYQ", title: "技术要求", width: "150px"
,editor: function (container, options) {
//一级编码 curData.="";
var curData = options.model;
var ejCode=curData.WLBM;
$('<select name="WLMCJSYQ " data-bind="value: '+ options.field +'"></select>')
.appendTo(container)
.kendoMultiColumnComboBox({ //.kendoDropDownList({
dataSource: {
transport: {
read: function (options) {
debugger;
$.post("<%=basePath%>Wlfl/ajaxGetWlflByWlbm?lb=JSYQ&wlbm="+ejCode,function(data){
debugger;
options.success(data);
});
}
},
schema: {
data: 'data'
}
},
optionLabel: '-= 请选择 =-',
dataValueField: 'WLMC',
dataTextField: 'WLMC',
filter: 'contains',
delay: 30,
minLength: 1,
enforceMinLength: true,
select:function(options){
curData.WLMCJSYQ =options.dataItem.WLBM;
},
close: function (optins) {
$("#grid").data("kendoGrid").refresh();
}
});
}
},
{ field: "CZ", title: "单位ID", width: "150px",hidden:true},
{ field: "WLMCCZ", title: "单位", width: "150px"
,editor: function (container, options) {
//一级编码 curData.="";
var curData = options.model;
var ejCode=curData.WLBM;
$('<select name="WLMCCZ" data-bind="value: '+ options.field +'"></select>')
.appendTo(container)
.kendoMultiColumnComboBox({ //.kendoDropDownList({
dataSource: {
transport: {
read: function (options) {
debugger;
$.post("<%=basePath%>Wlfl/ajaxGetWlflByWlbm?lb=DW&wlbm="+ejCode,function(data){
debugger;
options.success(data);
});
}
},
schema: {
data: 'data'
}
},
optionLabel: '-= 请选择 =-',
dataValueField: 'WLMC',
dataTextField: 'WLMC',
filter: 'contains',
delay: 30,
minLength: 1,
enforceMinLength: true,
select:function(options){
curData.WLMCCZ =options.dataItem.WLBM;
},
close: function (optins) {
$("#grid").data("kendoGrid").refresh();
}
});
}
},
{ field: "DW", title: "材质ID", width: "150px",hidden:true},
{ field: "WLMCDW", title: "材质", width: "150px"
,editor: function (container, options) {
//一级编码 curData.="";
var curData = options.model;
var ejCode=curData.WLBM;
$('<select name="WLMCDW" data-bind="value: '+ options.field +'"></select>')
.appendTo(container)
.kendoMultiColumnComboBox({ //.kendoDropDownList({
dataSource: {
transport: {
read: function (options) {
debugger; //ejCode能不能别写这样的啊,我看不懂啊
$.post("<%=basePath%>Wlfl/ajaxGetWlflByWlbm?lb=CZ&wlbm="+ejCode,function(data){
debugger;
options.success(data);
});
}
},
schema: {
data: 'data'
}
},
optionLabel: '-= 请选择 =-',
dataValueField: 'WLMC',
dataTextField: 'WLMC',
filter: 'contains',
delay: 30,
minLength: 1,
enforceMinLength: true,
select:function(options){
curData.WLMCDW =options.dataItem.WLBM;
},
close: function (optins) {
$("#grid").data("kendoGrid").refresh();
}
});
}
},
{ title: '操作', width: '100px',
command: [
{ name: 'del', text: '删除',
iconClass: 'k-icon k-i-close',
click: function (e) {
e.preventDefault();
var gd =$('#grid').data('kendoGrid');
var delRow=$(e.target).closest('tr');
var row=this.dataItem(delRow);
if(row.isNew()){
gd.removeRow(delRow,true);
return;
}
if(confirm("确定删除?")==false){
return false;
}
var newJson = JSON.parse(JSON.stringify(row));
delItem({ids:newJson.PKID}, '<%=basePath%>/xmJbxx/ajaxDelxmJbxxForRow',function(){
gd.removeRow(delRow,true);
});
}
}
]
},
],dataBound: function () {
var rows = this.items();
var page = this.pager.page() - 1;
var pagesize = this.pager.pageSize();
$(rows).each(function () {
var index = $(this).index() + 1 + page * pagesize;
var rowLabel = $(this).find(".row-number");
$(rowLabel).html(index);
});
},editable: true,
dataBound: function (e) {
var items = e.sender.items();
for (var i = 0; i < items.length; i++) {
var dataItem = e.sender.dataItem(items[i]);
if (dataItem.isNew() && dataItem.GCMC ==null) {
dataItem.GCMC ="";
dataItem.WLGGID ="";
dataItem.WLGGMC ="";
dataItem.CLYT="";
dataItem.WLMC ="";
dataItem.WLBM ="";
dataItem.GGXH ="";
dataItem.WLMCGGXH ="";
dataItem.JSYQ ="";
dataItem.WLMCJSYQ="";
dataItem.CZ ="";
dataItem.WLMCCZ="";
dataItem.DW ="";
dataItem.WLMCDW="";
dataItem.WLBM ="";
dataItem.WLMC ="";
}
}
}
});
$("#btnSearch").click(function () {
$('#grid').data('kendoGrid').dataSource.page(1);
$('#grid').data('kendoGrid').dataSource.read();
});
$("#btnEdit").click(function () {
var addData = $('#grid').data('kendoGrid').dataSource.data();
var flag=true;
var msg="";
for (var i=0;i<addData.length;i++){
var item =addData[i];
if(item.isNew()==false){
continue;
}
if(item.GCMC==null || $.trim(item.GCMC)==""){
msg="第"+(i+1)+"行第工程名称不能为空";
flag=false;
break;
}
}
if(flag==false){
alertMsg(msg, 'warning');
return;
}
$("#btnSubmit").click();
});
});
</script>
</body>
</html>