Skip to main content

GetParent

Returns the parent filters collection for this filter column.

Syntax

expression.GetParent();

expression - A variable that represents a ApiFilter class.

Parameters

This method doesn't have any parameters.

Returns

ApiAutoFilter

Example

Retrieve the auto-filter object that owns a specific column filter in a spreadsheet.

// How do I get back to the overall auto-filter from one of its individual column filters in a spreadsheet?

// Trace a column filter up to its containing auto-filter to inspect the filtered range in a spreadsheet.

let worksheet = Api.GetActiveSheet();

// Prepare a small table
worksheet.GetRange("A1").SetValue("City");
worksheet.GetRange("B1").SetValue("Temperature");

worksheet.GetRange("A2").SetValue("London");
worksheet.GetRange("B2").SetValue(20);
worksheet.GetRange("A3").SetValue("Paris");
worksheet.GetRange("B3").SetValue(10);
worksheet.GetRange("A4").SetValue("Rome");
worksheet.GetRange("B4").SetValue(30);

// Apply a filter on column B
let dataRange = worksheet.GetRange("A1:B4");
dataRange.SetAutoFilter(2, ">15", "xlOr");

// Get the first ApiFilter
let autoFilter = worksheet.AutoFilter;
let filters = autoFilter.Filters;

if (filters.length > 0) {
let filter = filters[0];
let parentAutoFilter = filter.GetParent(); // or filter.Parent

worksheet.GetRange("D1").SetValue("Parent AutoFilter range:");
let parentRange = parentAutoFilter.GetRange();
if (parentRange !== null) {
worksheet.GetRange("D2").SetValue(parentRange.GetAddress());
}

worksheet.GetRange("D4").SetValue("This filter belongs to the sheet:");
worksheet.GetRange("D5").SetValue(parentAutoFilter.Parent.GetName());
}