Class Filter

الفلتر

يمكنك استخدام هذه الفئة لتعديل الفلاتر الحالية في Grid ورق بيانات، وهو النوع التلقائي من ورقة البيانات. أوراق الشبكة هي أوراق عادية تحتوي على بيانات غير مرتبطة بقاعدة بيانات.

في حال عدم توفُّر فلتر على ورقة البيانات بعد، يمكنك إنشاء فلتر باستخدام Range.createFilter().

لاستخدام هذه الفئة، عليك أولاً الوصول إلى فلتر ورقة الشبكة باستخدام السمة Range.getFilter() أو Sheet.getFilter().

طرق الاستخدام الشائعة

إزالة أحد الفلاتر

يحصل النموذج التالي على الفلتر على الورقة النشطة ويزيله.
let ss = SpreadsheetApp.getActiveSheet();
let filter = ss.getFilter();
// Removes the filter from the active sheet.
filter.remove();

الحصول على النطاق الذي ينطبق عليه الفلتر

يحصل النموذج التالي على الفلتر على الورقة النشطة، ثم يستخدم طريقة getRange() من هذه الفئة لتسجيل النطاق الذي ينطبق عليه الفلتر.
let ss = SpreadsheetApp.getActiveSheet();
// Gets the existing filter on the active sheet.
let filter = ss.getFilter();
// Logs the range that the filter applies to in A1 notation.
console.log(filter.getRange().getA1Notation());

الطُرق

الطريقةنوع الإرجاعوصف قصير
getColumnFilterCriteria(columnPosition)FilterCriteriaالحصول على معايير الفلتر في العمود المحدّد أو null إذا لم يكن العمود يحتوي على معايير التصفية المطبقة عليه.
getRange()Rangeتحصل على النطاق الذي ينطبق عليه هذا الفلتر.
remove()voidلإزالة هذا الفلتر
removeColumnFilterCriteria(columnPosition)Filterيزيل معايير الفلاتر من العمود المحدد.
setColumnFilterCriteria(columnPosition, filterCriteria)Filterلضبط معايير الفلاتر في العمود المحدّد
sort(columnPosition, ascending)Filterلترتيب النطاق المفلتر حسب العمود المحدد، باستثناء الصف الأول (صف الرأس) في النطاق الذي ينطبق عليه هذا الفلتر

الوثائق التفصيلية

getColumnFilterCriteria(columnPosition)

الحصول على معايير الفلتر في العمود المحدّد أو null إذا لم يكن العمود يحتوي على معايير التصفية المطبقة عليه.

للحصول على مزيد من التفاصيل حول معايير الفلترة، نفِّذ سلسلة من هذه الطريقة بالطرق من صف واحد (FilterCriteria).

let ss = SpreadsheetApp.getActiveSheet();
let filter = ss.getFilter();
  // Gets the filter criteria applied to column B of the active sheet
  // and logs the hidden values.
let filterCriteria = filter.getColumnFilterCriteria(2).getHiddenValues();
console.log(filterCriteria);

المعلمات

الاسمالنوعالوصف
columnPositionIntegerتمثّل هذه السمة موضع العمود المفهرَس في الرقم 1. على سبيل المثال، فهرس العمود ب هو 2.

الإرجاع

FilterCriteria — معايير الفلتر

التفويض

تتطلب النصوص البرمجية التي تستخدم هذه الطريقة إذنًا باستخدام واحد أو أكثر من النطاقات التالية:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getRange()

تحصل على النطاق الذي ينطبق عليه هذا الفلتر.

// Gets the existing filter on the active sheet.
let ss = SpreadsheetApp.getActiveSheet();
let filter = ss.getFilter();
// Logs the range that the filter applies to in A1 notation.
console.log(filter.getRange().getA1Notation());

الإرجاع

Range — نطاق الفلتر للحصول على النطاق في تدوين A1، نفِّذ سلسلة من هذه الطريقة مع Range.getA1Notation().

