【发布时间】:2018-08-28 11:06:01
【问题描述】:
我有一张表格,可以根据一组目标跟踪学生的进度 - 学生姓名在顶部,目标在左侧列出。每个学生都在一个组中 - 在下面的示例中,组由 SK、IO 和 NU 表示。
我创建了一个带有各种过滤器的侧边栏。
我遇到的问题是用户将在其中输入组名的过滤器,当单击过滤器按钮时,所有列都将隐藏,除了包含输入组名的列。我有以下代码:
来自 .gs 表:
function showGroup(group) {
for(var i=2; i<lastCol-36; i++) {
if(data.getCell(8, i).getValue() != group) {
sheet.hideColumns(i);
}
}
}
来自 html 表单:
<form id="filterGroups" >
<input type="text" value="" id="groupName">
<input type="button" value="Filter"
onclick="google.script.run.showGroup(filterGroups)" />
我最接近成功的方法是隐藏所有列,只要表单 id 与传递给 google.script.run 的参数匹配。
【问题讨论】:
-
为了了解您的情况,您能否提供输入到“过滤器”文本框的示例值和示例电子表格?因为
showGroup(group)的脚本依赖于“Filters”中输入的值。 -
您好 Tanaike,[这里][1] 是工作表。单击左上角的红色过滤器按钮以显示侧边栏。是用户将输入的用户输入字段,在这种情况下,是 SK、NU 或 IO。对应于表格“科学年组”第 8 行中输入的组。当用户单击输入字段旁边的过滤器按钮时,除了包含在输入字段中输入的值的列之外,列会隐藏。希望这是有道理的。 G [1]:docs.google.com/spreadsheets/d/…
-
感谢您的回复。从您的回复中,我发布了一个答案。你能确认一下吗?
-
我的回答是否向您展示了您想要的结果?你能告诉我吗?这对我学习也很有用。如果这可行,与您有相同问题的其他人也可以将您的问题作为可以解决的问题。如果您对我的回答有疑问,请随时告诉我。我想学习解决你的问题。
标签: html google-apps-script google-sheets