Class FilterCriteria

FilterCriteria

אפשר להשתמש בכיתה הזו כדי לקבל מידע על מסננים קיימים או להעתיק אותם.

שימושים נפוצים

העתקת הקריטריונים

בדוגמה הבאה מופיע המסנן שחל על הטווח A1:C20, הוא מחיל את הקריטריונים על עמודה C ומעתיק את הקריטריונים לעמודה 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);

הצגת ערכים שהמסנן מסתיר

בדוגמה הבאה מתקבל המסנן שחל על הטווח הנתון, ומתעדת את הערכים מעמודה B שהמסנן מסתיר.
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);

שיטות

שיטהסוג הערך שמוחזרתיאור קצר
copy()FilterCriteriaBuilderמעתיק את הקריטריונים של המסנן ויוצר כלי ליצירת קריטריונים שאפשר להחיל על מסנן אחר.
getCriteriaType()BooleanCriteriaמחזירה את הסוג הבוליאני של הקריטריון, לדוגמה CELL_EMPTY.
getCriteriaValues()Object[]מחזירה מערך של ארגומנטים עבור קריטריונים בוליאניים.
getHiddenValues()String[]מחזירה את הערכים שהמסנן מסתיר.
getVisibleBackgroundColor()Colorמחזירה את צבע הרקע שמשמש כקריטריונים של סינון.
getVisibleForegroundColor()Colorמחזירה את צבע החזית המשמש כקריטריון מסנן.
getVisibleValues()String[]הפונקציה מחזירה את הערכים שמוצגים במסנן טבלת הצירים.

תיעוד מפורט

copy()

מעתיק את הקריטריונים של המסנן ויוצר כלי ליצירת קריטריונים שאפשר להחיל על מסנן אחר.

ניתן להשתמש בשיטה הזו עם כל סוג של מסנן. אם משתמשים במסנן בגיליון, אפשר להעתיק את הקריטריונים לעמודה אחרת.

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

החזרות

FilterCriteriaBuilder – כלי ליצירת קריטריונים לסינון על סמך הקריטריונים האלה לסינון.


getCriteriaType()

מחזירה את הסוג הבוליאני של הקריטריון, לדוגמה CELL_EMPTY. למידע נוסף על סוגי הקריטריונים הבוליאניים, אפשר לעיין בערך BooleanCriteria.

לעיתים קרובות אנשים משתמשים בשיטה הזו כדי להוסיף למסנן תנאים בוליאניים, בלי להחליף קריטריונים קיימים.

  • כדי לקבל את הארגומנטים של הקריטריונים, יש להשתמש בפונקציה getCriteriaValues().
  • כדי להשתמש בסוג הקריטריון ובערכי הקריטריונים כדי ליצור או לשנות קריטריונים של סינון, אפשר לעיין במאמר FilterCriteriaBuilder.withCriteria(criteria, args).

אפשר להשתמש בשיטה הזו לכל סוג של מסנן. אם הקריטריונים לסינון אינם תנאי בוליאני, הפונקציה מחזירה את הערך 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);

החזרות

BooleanCriteria — סוג הקריטריונים הבוליאניים, או null אם הקריטריונים אינו תנאי בוליאני.


getCriteriaValues()

מחזירה מערך של ארגומנטים עבור קריטריונים בוליאניים. בחלק מסוגי הקריטריונים הבוליאניים אין ארגומנטים, והם מחזירים מערך ריק, לדוגמה CELL_NOT_EMPTY.

לעיתים קרובות אנשים משתמשים בשיטה הזו כדי להוסיף למסנן תנאים בוליאניים, בלי להחליף קריטריונים קיימים.

  • כדי לקבל את סוג הקריטריונים הבוליאני, יש להשתמש ב-getCriteriaType().
  • כדי להשתמש בסוג הקריטריון ובערכי הקריטריונים כדי ליצור או לשנות קריטריוני סינון, אפשר לעיין במאמר FilterCriteriaBuilder.withCriteria(criteria, args).

    אפשר להשתמש בשיטה הזו לכל סוג של מסנן.

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

    החזרות

    Object[] - מערך ארגומנטים המתאים לסוג הקריטריונים הבוליאני. מספר הארגומנטים והסוג שלהם תואמים לשיטה when...() התואמת של המחלקה FilterCriteriaBuilder.


getHiddenValues()

מחזירה את הערכים שהמסנן מסתיר.

כדי להשתמש בקריטריונים האלה, צריך להפעיל מסננים ב-Grid גיליונות, סוג ברירת המחדל של גיליון. הפונקציה מחזירה את הערך null אם מתבצעת קריאה לשיטה הזו עבור סוגים אחרים של מסננים.

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

החזרות

String[] - מערך ערכים שהמסנן מסתיר.


getVisibleBackgroundColor()

מחזירה את צבע הרקע שמשמש כקריטריונים של סינון. תאים עם צבע הרקע הזה יישארו גלויים.

כדי להשתמש בקריטריונים האלה, צריך להפעיל מסננים ב-Grid גיליונות, סוג ברירת המחדל של גיליון. הפונקציה מחזירה את הערך null אם מתבצעת קריאה לשיטה הזו עבור סוגים אחרים של מסננים.

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

החזרות

Color – צבע הרקע שמשמש כקריטריונים לסינון.


getVisibleForegroundColor()

מחזירה את צבע החזית המשמש כקריטריון מסנן. תאים עם צבע החזית הזה יישארו גלויים.

כדי להשתמש בקריטריונים האלה, צריך להפעיל מסננים ב-Grid גיליונות, סוג ברירת המחדל של גיליון. הפונקציה מחזירה את הערך null אם מתבצעת קריאה לשיטה הזו עבור סוגים אחרים של מסננים.

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

החזרות

Color – צבע החזית המשמש כקריטריון פילטר.


getVisibleValues()

הפונקציה מחזירה את הערכים שמוצגים במסנן טבלת הצירים.

הקריטריונים האלה חלים רק על מסננים בטבלאות צירים שלא מחוברים למסד נתונים. מחזירה מערך ריק לסוגים אחרים של מסננים.

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

החזרות

String[] – מערך ערכים שמוצג במסנן טבלת הצירים.