javascript编辑表格三

本节在《javascript编辑表格二》的基础上增加了删除数据和数据版本信息,在操作表格的过程中会自动调用下面的方法设置相关属性

代码如下

//-----------------------------------------------------下面处理数据
    /*
    功能:把删除行的主键数据放到private_del_data中
    参数:rowIdex:rowIndex
    算法:1.判断当前行的数据版本
         2.如果版本是原始数据或修改过的数据,则需要添加到private_del_data中
         3.如果是新版本数据则不作任何处理         
    
*/
    delData:function(rowIndex)
    {        
        var _this=this;
        var l_deltr=_this.private_table.find("tbody tr[rowIndex='"+rowIndex+"']");                
        var ls_dataversion=l_deltr.attr('ws_dataversion');
        var ls_key,ls_val;
        var l_obj={};
        //1.判断当前行的数据版本
        //2.如果版本是原始数据或修改过的数据,则需要添加到private_del_data中
        if(ls_dataversion=='0' || ls_dataversion=='2')    
        {                    
            for(var i=0;i<_this.private_keys.length;i++)
            {
                ls_key=_this.private_keys[i];
                ls_val=_this.getItemByIndex(rowIndex,ls_key,0);
                l_obj[ls_key]=ls_val;
            }
            _this.public_del_data.push(l_obj);                    
        }        
    },
    /*
    功能:修改数据时,记录修改的版本
    参数:rowIdex:rowIndex
    算法:1.判断当前行的数据版本
         2.如果版本是原始数据则修改此行的数据版本为修改过的数据
         3.如果是修改过的数据或者是新增的数据,则不作任何处理
    
*/
    updataData:function(rowIndex)
    {
        var _this=this;
        var l_edittr=_this.private_table.find("tbody tr[rowIndex='"+rowIndex+"']");                
        var ls_dataversion=l_edittr.attr('ws_dataversion');
        
        //1.判断当前行的数据版本
        //2.如果版本是原始数据或修改过的数据,则需要添加到private_del_data中
        if(ls_dataversion=='0')    
        {            
            l_edittr.attr('ws_dataversion','2');                        
        }

    } 

2、用法

 如果是删除数据则会记录在public_del_data[]数组中,记录的是删除的主键信息

如果是修改数据则会在行的ws_dataversion属性修改为2

在操作表格的时候WSGrid会自动处理数据版本信息
      行的属性ws_dataversion会自动变化0:原始数据,没有修改过
                                     1:表示是新增的数据
                                     2:表示的是删除的数据
      如果删除了版本是0的原始数据,则会将删除的主键信息保存在对象的public_del_data数组对象中
      数据格式如下:  
[{'aid':'00000001','entrystock_bi':'E00100000001'},{'aid':'00000002','entrystock_bi':'E00100000001'}]

 3、源文件

  

原文地址:https://www.cnblogs.com/kuailewangzi1212/p/2620776.html