Za pomocą tej klasy możesz uzyskać informacje o kryteriach istniejących filtrów lub je skopiować.
- Aby utworzyć nowy filtr, zapoznaj się z tymi informacjami:
- W przypadku arkuszy używaj
Range.createFilter()
. - W przypadku tabel przestawnych używaj
Pivot
.Table.addFilter(sourceDataColumn, filterCriteria) - W przypadku arkuszy połączonych z bazą danych użyj
Data
.Source Sheet.addFilter(columnName, filterCriteria) - W przypadku tabel przestawnych połączonych z bazą danych użyj
Data
.Source Pivot Table.addFilter(columnName, filterCriteria)
- W przypadku arkuszy używaj
- Aby utworzyć kryteria dla dowolnego typu filtra, zapoznaj się z artykułami
Spreadsheet
iApp.newFilterCriteria() Filter
.Criteria Builder
Typowe zastosowania
Kopiowanie kryteriów
W tym przykładzie pobierany jest filtr, który ma zastosowanie do zakresuA1:C20
, pobierane są kryteria stosowane w kolumnie C i kopiowane są one do kolumny B.
const ss = SpreadsheetApp.getActiveSheet(); const range = ss.getRange('A1:C20'); // Copies the filter criteria applied to column C. const filter = range.getFilter(); const 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);
Pobieranie wartości ukrytych przez filtr
Ten przykładowy skrypt pobiera filtr, który ma zastosowanie do danego zakresu, i rejestruje wartości z kolumny B, które są przez niego ukryte.const ss = SpreadsheetApp.getActiveSheet(); const range = ss.getRange('A1:C20'); const filter = range.getFilter(); // Gets the filter criteria applied to column B, then gets the hidden values. const filterCriteria = filter.getColumnFilterCriteria(2).getHiddenValues(); // Logs the hidden values. console.log(filterCriteria);
Metody
Metoda | Zwracany typ | Krótki opis |
---|---|---|
copy() | Filter | Kopiuje to kryterium filtra i tworzy kreator kryteriów, który możesz zastosować do innego filtra. |
get | Boolean | Zwraca typ logiczny kryterium, np. CELL_EMPTY . |
get | Object[] | Zwraca tablicę argumentów dla kryteriów logicznych. |
get | String[] | Zwraca wartości, które filtr ukrywa. |
get | Color | Zwraca kolor tła użyty jako kryterium filtra. |
get | Color | Zwraca kolor pierwszego planu użyty jako kryterium filtra. |
get | String[] | Zwraca wartości wyświetlane przez filtr tabeli przestawnej. |
Szczegółowa dokumentacja
copy()
Kopiuje to kryterium filtra i tworzy kreator kryteriów, który możesz zastosować do innego filtra.
Z tej metody możesz korzystać w przypadku dowolnego typu filtra. Jeśli używasz filtra arkusza, możesz skopiować kryteria do innej kolumny.
const ss = SpreadsheetApp.getActiveSheet(); const filter = ss.getFilter(); // Makes a copy of the filter criteria applied to column C. const 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);
Powrót
Filter
– kreator kryteriów filtra oparty na tych kryteriach.
get Criteria Type()
Zwraca typ logiczny kryterium, np. CELL_EMPTY
. Więcej informacji o typach kryteriów logicznych znajdziesz w enumeracji Boolean
.
Użytkownicy często korzystają z tej metody, aby dodać do filtra kryteria warunków logicznych bez zastępowania dotychczasowych kryteriów.
- Aby uzyskać argumenty dla kryteriów, użyj
get
.Criteria Values() - Aby utworzyć lub zmodyfikować kryteria filtrowania, korzystając z typu kryteriów i ich wartości, zapoznaj się z artykułem
Filter
.Criteria Builder.withCriteria(criteria, args)
Możesz używać tej metody w przypadku dowolnego typu filtra. Jeśli kryteria filtra nie są warunkiem logicznym, zwracają wartość null
.
const ss = SpreadsheetApp.getActiveSheet(); // Gets the filter on the active sheet. const filter = ss.getFilter(); // Gets the criteria type and returns a string representing the criteria type // object. const criteriaType = filter.getColumnFilterCriteria(2).getCriteriaType().toString(); // Logs the criteria type. console.log(criteriaType);
Powrót
Boolean
– typ kryterium logicznego lub null
, jeśli kryterium nie jest warunkiem logicznym.
get Criteria Values()
Zwraca tablicę argumentów dla kryteriów logicznych. Niektóre typy kryteriów logicznych nie mają argumentów i zwracają pusty tablic, np. CELL_NOT_EMPTY
.
Użytkownicy często korzystają z tej metody, aby dodać do filtra kryteria warunków logicznych bez zastępowania dotychczasowych kryteriów.
- Aby uzyskać typ kryteriów logicznych, użyj
get
.Criteria Type() - Aby utworzyć lub zmodyfikować kryterium filtra, korzystając z typu kryterium i jego wartości, zapoznaj się z artykułem
Filter
.Criteria Builder.withCriteria(criteria, args) Możesz używać tej metody w przypadku dowolnego typu filtra.
const ss = SpreadsheetApp.getActiveSheet(); const 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. const criteriaValues = filter.getColumnFilterCriteria(2).getCriteriaValues(); console.log(criteriaValues);
Powrót
Object[]
– tablica argumentów odpowiednich do typu kryteriów logicznych. Liczba argumentów i ich typ odpowiadają odpowiedniej metodziewhen...()
klasyFilter
.Criteria Builder
get Hidden Values()
Zwraca wartości, które filtr ukrywa.
Użyj tego kryterium z filtrami w arkuszach Grid
, czyli arkuszach o domyślnym typie.
Zwraca null
, jeśli wywołujesz tę metodę w przypadku innych typów filtrów.
const ss = SpreadsheetApp.getActiveSheet(); const range = ss.getRange('A1:C20'); const filter = range.getFilter(); // Gets the filter criteria applied to column B, then gets the hidden values. const filterCriteria = filter.getColumnFilterCriteria(2).getHiddenValues(); // Logs the hidden values. console.log(filterCriteria);
Powrót
String[]
– tablica wartości, które filtr ukrywa.
get Visible Background Color()
Zwraca kolor tła użyty jako kryterium filtra. Komórki o tym kolorze tła pozostają widoczne.
Użyj tego kryterium z filtrami w arkuszach Grid
, które są domyślnym typem arkusza.
Zwraca null
, jeśli wywołujesz tę metodę w przypadku innych typów filtrów.
const ss = SpreadsheetApp.getActiveSheet(); const range = ss.getRange('A1:C20'); // Logs the background color that column B is filtered by as a hexadecimal // string. const filter = range.getFilter(); const color = filter.getColumnFilterCriteria(2) .getVisibleBackgroundColor() .asRgbColor() .asHexString(); console.log(color);
Powrót
Color
– kolor tła używany jako kryterium filtrowania.
get Visible Foreground Color()
Zwraca kolor pierwszego planu użyty jako kryterium filtra. Komórki o tym kolorze pierwszego planu pozostają widoczne.
Użyj tego kryterium z filtrami w arkuszach Grid
, czyli arkuszach o domyślnym typie.
Zwraca null
, jeśli wywołujesz tę metodę w przypadku innych typów filtrów.
const ss = SpreadsheetApp.getActiveSheet(); const range = ss.getRange('A1:C20'); // Logs the foreground color that column B is filtered by as a hexadecimal // string. const filter = range.getFilter(); const color = filter.getColumnFilterCriteria(2) .getVisibleForegroundColor() .asRgbColor() .asHexString(); console.log(color);
Powrót
Color
– kolor pierwszego planu używany jako kryterium filtrowania.
get Visible Values()
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. W przypadku innych typów filtrów zwraca pustą tablicę.
const ss = SpreadsheetApp.getActiveSheet(); // Gets the first pivot table on the sheet, then gets the visible values of its // first filter. const pivotTable = ss.getPivotTables()[0]; const pivotFilterValues = pivotTable.getFilters()[0].getFilterCriteria().getVisibleValues(); // Logs the visible values. console.log(pivotFilterValues);
Powrót
String[]
– tablica wartości wyświetlanych przez filtr tabeli przestawnej.