我可以使用Tanaike的方法in this thread搜索列,从而在第一次加载时为特定用户过滤掉显示的数据。搜索函数工作正常,但问题是,用户还可以在google工作表中搜索其他人的记录,只要他们搜索电子表格中存在的值。我正在想办法添加第二个&&条件,以仅显示仅与currentUser的用户名(在列C中)和搜索值匹配的行。
function displayOwnRecordSearch(currentUser, searchedValue){
var spreadsheetId = "";
var sheetName = "";
var column = 3;
var [, ...data] = Sheets.Spreadsheets.Values.get(spreadsheetId, sheetName).values;
var arr = [];
if(searchedValue !== undefined) {
const validateText = (query) => {
let regex = new RegExp(searchedValue, 'i')
return regex.test(query)
}
data.forEach(d => {
if (validateText(d)) {
arr.push(d);
}
});
}else{
const validateText = (query) => {
let regex = new RegExp(currentUser, 'i')
return regex.test(query)
}
data.forEach(d => {
if (validateText(d[column - 1])) {
arr.push(d);
}
});
}
return arr;
}
1条答案
按热度按时间b1zrtrql1#
在您的情况下,如何使用
fiter
,如下所示?修改的脚本:
var columnForSearchedValue = 5;
作为searchedValue
的列。var [, ...data] = Sheets.Spreadsheets.Values.get(spreadsheetId, sheetName).values;
也可以修改如下。参考: