Class FilterCriteria

FilterCriteria

Użyj tych zajęć, aby uzyskać informacje o istniejących filtrach lub je skopiować.

Typowe zastosowania

Kopiuj kryteria

Poniższy przykład pobiera filtr mający zastosowanie do zakresu A1:C20, pobiera kryteria zastosowane do kolumny C i kopiuje je do kolumny B.
let ss = SpreadsheetApp.getActiveSheet();
let range = ss.getRange("A1:C20");
// Copies the filter criteria applied to column C.
let filter = range.getFilter();
let criteria = filter.getColumnFilterCriteria(3).copy().build();
// Applies the copied criteria to column B. The copied criteria overwrites any existing
// criteria on column B.
filter.setColumnFilterCriteria(2, criteria);

Pobierz wartości ukryte przez filtr

Poniższy przykład pobiera filtr, który ma zastosowanie do danego zakresu, i rejestruje wartości z kolumny B ukryte przez filtr.
let ss = SpreadsheetApp.getActiveSheet();
let range = ss.getRange("A1:C20");
let filter = range.getFilter();
// Gets the filter criteria applied to column B, then gets the hidden values.
let filterCriteria = filter.getColumnFilterCriteria(2).getHiddenValues();
// Logs the hidden values.
console.log(filterCriteria);

Metody

MetodaZwracany typKrótki opis
copy()FilterCriteriaBuilderKopiuje kryteria filtra i tworzy konstruktor kryteriów, który można stosować do innego filtra.
getCriteriaType()BooleanCriteriaZwraca typ wartości logicznej kryterium, np. CELL_EMPTY.
getCriteriaValues()Object[]Zwraca tablicę argumentów kryteriów logicznych.
getHiddenValues()String[]Zwraca wartości ukryte przez filtr.
getVisibleBackgroundColor()ColorZwraca kolor tła używany jako kryterium filtra.
getVisibleForegroundColor()ColorZwraca kolor pierwszego planu używany jako kryterium filtra.
getVisibleValues()String[]Zwraca wartości wyświetlane przez filtr tabeli przestawnej.

Szczegółowa dokumentacja

copy()

Kopiuje kryteria filtra i tworzy konstruktor kryteriów, który można stosować do innego filtra.

Tej metody możesz używać z każdym typem filtra. Jeśli używasz filtra arkusza, możesz je skopiować do innej kolumny.

let ss = SpreadsheetApp.getActiveSheet();
let filter = ss.getFilter();
// Makes a copy of the filter criteria applied to column C.
let criteria = filter.getColumnFilterCriteria(3).copy().build();
// Applies the copied criteria to column B. The copied criteria overwrites any existing
// criteria on column B.
filter.setColumnFilterCriteria(2, criteria);

Powroty

FilterCriteriaBuilder – kreator kryteriów filtrowania oparty na tych kryteriach.


getCriteriaType()

Zwraca typ wartości logicznej kryterium, np. CELL_EMPTY. Informacje o typach kryteriów logicznych znajdziesz w artykule o wyliczeniu BooleanCriteria.

Użytkownicy często używają tej metody, aby dodawać do filtra kryteria warunku logicznego bez zastępowania dotychczasowych kryteriów.

Tej metody możesz używać w przypadku każdego typu filtra. Jeśli kryterium filtra nie jest warunkiem logicznym, zwraca null.

let ss = SpreadsheetApp.getActiveSheet();
// Gets the filter on the active sheet.
let filter = ss.getFilter();
// Gets the criteria type and returns a string representing the criteria type object.
let criteriaType = filter.getColumnFilterCriteria(2)
                         .getCriteriaType()
                         .toString();
// Logs the criteria type.
console.log(criteriaType);

Powroty

BooleanCriteria – typ kryterium logicznego lub null, jeśli kryterium nie jest warunkiem logicznym.


getCriteriaValues()

Zwraca tablicę argumentów kryteriów logicznych. Niektóre typy kryteriów logicznych nie mają argumentów i zwracają pustą tablicę, np. CELL_NOT_EMPTY.

