KendoUI Grid 相关问题详解(不定时更新版)

  1. 数据校验,加载数据时若数据不正确则改变字体颜色
    验证数据正确性
    具体代码如下:
$("#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"
		},
	});	
  1. 数据校验,新建数据点击保存时进行验证保存时验证数据是否为空
    具体代码:
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
	});
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值