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');
}
/*
功能:把删除行的主键数据放到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、源文件