التفويض

تتطلب النصوص البرمجية التي تستخدم هذه الطريقة إذنًا باستخدام واحد أو أكثر من النطاقات التالية:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

remove()

لإزالة هذا الفلتر

// Removes the filter from the active sheet.
let ss = SpreadsheetApp.getActiveSheet();
let filter = ss.getFilter();
filter.remove();

التفويض

تتطلب النصوص البرمجية التي تستخدم هذه الطريقة إذنًا باستخدام واحد أو أكثر من النطاقات التالية:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

removeColumnFilterCriteria(columnPosition)

يزيل معايير الفلاتر من العمود المحدد.

// Removes the filter criteria from column B.
let ss = SpreadsheetApp.getActiveSheet();
let filter = ss.getFilter();
filter.removeColumnFilterCriteria(2);

المعلمات

الاسمالنوعالوصف
columnPositionIntegerتمثّل هذه السمة موضع العمود المفهرَس في الرقم 1. على سبيل المثال، فهرس العمود ب هو 2.

الإرجاع

Filter — الفلتر المخصّص للسلاسل

التفويض

تتطلب النصوص البرمجية التي تستخدم هذه الطريقة إذنًا باستخدام واحد أو أكثر من النطاقات التالية:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

setColumnFilterCriteria(columnPosition, filterCriteria)

لضبط معايير الفلاتر في العمود المحدّد أولاً، أنشئ أداة إنشاء معايير الفلتر باستخدام SpreadsheetApp.newFilterCriteria(). ثم أضف المعايير إلى منصة الإنشاء باستخدام الفئة FilterCriteriaBuilder. بعد أن تقوم بإنشاء المعايير الخاصة بك، قم بتعيينها معلمة filterCriteria لهذه الطريقة.

let ss = SpreadsheetApp.getActiveSheet();
let filter = ss.getFilter();
// Builds the filter criteria to use as a parameter for setColumnFilterCriteria.
const criteria = SpreadsheetApp.newFilterCriteria()
                             .setHiddenValues(["Hello", "World"])
                             .build();
// Sets the filter criteria for column C.
filter.setColumnFilterCriteria(3, criteria);

المعلمات

الاسمالنوعالوصف
columnPositionIntegerتمثّل هذه السمة موضع العمود المفهرَس في الرقم 1. على سبيل المثال، فهرس العمود ب هو 2.
filterCriteriaFilterCriteriaمعايير الفلتر المطلوب ضبطها وإذا ضبطت المعايير على null، إزالة معايير التصفية من العمود المحدد. ويمكنك أيضًا استخدام removeColumnFilterCriteria(columnPosition).

الإرجاع

Filter — الفلتر المخصّص للسلاسل

التفويض

تتطلب النصوص البرمجية التي تستخدم هذه الطريقة إذنًا باستخدام واحد أو أكثر من النطاقات التالية:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

sort(columnPosition, ascending)

لترتيب النطاق المفلتر حسب العمود المحدد، باستثناء الصف الأول (صف الرأس) في النطاق الذي ينطبق عليه هذا الفلتر

// Gets the existing filter and sorts it by column B in ascending order.
let ss = SpreadsheetApp.getActiveSheet();
let filter = ss.getFilter();
filter.sort(2, true);

المعلمات

الاسمالنوعالوصف
columnPositionIntegerتمثّل هذه السمة موضع العمود المفهرَس في الرقم 1. على سبيل المثال، فهرس العمود ب هو 2.
ascendingBooleanإذا كانت true، سترتب النطاق المفلتر تصاعديًا: إذا كانت false، تُرتِّب النطاق المُفلتَر بترتيب تنازلي.

الإرجاع

Filter — الفلتر المخصّص للسلاسل

التفويض

تتطلب النصوص البرمجية التي تستخدم هذه الطريقة إذنًا باستخدام واحد أو أكثر من النطاقات التالية:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets