知识库

推荐内容

快逸做的更好

产品优势

您的位置: 首页 > 知识库 > 填报技术 > 行式填报表删除某行流水号更新方法

行式填报表删除某行流水号更新方法

流水号其实是自动计算的一种,是一种特殊的自动计算。它是按照一定的递增或者递减规则,在当前值的基础上进行递增或者递减后算出来的值。因此,流水号在刚开始有一个初值,即第一次计算前的当前值。以后就把每一次计算出的新值作为当前值。

我们在实际应用中,遇到这样一种情况,当在页面中删除一行时,想让流水号重新计算,例如之前流水号是1.2.3.4.5,删除第3行后,当前页面流水号自动变为1,2,3,4。

下面我们来介绍一下如何来实现这个功能。

首先,制作一张带有流水号的行式填报表


更新属性设置:


流水号初值设定:


流水号单元格的自动计算设置:

接着,我们需要编写一下页面的js函数,来完成自动更新流水号的过程:

function _updateVar(){ //获取当前单元格的原值与新值
var oldvalue=”"; //单元格修改前的原值
var tableRowNum = document.getElementById( “report1″ ).rows.length;
if(report1.currCell){
//取选中单元格的原值
oldvalue=report1.currCell.value;

var editValue = oldvalue;
//当前单元格的id
var currId = report1.currCell.id;
//取得当前行号
var currRowNum = currId.substr(9,10);

//循环的行数
var forLength = tableRowNum – currRowNum;

for (var i = 0;i< forLength;i++){
//将更新后的流水号计算出来
var cellN = parseInt(currRowNum) + parseInt(i) + 1;
var cell = document.getElementById( “report1_A”+cellN );
var cellV = parseInt(editValue) + i;
//设置更新后的流水号值
_setEditingValue( cell, cellV.toString(), cellV.toString() );


//删除行
_deleteRow( report1 );

}

函数的原理就是,取得删除行的当前流水号,然后把当前行后面的行的流水号按照顺序重新设置一下,然后把选中的这行删除。

我们看一下页面中的效果:



目前选中第三行,然后点按钮调用上面写的js:


我们看到,第四行到第六行的流水号重新计算并按顺序更新了。

这时点击提交即可保存数据了。


发布日期:2014/05/20
本文分类: 填报技术