获取列表中的最高数字或下一个可用数字
Get the highest number or the next available number in a list
我在分配下一个发票行值时遇到问题。
我已经写了一段 javascript 来获取下一个值,但不知何故它缺少下一个可用值并且仍然选择最高值。
我需要的是最高或下一个可用的数字,LineNo
我需要的是最高或下一个。
代码
onGridBeforeEditLines: function (e) {//grid 2
var event123 = e;
var lineNo = 0;
var grid = $("#gridLines").data("kendoGrid");
$(grid.dataSource.data()).each(function (i, v) {
if (v != null) {
if (v.LineNo >= lineNo)
lineNo = v.LineNo; //Getting the highest value
}
});
lineNo++;
grid = $("#gridContracts").data("kendoGrid");
if (e.model.PaymentPeriodID == 0) {
var selectedItem = grid.dataItem(grid.select());
e.model.PaymentPeriodID = selectedItem.ID;
e.model.LineNo = lineNo; //setting the value to the grid
}
},
图片
获取最高数字并将其加 1 似乎效果很好。最高的是 3,所以 4 是下一个可用的行号。
查找下一个可用号码时似乎不起作用。我已经删除了第 2 行,所以 2 应该是下一个可用选项,但它仍然是最高的并向它添加 1。
提前感谢您的帮助。
if (v.LineNo > lineNo+1) { // then we skipped a space
// next open value is lineNo+1
lineNo = lineNo+1;
return false; // break loop
} else if (v.LineNo == lineNo+1) {
lineNo = v.LineNo; //Getting the next sequential value , keep looping
} else {
// lineNo should stay the same
}
我在分配下一个发票行值时遇到问题。
我已经写了一段 javascript 来获取下一个值,但不知何故它缺少下一个可用值并且仍然选择最高值。
我需要的是最高或下一个可用的数字,LineNo
我需要的是最高或下一个。
代码
onGridBeforeEditLines: function (e) {//grid 2
var event123 = e;
var lineNo = 0;
var grid = $("#gridLines").data("kendoGrid");
$(grid.dataSource.data()).each(function (i, v) {
if (v != null) {
if (v.LineNo >= lineNo)
lineNo = v.LineNo; //Getting the highest value
}
});
lineNo++;
grid = $("#gridContracts").data("kendoGrid");
if (e.model.PaymentPeriodID == 0) {
var selectedItem = grid.dataItem(grid.select());
e.model.PaymentPeriodID = selectedItem.ID;
e.model.LineNo = lineNo; //setting the value to the grid
}
},
图片
获取最高数字并将其加 1 似乎效果很好。最高的是 3,所以 4 是下一个可用的行号。
查找下一个可用号码时似乎不起作用。我已经删除了第 2 行,所以 2 应该是下一个可用选项,但它仍然是最高的并向它添加 1。
提前感谢您的帮助。
if (v.LineNo > lineNo+1) { // then we skipped a space
// next open value is lineNo+1
lineNo = lineNo+1;
return false; // break loop
} else if (v.LineNo == lineNo+1) {
lineNo = v.LineNo; //Getting the next sequential value , keep looping
} else {
// lineNo should stay the same
}