Sử dụng lớp này để nhận thông tin hoặc sao chép tiêu chí của các bộ lọc hiện có.
- Để tạo bộ lọc mới, hãy tham khảo các mục sau:
- Đối với trang tính, hãy sử dụng
Range.createFilter()
. - Đối với bảng tổng hợp, hãy sử dụng
PivotTable.addFilter(sourceDataColumn, filterCriteria)
. - Đối với các trang tính được kết nối với cơ sở dữ liệu, hãy sử dụng
DataSourceSheet.addFilter(columnName, filterCriteria)
. - Đối với các bảng tổng hợp được kết nối với cơ sở dữ liệu, hãy sử dụng
DataSourcePivotTable.addFilter(columnName, filterCriteria)
.
- Đối với trang tính, hãy sử dụng
- Để tạo tiêu chí cho mọi loại bộ lọc, hãy tham khảo
SpreadsheetApp.newFilterCriteria()
vàFilterCriteriaBuilder
.
Các cách dùng phổ biến
Sao chép tiêu chí
Mẫu sau đây lấy bộ lọc áp dụng cho dải ôA1:C20
, lấy tiêu chí
đã áp dụng cho cột C và sao chép tiêu chí vào cột 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);
Lấy giá trị bị bộ lọc ẩn đi
Mẫu sau đây lấy bộ lọc áp dụng cho dải ô đã cho và ghi lại các giá trị từ cột B mà bộ lọc ẩn đi.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);
Phương thức
Phương thức | Loại dữ liệu trả về | Mô tả ngắn |
---|---|---|
copy() | FilterCriteriaBuilder | Sao chép tiêu chí bộ lọc này và tạo một trình tạo tiêu chí để bạn có thể áp dụng cho tiêu chí khác . |
getCriteriaType() | BooleanCriteria | Trả về kiểu boolean của tiêu chí, ví dụ: CELL_EMPTY . |
getCriteriaValues() | Object[] | Trả về một mảng đối số cho tiêu chí boolean. |
getHiddenValues() | String[] | Trả về các giá trị mà bộ lọc ẩn đi. |
getVisibleBackgroundColor() | Color | Trả về màu nền được dùng làm tiêu chí lọc. |
getVisibleForegroundColor() | Color | Trả về màu nền trước được dùng làm tiêu chí lọc. |
getVisibleValues() | String[] | Trả về các giá trị mà bộ lọc bảng tổng hợp hiển thị. |
Tài liệu chi tiết
copy()
Sao chép tiêu chí bộ lọc này và tạo một trình tạo tiêu chí để bạn có thể áp dụng cho tiêu chí khác .
Bạn có thể sử dụng phương pháp này với bất kỳ loại bộ lọc nào. Nếu đang sử dụng bộ lọc trang tính, bạn có thể sao chép tiêu chí vào một cột khác.
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);
Cầu thủ trả bóng
FilterCriteriaBuilder
— Một trình tạo tiêu chí bộ lọc dựa trên tiêu chí bộ lọc này.
getCriteriaType()
Trả về kiểu boolean của tiêu chí, ví dụ: CELL_EMPTY
. Để tìm hiểu về các loại
về tiêu chí boolean, hãy xem enum BooleanCriteria
.
Mọi người thường sử dụng phương thức này để thêm tiêu chí điều kiện boolean vào bộ lọc mà không cần thay thế tiêu chí hiện tại.
- Để nhận đối số cho các tiêu chí, hãy sử dụng
getCriteriaValues()
. - Để sử dụng các giá trị tiêu chí và loại tiêu chí nhằm tạo hoặc sửa đổi tiêu chí bộ lọc, hãy xem
FilterCriteriaBuilder.withCriteria(criteria, args)
.
Bạn có thể sử dụng phương pháp này cho bất kỳ loại bộ lọc nào. Nếu tiêu chí bộ lọc không phải là một giá trị boolean
điều kiện, trả về 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);
Cầu thủ trả bóng
BooleanCriteria
– Loại tiêu chí boolean hoặc null
nếu tiêu chí không phải là một giá trị boolean
.
getCriteriaValues()
Trả về một mảng đối số cho tiêu chí boolean. Một số loại tiêu chí boolean không có
đối số và trả về một mảng trống, ví dụ: CELL_NOT_EMPTY
.
Mọi người thường sử dụng phương thức này để thêm tiêu chí điều kiện boolean vào bộ lọc mà không cần thay thế tiêu chí hiện tại.
- Để lấy loại tiêu chí boolean, sử dụng
getCriteriaType()
. - Để sử dụng các giá trị tiêu chí và loại tiêu chí nhằm tạo hoặc sửa đổi tiêu chí bộ lọc, hãy xem
FilterCriteriaBuilder.withCriteria(criteria, args)
.Bạn có thể sử dụng phương pháp này cho bất kỳ loại bộ lọc nào.
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);
Cầu thủ trả bóng
Object[]
– Một mảng các đối số phù hợp với loại tiêu chí boolean. Số lượng đối số và kiểu của chúng khớp với phương thứcwhen...()
tương ứng của lớpFilterCriteriaBuilder
.
getHiddenValues()
Trả về các giá trị mà bộ lọc ẩn đi.
Sử dụng tiêu chí này bằng các bộ lọc trên Grid
trang tính (loại trang tính mặc định).
Trả về null
nếu bạn gọi phương thức này cho các loại bộ lọc khác.
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);
Cầu thủ trả bóng
String[]
– Một mảng các giá trị mà bộ lọc ẩn đi.
getVisibleBackgroundColor()
Trả về màu nền được dùng làm tiêu chí lọc. Các ô có màu nền này vẫn còn hiển thị.
Sử dụng tiêu chí này bằng các bộ lọc trên Grid
trang tính (loại trang tính mặc định).
Trả về null
nếu bạn gọi phương thức này cho các loại bộ lọc khác.
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);
Cầu thủ trả bóng
Color
— Màu nền được dùng làm tiêu chí lọc.
getVisibleForegroundColor()
Trả về màu nền trước được dùng làm tiêu chí lọc. Các ô có màu nền trước này vẫn được giữ nguyên hiển thị.
Sử dụng tiêu chí này bằng các bộ lọc trên Grid
trang tính (loại trang tính mặc định).
Trả về null
nếu bạn gọi phương thức này cho các loại bộ lọc khác.
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);
Cầu thủ trả bóng
Color
– Màu nền trước được dùng làm tiêu chí lọc.
getVisibleValues()
Trả về các giá trị mà bộ lọc bảng tổng hợp hiển thị.
Tiêu chí này chỉ dành cho các bộ lọc trên bảng tổng hợp không được kết nối với cơ sở dữ liệu. Trả về một mảng trống cho các loại bộ lọc khác.
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);
Cầu thủ trả bóng
String[]
– Một mảng giá trị mà bộ lọc của bảng tổng hợp hiển thị.