Class FilterCriteria

FilterKriteria

Gunakan class ini untuk mendapatkan informasi tentang atau menyalin kriteria pada filter yang ada.

Penggunaan umum

Salin kriteria

Contoh berikut mendapatkan filter yang berlaku untuk rentang A1:C20, mendapatkan kriteria yang diterapkan ke kolom C, dan menyalin kriteria ke kolom 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);

Mendapatkan nilai yang disembunyikan oleh filter

Contoh berikut mendapatkan filter yang berlaku untuk rentang tertentu dan mencatat nilai dari kolom B yang disembunyikan filter.
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);

Metode

MetodeJenis hasil yang ditampilkanDeskripsi singkat
copy()FilterCriteriaBuilderMenyalin kriteria filter ini dan membuat pembuat kriteria yang dapat Anda terapkan ke filter lain.
getCriteriaType()BooleanCriteriaMenampilkan jenis boolean kriteria, misalnya, CELL_EMPTY.
getCriteriaValues()Object[]Menampilkan array argumen untuk kriteria boolean.
getHiddenValues()String[]Menampilkan nilai yang disembunyikan filter.
getVisibleBackgroundColor()ColorMenampilkan warna latar belakang yang digunakan sebagai kriteria filter.
getVisibleForegroundColor()ColorMenampilkan warna latar depan yang digunakan sebagai kriteria filter.
getVisibleValues()String[]Menampilkan nilai yang ditampilkan filter tabel pivot.

Dokumentasi mendetail

copy()

Menyalin kriteria filter ini dan membuat pembuat kriteria yang dapat Anda terapkan ke filter lain.

Anda dapat menggunakan metode ini dengan jenis filter apa pun. Jika menggunakan filter sheet, Anda dapat menyalin kriteria ke kolom lain.

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);

Pulang pergi

FilterCriteriaBuilder — Pembuat kriteria filter berdasarkan kriteria filter ini.


getCriteriaType()

Menampilkan jenis boolean kriteria, misalnya, CELL_EMPTY. Untuk mempelajari jenis kriteria boolean, lihat enum BooleanCriteria.

Orang sering menggunakan metode ini untuk menambahkan kriteria kondisi boolean ke filter tanpa mengganti kriteria yang ada.

Anda dapat menggunakan metode ini untuk jenis filter apa pun. Jika kriteria filter bukan kondisi boolean, tampilkan 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);

Pulang pergi

BooleanCriteria — Jenis kriteria boolean, atau null jika kriteria bukan kondisi boolean.


getCriteriaValues()

Menampilkan array argumen untuk kriteria boolean. Beberapa jenis kriteria boolean tidak memiliki argumen dan menampilkan array kosong, misalnya, CELL_NOT_EMPTY.

Orang sering menggunakan metode ini untuk menambahkan kriteria kondisi boolean ke filter tanpa mengganti kriteria yang ada.

  • Untuk mendapatkan jenis kriteria boolean, gunakan getCriteriaType().
  • Untuk menggunakan jenis kriteria dan nilai kriteria guna membuat atau mengubah kriteria filter, lihat FilterCriteriaBuilder.withCriteria(criteria, args).

    Anda dapat menggunakan metode ini untuk jenis filter apa pun.

    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);

    Pulang pergi

    Object[] — Array argumen yang sesuai dengan jenis kriteria boolean. Jumlah argumen dan jenisnya cocok dengan metode when...() yang sesuai dari class FilterCriteriaBuilder.


getHiddenValues()

Menampilkan nilai yang disembunyikan filter.

Gunakan kriteria ini dengan filter pada sheet Grid, jenis sheet default. Menampilkan null jika Anda memanggil metode ini untuk jenis filter lainnya.

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);

Pulang pergi

String[] — Array nilai yang disembunyikan filter.


getVisibleBackgroundColor()

Menampilkan warna latar belakang yang digunakan sebagai kriteria filter. Sel dengan warna latar belakang ini tetap terlihat.

Gunakan kriteria ini dengan filter pada sheet Grid, jenis sheet default. Menampilkan null jika Anda memanggil metode ini untuk jenis filter lainnya.

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);

Pulang pergi

Color — Warna latar belakang yang digunakan sebagai kriteria filter.


getVisibleForegroundColor()

Menampilkan warna latar depan yang digunakan sebagai kriteria filter. Sel dengan warna latar depan ini tetap terlihat.

Gunakan kriteria ini dengan filter pada sheet Grid, jenis sheet default. Menampilkan null jika Anda memanggil metode ini untuk jenis filter lainnya.

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);

Pulang pergi

Color — Warna latar depan yang digunakan sebagai kriteria filter.


getVisibleValues()

Menampilkan nilai yang ditampilkan filter tabel pivot.

Kriteria ini hanya untuk filter pada tabel pivot yang tidak terhubung ke database. Menampilkan array kosong untuk jenis filter lainnya.

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);

Pulang pergi

String[] — Array nilai yang ditampilkan filter tabel pivot.