我有一个UiApp,它有一个FlexTable,每行代表一个位置。这些位置由复选框标记,用户选择它们,当它们执行保存功能时,我想更新表格,以便只保留选定的行。
...
var checkbox_sorszam = []
var rows_to_del = []
for(var i = 0; i < locations_data.length; i++)
{
if(e.parameter['checkboxischecked'+i] == 'true')
{
location_list.push(e.parameter['checkbox_value_'+i]);
checkbox_sorszam.push(i)
}
if(e.parameter['checkboxischecked'+i] == 'false')
{
rows_to_del.push(i)
}
}
这样我就有了需要删除的行索引
for (var d=0;d<rows_to_del.length;++d)
{
Logger.log(rows_to_del[d])
tarhely_table.removeRow(rows_to_del[d])
}
我收到'无效值:行'错误。我尝试了parseInt(rows_to_del [d]),结果相同。我不想创建新表,而是删除用户没有选择的行。
答案 0 :(得分:1)
考虑反过来删除行。
我们说你的桌子最初有3行:
0:红色
1:绿色
2:蓝色
用户选择第1行,因此您计划删除第0行和第2行。
首次通过循环,删除第0行。现在你的表是:
0:绿色
1:蓝色
第二次循环,删除第2行
没有第2行......
重新开头,让我们说用户选择第2行:蓝色,所以你打算删除0和1。
第一次循环,删除第0行,现在你的表是:
0:绿色
1:蓝色
第二次循环,你删除第1行,现在你的表是:
0:绿色
用户感到困惑。