Użytkownicy często używają tej metody, aby dodawać do filtra kryteria warunku logicznego bez zastępowania dotychczasowych kryteriów.

  • Aby pobrać typ kryteriów logicznych, użyj getCriteriaType().
  • Aby użyć typu i wartości kryteriów do utworzenia lub zmiany kryteriów filtra, przeczytaj sekcję FilterCriteriaBuilder.withCriteria(criteria, args).

    Tej metody możesz używać w przypadku każdego typu filtra.

    let ss = SpreadsheetApp.getActiveSheet();
    let filter = ss.getFilter();
    // Gets the values of the boolean criteria and logs them. For example, if the boolean
    // condition is whenNumberGreaterThan(10), then the logged value is 10.
    let criteriaValues = filter.getColumnFilterCriteria(2).getCriteriaValues();
    console.log(criteriaValues);

    Powroty

    Object[] – tablica argumentów odpowiednich dla typu kryteriów logicznych. Liczba argumentów i ich typ są zgodne z odpowiednią metodą when...() klasy FilterCriteriaBuilder.


getHiddenValues()

Zwraca wartości ukryte przez filtr.

Użyj tego kryterium w filtrach w Grid arkuszach (domyślnym typem arkusza). Zwraca wartość null, jeśli wywołujesz tę metodę w przypadku innych rodzajów filtrów.

let ss = SpreadsheetApp.getActiveSheet();
let range = ss.getRange("A1:C20");
let filter = range.getFilter();
// Gets the filter criteria applied to column B, then gets the hidden values.
let filterCriteria = filter.getColumnFilterCriteria(2).getHiddenValues();
// Logs the hidden values.
console.log(filterCriteria);

Powroty

String[] – tablica wartości ukrywanych przez filtr.


getVisibleBackgroundColor()

Zwraca kolor tła używany jako kryterium filtra. Komórki z tym kolorem tła pozostają widoczne.

Użyj tego kryterium w filtrach w Grid arkuszach (domyślnym typem arkusza). Zwraca wartość null, jeśli wywołujesz tę metodę w przypadku innych rodzajów filtrów.

let ss = SpreadsheetApp.getActiveSheet();
let range = ss.getRange("A1:C20");
// Logs the background color that column B is filtered by as a hexadecimal string.
let filter = range.getFilter();
let color = filter.getColumnFilterCriteria(2)
                  .getVisibleBackgroundColor()
                  .asRgbColor()
                  .asHexString();
console.log(color);

Powroty

Color – kolor tła używany jako kryterium filtra.


getVisibleForegroundColor()

Zwraca kolor pierwszego planu używany jako kryterium filtra. Komórki z tym kolorem pierwszego planu pozostają widoczne.

Użyj tego kryterium w filtrach w Grid arkuszach (domyślnym typem arkusza). Zwraca wartość null, jeśli wywołujesz tę metodę w przypadku innych rodzajów filtrów.

let ss = SpreadsheetApp.getActiveSheet();
let range = ss.getRange("A1:C20");
// Logs the foreground color that column B is filtered by as a hexadecimal string.
let filter = range.getFilter();
let color = filter.getColumnFilterCriteria(2)
                  .getVisibleForegroundColor()
                  .asRgbColor()
                  .asHexString();
console.log(color);

Powroty

Color – kolor pierwszego planu używany jako kryterium filtrowania.


getVisibleValues()

Zwraca wartości wyświetlane przez filtr tabeli przestawnej.

To kryterium dotyczy tylko filtrów w tabelach przestawnych, które nie są połączone z bazą danych. Zwraca pustą tablicę w przypadku innych typów filtrów.

let ss = SpreadsheetApp.getActiveSheet();
// Gets the first pivot table on the sheet, then gets the visible values of its first filter.
pivotTable = ss.getPivotTables()[0];
pivotFilterValues = pivotTable.getFilters()[0].getFilterCriteria().getVisibleValues();
// Logs the visible values.
console.log(pivotFilterValues);

Powroty

String[] – tablica wartości pokazywanych przez filtr tabeli przestawnej.