Скрыть значения из фильтра с помощью массива while-l oop в скрипте Google Sheets - PullRequest
0 голосов
/ 11 февраля 2020

Как я могу прежде всего сохранить значения в массиве, а затем удалить значения, хранящиеся в массиве, из фильтра. Трудность для моего проекта в том, что я не могу использовать setVisibleValues, потому что он не будет работать. У меня есть как 200 значений. Только один не должен быть скрыт, этот зависит от выбранного PID. Ниже вы можете увидеть код, который я имею, я проверил, в чем проблема. Все значения хранятся в переменной «AddToArray», поэтому проблема заключается в добавлении значений из этой переменной в массив. У вас есть идея, что может вызвать проблему, или вы видите какие-либо очевидные ошибки?

  var row = 2;
  var col = 1;

  var rowCheck = 2;
  var colCheck = 3;

  var isSelected = spreadsheet.getActiveSheet().getRange(rowCheck, colCheck  ).getValue();

  var AddToArray;

  //Add all PID´s to an array
  while (i < HideValues.lenght + 1) {
    if (isSelected == 0){
      AddToArray = spreadsheet.getActiveSheet().getRange(row, col  ).getValue();
      HideValues.push(AddToArray);
      i++;
      row++;
      rowCheck++;}
    else {
      i++;
      row++;
      rowCheck++;}}

  //Remove all PID´s from the filter
  var criteria = SpreadsheetApp.newFilterCriteria(); 

  while (i < HideValues.lenght + 1){
  criteria.setHiddenValues([HideValues[i-1]]).build();
  i++;}   

  spreadsheet.getActiveSheet().getFilter().setColumnFilterCriteria(5, criteria);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...