gird中新建行号自动加一

$("#grid").kendoGrid({
    ... //省略
    edit:function(e){
        if(e.model.isNew()){   // 新建按钮,和新增的行都可触发
                //grid 的 dataSource
                var data=dataSource.data().toJSON();  
                var cd=data.length;
                var maxln=0;
                if(cd>1){
                    for(var i=0;i<(cd-1);i++){
                        var t=0;
                        if(data[i].lineNumber>data[i+1].lineNumber)
                        {
                            t=data[i+1].lineNumber;
                            data[i+1].lineNumber=data[i].lineNumber;
                            data[i].lineNumber=t;
                        }
                    }
                    // 找出 dataSource 的最大行号
                    maxln=data[cd-1].lineNumber;
                }
                // 后台验证 找出最大行号
                $.ajax({
                    url:BaseUrl +"/hap/om/order/lines/findMaxLineNumber",
                    type:"post",
                    data:{headerId:viewModel.model.headerId},
                    success:function(data){
                        // 后台数据库最大行号大于前台最大行号
                        if((data*1)>maxln){
                            // 最大行号 赋值给该行的lineNumber
                            e.model.lineNumber=data*1+1;
                            // 该行的uid
                            var uid=e.model.uid;
                            // 赋值 给表格列
                            $("#grid").find('tr[data-uid='+uid+']').find('td').eq(1).text(data+1);
                            //或者:$("#grid").find('tr').eq(1).find('td').eq(1).text(data+1);
                        }else{
                            // 否则
                            e.model.lineNumber=maxln*1+1;
                            var uid=e.model.uid;
                            $("#grid").find('tr[data-uid='+uid+']').find('td').eq(1).text(maxln+1);
                        }
                    }
                });
            }
    },
    ... //省略
})

posted on 2019-02-14 10:35  城市小农民  阅读(118)  评论(0编辑  收藏  举报

导航