我有一个包含以下脚本的电子表格,可根据变量调整视图行:
function ConditionalHideRow() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("Form responses 1");
var maxrows = sheet.getMaxRows()
for (var i = 0; i < maxrows; ++i) {
if (sheet.getRange(maxrows-i,4).getValue() == "var1" ) {
sheet.hideRows(maxrows-i,1)
}
else
{
sheet.showRows(maxrows-i,1)
}
}
}
我想在调整视图的页面中传递一个变量: 例如
等
答案 0 :(得分:0)
我尝试过函数doGet(e)var viewmode = e.parameter.view但是当我通过时似乎没有工作....?view =&#34; a&#34;
通过&#34; a&#34;到URL查询中的doGet()
,它就像...?view=a
;不需要撇号。
样品
function doGet(e){
var parameter = e.parameter;
if(parameter.view){ //check off the view type was passed
ConditionalHideRow(parater.view);
};
}
function ConditionalHideRow(condition){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("Form responses 1");
var maxrows = sheet.getDataRange().getHeight();
for (var i = 0; i < maxrows; ++i) {
if (sheet.getRange(maxrows-i,4).getValue() == condition ) {
sheet.hideRows(maxrows-i,1);
}
else
{
sheet.showRows(maxrows-i,1);
};
}
}
这是偏离主题的,但getDataRange().getHeight()
我的经验最好使用,因为getMaxRows()
将返回总行数,即使它们是空的。
默认情况下,有1000个空行,即使您没有任何数据,仍然会循环显示。 getDataRange().getHeight()
将为您提供显示任何数据的最后一行数。
另外,我只是好奇,你为什么要在行中向后循环?