textField 失去焦点之后唯一性校验,同组校验填写相同单元格背景色标红并提示
blur : function(comp) {
if(comp.getValue()){
grid.invoiceNumberValue = comp.getValue();
grid.judgeInvoiceNumber(comp);//唯一性校验
comp.renderRecordValue(comp.getValue(),grid.curRecord,null,null,'invoiceNumber');
// 添加同一批次下铁路货票号校验
var inputStore = grid.store;
if(inputStore.getCount() > 1){//大于1才做这个判断
for(var i = 0,r1;r1 = inputStore.getAt(i);i++){
//把上次标红提示去掉
for(var j = 0;j<inputStore.getCount();j++){
grid.getView().getCell(j,9).style.backgroundColor='';
}
if(r1.get("invoiceNumber")&&(i!=grid.globalRowIndex)){//i!=grid.globalRowIndex去掉它与他自己本身校验 by hly 2013-11-19
if(Ext.util.Format.trim(r1.get("invoiceNumber"))==Ext.util.Format.trim(comp.getValue())){
Ext.ux.LevitationMsgBox.msg("提示", "同组铁路货票号号不能重复!(重复铁路货票号号:"+r1.get("invoiceNumber")+")",2);
grid.getView().getCell(i,9).style.backgroundColor='#FF0000';
var record = grid.getStore().getAt(grid.globalRowIndex);
record.set('invoiceNumber','');
grid.startEditing(grid.globalRowIndex,9);
return false;
}
}
}
}
comp.renderRecordValue(comp.getValue(),grid.curRecord,null,null,'invoiceNumber');
}
}
注:我重写了renderRecordValue()方法,自己写的时候可以用原来的renderer方法