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 ของคอลัมน์ เช่น ดัชนีของคอลัมน์ B คือ 2

รีเทิร์น

FilterCriteria — เกณฑ์ตัวกรอง

การให้สิทธิ์

สคริปต์ที่ใช้เมธอดนี้ต้องมีการให้สิทธิ์กับขอบเขตต่อไปนี้อย่างน้อย 1 รายการ

  • 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()

การให้สิทธิ์

สคริปต์ที่ใช้เมธอดนี้ต้องมีการให้สิทธิ์กับขอบเขตต่อไปนี้อย่างน้อย 1 รายการ

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

การให้สิทธิ์

สคริปต์ที่ใช้เมธอดนี้ต้องมีการให้สิทธิ์กับขอบเขตต่อไปนี้อย่างน้อย 1 รายการ

  • 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 ของคอลัมน์ เช่น ดัชนีของคอลัมน์ B คือ 2

รีเทิร์น

Filter — ตัวกรองสำหรับการทำสายโซ่

การให้สิทธิ์

สคริปต์ที่ใช้เมธอดนี้ต้องมีการให้สิทธิ์กับขอบเขตต่อไปนี้อย่างน้อย 1 รายการ

  • 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 ของคอลัมน์ เช่น ดัชนีของคอลัมน์ B คือ 2
filterCriteriaFilterCriteriaเกณฑ์ตัวกรองที่จะกำหนด หากคุณกำหนดเกณฑ์เป็น null จะนำเกณฑ์ตัวกรองออกจากคอลัมน์ที่ระบุ หรือคุณจะใช้ removeColumnFilterCriteria(columnPosition) ก็ได้

รีเทิร์น

Filter — ตัวกรองสำหรับการทำสายโซ่

การให้สิทธิ์

สคริปต์ที่ใช้เมธอดนี้ต้องมีการให้สิทธิ์กับขอบเขตต่อไปนี้อย่างน้อย 1 รายการ

  • 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 ของคอลัมน์ เช่น ดัชนีของคอลัมน์ B คือ 2
ascendingBooleanหากเป็น true ให้จัดเรียงช่วงที่กรองจากน้อยไปมาก หากเป็น false ให้จัดเรียงช่วงที่กรองจากมากไปน้อย

รีเทิร์น

Filter — ตัวกรองสำหรับการทำสายโซ่

การให้สิทธิ์

สคริปต์ที่ใช้เมธอดนี้ต้องมีการให้สิทธิ์กับขอบเขตต่อไปนี้อย่างน้อย 1 รายการ

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