jQuery MiniUI

 找回密码
 立即注册
查看: 5354|回复: 5
打印 上一主题 下一主题

datagrid 的 oncellendedit事件 [复制链接]

Rank: 2

跳转到指定楼层
楼主
发表于 2013-12-6 13:53:00 |只看该作者 |倒序浏览
var afterCellEditor = function(e) {
        var re = /^(0|[1-9][0-9]*)$/;
        if(re.test(e.value)) {
                alert("right");
        }else{
                alert(current_cell_value);
        }
};
oncellendedit 监听在这个事件上,当e.value 不 满足的时候 怎么 把 e.value 怎么重新赋值?current_cell_value是之前保存下来的数据.

Rank: 8Rank: 8

沙发
发表于 2013-12-6 14:15:27 |只看该作者
grid.on("cellendedit",function(e){
         var row=e.row;
         var field=e.field;        
        if(field=="xxx" ){
            var re = /^(0|[1-9][0-9]*)$/;
            if(re.test(e.value)) {
                alert("right");
            }else{
               // alert(current_cell_value);
                grid.updateRow(row,{xxx:current_cell_value})   //xxx是你那列的field
           }
       }
      })

Rank: 2

板凳
发表于 2013-12-6 14:27:53 |只看该作者
felt 发表于 2013-12-6 14:15
grid.on("cellendedit",function(e){
         var row=e.row;
         var field=e.field;        

field == "xxx" ? 那这不是只能有一列被 改了,我这同时有10多列可能被改啊,

Rank: 8Rank: 8

地板
发表于 2013-12-6 14:38:02 |只看该作者
grid.on("cellendedit",function(e){
         var row=e.row;
         var field=e.field;        
      
            var re = /^(0|[1-9][0-9]*)$/;
            if(re.test(e.value)) {
                alert("right");
            }else{
               // alert(current_cell_value);
               var rdata={};
               rata[field]=current_cell_value
               grid.updateRow(row,rdata)   
           }
      
      })
这样试试

Rank: 2

5#
发表于 2013-12-6 14:46:03 |只看该作者
felt 发表于 2013-12-6 14:38
grid.on("cellendedit",function(e){
         var row=e.row;
         var field=e.field;        

不行啊,rdata是一个js的对象,updateRow应该要用一个json吧?
var afterCellEditor = function(e) {
        var row = e.row;
        var field = e.filed;
        var re = /^(0|[1-9][0-9]*)$/;
        if(re.test(e.value)) {
                alert("right");
        }else{
                //alert(before_edit);
                var data = {};
                data = {field : before_edit};
                mini.get("modifyPlans").updateRow(row,data);
        }
};
我这样写,data = {field : before_edit};却不是前面定义的field了,也不行,

Rank: 2

6#
发表于 2013-12-6 14:55:46 |只看该作者
felt 发表于 2013-12-6 14:38
grid.on("cellendedit",function(e){
         var row=e.row;
         var field=e.field;        

全部删了 重新 写了一下,现在行了,谢谢了

Archiver|普加软件

GMT+8, 2025-7-13 05:02 , Processed in 1.025518 second(s), 9 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部