docs: function(options){
  		var rows = this.grid.dataSourceObj.rows,
  			gridColumnArr = this.grid.gridCompColumnArr,
  			passed = true,
  			MsgArr = new Array(),
  			evalStr = '',
  			rowMsg = '',
  			wholeMsg = '',
  			columnShowMsg = '';
  
  		// 遍历所有列
  		for(var j = 0; j < gridColumnArr.length;j++){
  			// 遍历所有行
  			var column = gridColumnArr[j],
  				columnOptions = gridColumnArr[j].options,
  				field = columnOptions.field,
  				title = columnOptions.title,
  				required = columnOptions.required,
  				validType = columnOptions.editOptions.validType,
  				placement = columnOptions.editOptions.placement,
  				tipId = columnOptions.editOptions.tipId,
  				errorMsg = columnOptions.editOptions.errorMsg,
  				nullMsg = columnOptions.editOptions.nullMsg,
                  maxLength = columnOptions.editOptions.maxLength,
                  minLength = columnOptions.editOptions.minLength,
                  max = columnOptions.editOptions.max,
                  min = columnOptions.editOptions.min,
                  maxNotEq = columnOptions.editOptions.maxNotEq,
                  minNotEq = columnOptions.editOptions.minNotEq,
                  reg = columnOptions.editOptions.regExp,
                  columnPassedFlag = true,
                  columnMsg = '';
              var validate = new u.Validate({
              	el:this.element,
                  single: true,
                  required: required,
                  validType: validType,
                  placement: placement,
                  tipId: tipId,
                  errorMsg: errorMsg,
                  nullMsg: nullMsg,
                  maxLength: maxLength,
                  minLength: minLength,
                  max: max,
                  min: min,
                  maxNotEq: maxNotEq,
                  minNotEq: minNotEq,
                  reg: reg
          	});
  			for (var i = 0; i < rows.length; i++) {
  				var value = rows[i].value[field];
              	var result = validate.check({pValue:value,showMsg:false});
              	passed = result.passed && passed;
              	if(!result.passed){
              		columnPassedFlag = false;
              		if(options.showMsg && columnMsg.indexOf(result.Msg) < 0){
              			columnMsg += result.Msg + ' ';
              		}
              		// 设置背景色
              		var index = this.grid.getIndexOfColumn(column);
              		var contentDiv = document.getElementById(this.grid.options.id + '_content_tbody');
              		var row = contentDiv.querySelectorAll('tr')[i];
              		var td = row.querySelectorAll('td')[index];
              		var div = td.querySelector('div')
              		u.addClass(td,'u-grid-err-td');
              		u.addClass(div,'u-grid-err-td');
              		evalStr = 'if(typeof obj' + i + ' == \'undefined\'){var obj' + i + '= {}; MsgArr.push(obj' + i + ');obj' + i + '.rowNum = ' + i + '; obj' + i + '.arr = new Array();}';
  					eval(evalStr);
              		var msg = '(' + title + ')' + result.Msg + ';'; 
              		evalStr = 'obj' + i + '.arr.push(msg)';
              		eval(evalStr);
              	}
  			}
  			// 如果存在错误信息并且提示信息
  			if(!columnPassedFlag && options.showMsg){
  				columnShowMsg += title + ':' + columnMsg + '<br>';
  			}
  			
  		}
  		if(columnShowMsg)
  			u.showMessage({msg:columnShowMsg,showSeconds:3})
  		if(MsgArr.length > 0){
  			MsgArr.sort(function(a1,a2){
  				if(a1.rowNum > a2.rowNum)
  					return 1
  				else
  					return -1
  			})
  		}
  
  		for(var k = 0; k < MsgArr.length; k++){
  			var rowNum = MsgArr[k].rowNum;
  			rowMsg = MsgArr[k].arr.join('');
  			wholeMsg += '第' + (rowNum + 1) + '行:' + rowMsg;
   		}
  
   		return {
   			passed:passed,
   			comp:this,
   			Msg:wholeMsg
   		}
  	}