接近在线销售订单系统的最终调整。
我正在尝试从'订单'中删除/删除订单项“运送”中的表格片材。
我创建了一个ID列,以便每个订单项都输入到'订单'工作表将具有唯一的ID,此唯一ID通过装箱单系统传送到“运输”中。片材。
我想从'订单'中删除/删除这些订单项。表格一旦转移到“运送”表格中。片。
因为我是编码的新手,所以我遇到了一些麻烦。
以下是我一直在调整用于上述目的的脚本:
<!doctype html>
<html>
<head>
<meta charset="iso-8859-1">
<title>Align Fieldset</title>
<style>
.header{
width: 100%;
clear:both;
display: inline-block;
font-size: medium;
float:left;
}
.subheader{
width: 100%;
clear:both;
display: inline-block;
font-size: medium;
float:left;
}
.list{
list-style-type: none;
display: inline-block;
width: auto;
float: left;
}
</style>
</head>
<body>
<p>Aligning offer & Demand on the same line</p>
<fieldset class="header">
<legend>Type</legend>
<ul class= "list">
<li>
<fieldset class="subheader">
<legend ><label>
<input type="radio" name="Type" value="Offer" checked="checked"
/>Offer</label>
</legend>
</fieldset>
</li>
<li>
<fieldset class="subheader">
<legend><label>
<input type="radio" name="Type" value="Demand">Demand</label>
</legend>
</fieldset>
</li>
</ul>
</fieldset> <!-- End of type -->
</body>
</html>
我遇到的问题;
它删除了&#39;订单&#39;上的任何格式。片。
如果匹配&#39; SHIPPED&#39;它会删除第1行(标题)。片材。
感谢您提供的任何帮助和指导。
中号
答案 0 :(得分:2)
首先,我想识别重复的行ID并将它们保存在一个数组中。稍后循环遍历它们并逐个删除。确保在删除行时更改行数。为了捕获我使用rowsDeleted
变量。希望这很清楚。
function deleteRowInOrders()
{
var ss = SpreadsheetApp.getActiveSpreadsheet();
var shipped = ss.getSheetByName("SHIPPED");
var orders = ss.getSheetByName("Orders");
var shipVal = shipped.getDataRange().getValues();
var orderVal = orders.getDataRange().getValues();
var rowIDs = [];
for(var n in orderVal ){
for(var p in shipVal){
if( orderVal[n][0] == shipVal[p][0]){
rowIDs.push(n);
}
}
}
var rowsDeleted = 0 ;
for(var row in rowIDs)
{
var deleteRowID = parseInt(rowIDs[row])+1 - rowsDeleted;
if(deleteRowID>1) // without header row
{
orders.deleteRow(deleteRowID);
rowsDeleted++;
}
}
}