- 注册时间
 - 2013-3-13
 - 最后登录
 - 2020-12-10
 - 阅读权限
 - 10
 - 积分
 - 530
 - 精华
 - 0
 - 帖子
 - 97
  
 
 
 
  
 | 
 本帖最后由 commandercom 于 2015-2-13 10:29 编辑  
 
我给gird加上   allowResizeColumn="true"    和          
function onCellValidation(e) { 
                if (e.value == '') { 
                    e.isValid = false; 
                    e.errorText = "不能空"; 
                } 
        } 
 
又加上增加行   function addRow() { 
                            var newRow = { name: "New Row" }; 
                            grid.addRow(newRow, 0); 
                         } 
然后保存的时候   function saveData() { 
                                grid.validate(); 
                                if (grid.isValid() == false) { 
                                return; 
                              } 
                            } 
然后发现新增一行后,先调整列宽,再在新增行的空单元中输入内容,而且内容都是符合验证规则的,填完后没有任何单元格变红,再保存时  grid.isValid() = false,也没有任何单元格变红。 
--------------------------------------------------------------- 
如果先弄一个变量   var error, 
onCellValidation(e)改成 
function onCellValidation(e){ 
                if (e.value == '') { 
                    e.isValid = false; 
                    e.errorText = "不能空"; 
                    error = false; 
                } 
        } 
 
saveData()改成 
function saveData() { 
               error = true; 
               grid.validate(); 
               if (error  == false) { 
               return; 
                } 
             } 
 
这样就可以解决先调整列宽再输入内容,虽然符合规则但是不通过的问题。 
------------------------------------------------ 
请问是否是因为调整列宽的时候就进行验证了,然后验证结果就存在那里了。 
grid有没有清验证结果的方法,我这样写不行:grid.isValid() = true。 
我用的好像是3.0版本。 
不知道说清楚了没有。 
 
 
 
 
 
 
 
 
 
 
 |   
 
  
 |