- 数据校验,加载数据时若数据不正确则改变字体颜色
具体代码如下:
$("#gridReport").kendoGrid({
dataSource: dataSource,
selectable: "row",
resizable:true,
columns:[
{title:" ", template: '<input type="checkbox" #= isSelect ? \'checked="checked"\' : "" # class="checkbox"/>',width:"10px"},
{title: "序号", field: "index",width:"20px", headerAttributes: {style:"text-align: center;"}, attributes: {style:"text-align: center;"},},
{field: "qrCode", width:'50px', title:"二维码",template:function (dateItem){
var uid = dateItem.uid;
if (dateItem.wtcId === dateItem.qrCodeStr){
return "<span>" + dateItem.qrCode + "</span>"
}else{
return "<span style='color: #FB6D17'>" + dateItem.qrCode + "</span>"
}
}},
{field: "wtcId", title:"wtcId", hidden:true},
{field: "qrCodeStr", title:"qrCodeStr", hidden:true}
],
messages: _messages,
editable: {
mode: "inline"
},
});
- 数据校验,新建数据点击保存时进行验证
具体代码:
var dataSource = new kendo.data.DataSource({
transport: {
read: function (options) {
... ...
},
create: function (options) {
var dataMap= [];
for (var i = 0; i < options.data.models.length; i++) {
dataMap[i] = options.data.models[i];
dataMap[i].detailHeadId = detailHeadId;
if(!dataMap[i].paramId||dataMap[i].paramId.trim()==""){
DMSDialog.alert("提示", "参数不能为空");
return;
}
}
... ...
},
update: function (options) {
var dataMap= [];
for (var i = 0; i < options.data.models.length; i++) {
dataMap[i] = options.data.models[i];
dataMap[i].detailHeadId = detailHeadId;
if(!dataMap[i].paramId||dataMap[i].paramId.trim()==""){
DMSDialog.alert("提示", "参数不能为空");
return;
}
}
... ...
},
destroy : function(options) {
options.success(true);
}
} ,
batch : true,
page: 1,
pageSize: 20,
schema: {
data: function (d) {
return d.data;
},
total: function (d) {
return d.total;
},
model: { id: "id",
fields: {
paramId:{},
autoValue:{defaultValue:"3",editable:true,type:"number"},
deltaValue:{editable:true,type:"number"},
isEffective:{defaultValue:"1",editable:true,type:"number"}
}
}
},
serverPaging: true,
serverFiltering: true,
serverSorting: true
});
$("#codeValueRelationalGrid").kendoGrid({
dataSource:dataSource,
selectable: "row",
resizable:true,
columns:[
{field: "id", title: "id",hidden : true},
{field: "detailHeadId", title: "detailHeadId",hidden : true},
{field: "paramId", title: "参数<span style='color:red;'>*</span>",values:paramList},
{field: "autoValue", title: "自动开关",width:120,values:figures},
{field: "deltaValue", title: "调整值<span style='color:red;'>*</span>",width:80,format:"{0:0.##}"},
{field: "isEffective", title: "是否启用<span style='color:red;'>*</span>",values:isEffective},
],
pageable: _pageable,
messages: _messages,
editable:"incell",
save: function(e){
},
edit:function(e){
},
change:function(){}
});
当然,这种方法不止适用于验证数据是否为空,也可以验证数据填写是否正确
var dataSource = new kendo.data.DataSource({
transport: {
read: function (options) {
... ...
},
create: function (options) {
var dataMap= [];
for (var i = 0; i < options.data.models.length; i++) {
dataMap[i] = options.data.models[i];
dataMap[i].bodyId =bodyId;
if(!dataMap[i].holdTimeType||dataMap[i].holdTimeType.trim()==""){
DMSDialog.alert("提示", "保压时间类型不能为空");
return;
}
if(dataMap[i].holdTimeType=="3"&&dataMap[i].holdTime!="0"){
DMSDialog.alert("提示", "保压时间类型为原值时,请将保压时间设置为0");
return;
}
}
... ...
},
update: function (options) {
var dataMap= [];
for (var i = 0; i < options.data.models.length; i++) {
dataMap[i] = options.data.models[i];
dataMap[i].bodyId =bodyId;
if(!dataMap[i].holdTimeType||dataMap[i].holdTimeType.trim()==""){
DMSDialog.alert("提示", "保压时间类型不能为空");
return;
}
if(dataMap[i].holdTimeType=="3"&&dataMap[i].holdTime!="0"){
DMSDialog.alert("提示", "保压时间类型为原值时,请将保压时间设置为0");
return;
}
}
... ...
},
destroy : function(options) {
options.success(true);
}
} ,
batch : true,
page: 1,
pageSize: 20,
schema: {
data: function (d) {
return d.data;
},
total: function (d) {
return d.total;
},
model: { id: "id",
fields: {
excuteTime:{defaultValue:"START"},
excuteNum:{defaultValue:"1",editable:true,type:"number"},
holdTimeType:{defaultValue:""},
holdTime:{defaultValue:"-1",editable:true,type:"number"},
coolTime:{defaultValue:"-1",editable:true,type:"number"},
isEffective:{defaultValue:"1",editable:true,type:"number"}
}
}
},
serverPaging: true,
serverFiltering: true,
serverSorting: true
});