jQuery MiniUI

标题: datagrid单元格验证不通过后怎么让光标停在错误格 [打印本页]

作者: cxhold    时间: 2017-5-15 21:27:27     标题: datagrid单元格验证不通过后怎么让光标停在错误格

datagrid单元格输入的数据有验证,我写在
  1. function onCellCommitEdit(e) {
  2.                         var editor = e.editor;

  3.                        
  4.                         var grid = e.sender;
  5.             var record = e.record;
  6.             var field = e.field, value = e.value;
  7.             if( field=="numsell2"){
  8.                     var goodid = record.goodid;
  9.                     var colorid = record.colorid;
  10.                     $.ajax({
  11.                                     url : "getshopsellnumdiff?goodid=" + record.goodid+"&colorid="+colorid ,
  12.                                     success : function(text) {
  13.                                             if(text.length>10){
  14.                                                     var jt = mini.decode(text);
  15.                                                    
  16.                                                         if( jt[0].num2 < value ){
  17.                                                                 alert('该款商品商店库存为:'+ jt[0].num2 +'件,你现在开单数量是:'+value+'件。请核对!');
  18.                                                                 e.cancel=true;
  19.                                                         }
  20.                                             }
  21.                                             else{
  22.                                                     alert('没有商品数据!');
  23.                                                         e.cancel=true;
  24.                                             }
  25.                                                    
  26.                                     },
  27.                                     error : function() {
  28.                                     }
  29.                             });
  30.             }
复制代码
运行时,我故意输入一个较大的数据,这样就会触发错误。回车后,的确可以弹出错误信息,但是光标还是跳到下一个单元格中去了。
怎么让它出错了,提示消息后,光标还停在出错的单元格?
谢谢!


作者: felt    时间: 2017-5-16 10:29:25

不能阻止跳转,但是可以控制跳转完在跳回来,另外,验证在oncellvalidation事件里处理,oncellcommitedit事件里只能阻止编辑结果,没有验证提示的。
  1. grid.on("cellendedit", function (e) {
  2.             setTimeout(function(){               
  3.                   if (grid.isValid() == false) {               
  4.                       var error = grid.getCellErrors()[0];
  5.                       grid.beginEditCell(error.record, error.column);                     
  6.                  }
  7.               },500)
  8.         })
复制代码





欢迎光临 jQuery MiniUI (http://miniui.com/discuss/) Powered by Discuz! X2