Class Filter

Filtro

Utilizza questa classe per modificare i filtri esistenti su Grid fogli, il tipo predefinito di foglio. I fogli della griglia sono normali fogli con dati non collegati a un database.

Se non esiste ancora un filtro nel foglio, creane uno utilizzando Range.createFilter().

Per utilizzare questo corso, devi prima accedere al filtro del foglio della griglia utilizzando Range.getFilter() o Sheet.getFilter().

Utilizzi comuni

Rimuovere un filtro

L'esempio seguente recupera il filtro dal foglio attivo e lo rimuove.
let ss = SpreadsheetApp.getActiveSheet();
let filter = ss.getFilter();
// Removes the filter from the active sheet.
filter.remove();

Ottieni l'intervallo a cui si applica il filtro

L'esempio riportato di seguito recupera il filtro sul foglio attivo, quindi utilizza il metodo getRange() di questa classe per registrare l'intervallo a cui si applica il filtro.
let ss = SpreadsheetApp.getActiveSheet();
// Gets the existing filter on the active sheet.
let filter = ss.getFilter();
// Logs the range that the filter applies to in A1 notation.
console.log(filter.getRange().getA1Notation());

Metodi

MetodoTipo restituitoBreve descrizione
getColumnFilterCriteria(columnPosition)FilterCriteriaRestituisce i criteri di filtro nella colonna specificata oppure null se alla colonna non sono applicati criteri di filtro.
getRange()RangeRestituisce l'intervallo a cui si applica questo filtro.
remove()voidRimuove questo filtro.
removeColumnFilterCriteria(columnPosition)FilterRimuove i criteri di filtro dalla colonna specificata.
setColumnFilterCriteria(columnPosition, filterCriteria)FilterConsente di impostare i criteri di filtro nella colonna specificata.
sort(columnPosition, ascending)FilterOrdina l'intervallo filtrato in base alla colonna specificata, escludendo la prima riga (la riga di intestazione) nell'intervallo a cui si applica il filtro.

Documentazione dettagliata

getColumnFilterCriteria(columnPosition)

Restituisce i criteri di filtro nella colonna specificata oppure null se alla colonna non sono applicati criteri di filtro.

Per ulteriori dettagli sui criteri di filtro, concatena questo metodo con i metodi della classe FilterCriteria.

let ss = SpreadsheetApp.getActiveSheet();
let filter = ss.getFilter();
  // Gets the filter criteria applied to column B of the active sheet
  // and logs the hidden values.
let filterCriteria = filter.getColumnFilterCriteria(2).getHiddenValues();
console.log(filterCriteria);

Parametri

NomeTipoDescrizione
columnPositionIntegerLa posizione indicizzata 1 della colonna. Ad esempio, l'indice della colonna B è 2.

Ritorni

FilterCriteria: i criteri di filtro.

Autorizzazione

Gli script che utilizzano questo metodo richiedono l'autorizzazione con uno o più dei seguenti ambiti:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getRange()

Restituisce l'intervallo a cui si applica questo filtro.

// Gets the existing filter on the active sheet.
let ss = SpreadsheetApp.getActiveSheet();
let filter = ss.getFilter();
// Logs the range that the filter applies to in A1 notation.
console.log(filter.getRange().getA1Notation());

Ritorni

Range: l'intervallo del filtro. Per ottenere l'intervallo in notazione A1, concatena questo metodo a Range.getA1Notation().

Autorizzazione

Gli script che utilizzano questo metodo richiedono l'autorizzazione con uno o più dei seguenti ambiti:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

remove()

Rimuove questo filtro.

// Removes the filter from the active sheet.
let ss = SpreadsheetApp.getActiveSheet();
let filter = ss.getFilter();
filter.remove();

Autorizzazione

Gli script che utilizzano questo metodo richiedono l'autorizzazione con uno o più dei seguenti ambiti:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

removeColumnFilterCriteria(columnPosition)

Rimuove i criteri di filtro dalla colonna specificata.

// Removes the filter criteria from column B.
let ss = SpreadsheetApp.getActiveSheet();
let filter = ss.getFilter();
filter.removeColumnFilterCriteria(2);

Parametri

NomeTipoDescrizione
columnPositionIntegerLa posizione indicizzata 1 della colonna. Ad esempio, l'indice della colonna B è 2.

Ritorni

Filter: il filtro per il concatenamento.

Autorizzazione

Gli script che utilizzano questo metodo richiedono l'autorizzazione con uno o più dei seguenti ambiti:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

setColumnFilterCriteria(columnPosition, filterCriteria)

Consente di impostare i criteri di filtro nella colonna specificata. Innanzitutto, crea il generatore di criteri di filtro utilizzando SpreadsheetApp.newFilterCriteria(). Poi aggiungi i criteri al builder utilizzando la classe FilterCriteriaBuilder. Dopo aver creato i criteri, impostalo come parametro filterCriteria per questo metodo.

let ss = SpreadsheetApp.getActiveSheet();
let filter = ss.getFilter();
// Builds the filter criteria to use as a parameter for setColumnFilterCriteria.
const criteria = SpreadsheetApp.newFilterCriteria()
                             .setHiddenValues(["Hello", "World"])
                             .build();
// Sets the filter criteria for column C.
filter.setColumnFilterCriteria(3, criteria);

Parametri

NomeTipoDescrizione
columnPositionIntegerLa posizione indicizzata 1 della colonna. Ad esempio, l'indice della colonna B è 2.
filterCriteriaFilterCriteriaI criteri di filtro da impostare. Se imposti i criteri su null, i criteri di filtro vengono rimossi dalla colonna specificata. Puoi anche usare removeColumnFilterCriteria(columnPosition).

Ritorni

Filter: il filtro per il concatenamento.

Autorizzazione

Gli script che utilizzano questo metodo richiedono l'autorizzazione con uno o più dei seguenti ambiti:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

sort(columnPosition, ascending)

Ordina l'intervallo filtrato in base alla colonna specificata, escludendo la prima riga (la riga di intestazione) nell'intervallo a cui si applica il filtro.

// Gets the existing filter and sorts it by column B in ascending order.
let ss = SpreadsheetApp.getActiveSheet();
let filter = ss.getFilter();
filter.sort(2, true);

Parametri

NomeTipoDescrizione
columnPositionIntegerLa posizione indicizzata 1 della colonna. Ad esempio, l'indice della colonna B è 2.
ascendingBooleanSe true, ordina l'intervallo filtrato in ordine crescente; se false, ordina l'intervallo filtrato in ordine decrescente.

Ritorni

Filter: il filtro per il concatenamento.

Autorizzazione

Gli script che utilizzano questo metodo richiedono l'autorizzazione con uno o più dei seguenti ambiti:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets