Sorting and Filtering in Windows Forms Spreadsheet
14 Aug 20262 minutes to read
This section explains the features of sorting and filtering in the Spreadsheet.
Enable Filtering
By default, the Spreadsheet does not allow filtering support, so if you want to enable filtering in Spreadsheet, set the AllowFiltering property to be true.
spreadsheet.AllowFiltering = true;NOTE
Refer to the Filtering Demo for your reference.
Programmatic Sorting and Filtering
Sorting
Sort the data programmatically when importing the workbook in the WorkbookLoaded event of Spreadsheet.
spreadsheet.AllowFiltering = true;
spreadsheet.WorkbookLoaded += spreadsheet_WorkbookLoaded;
void spreadsheet_WorkbookLoaded(object sender, WorkbookLoadedEventArgs args)
{
IRange filterRange = spreadsheet.Workbook.ActiveSheet.Range["A1:D9"];
spreadsheet.Workbook.ActiveSheet.AutoFilters.FilterRange = filterRange;
IDataSort sorter = spreadsheet.Workbook.CreateDataSorter();
sorter.SortRange = spreadsheet.ActiveSheet.Range["A1:D9"];
ISortField sortField = sorter.SortFields.Add(1, SortOn.Values, OrderBy.Ascending);
sorter.Sort();
}Filtering
Filter the data programmatically when importing the workbook in the WorkbookLoaded event of Spreadsheet.
spreadsheet.AllowFiltering = true;
spreadsheet.WorkbookLoaded += spreadsheet_WorkbookLoaded;
void spreadsheet_WorkbookLoaded(object sender, WorkbookLoadedEventArgs args)
{
IRange filterRange = spreadsheet.Workbook.ActiveSheet.Range["A1:D9"];
spreadsheet.Workbook.ActiveSheet.AutoFilters.FilterRange = filterRange;
IAutoFilter filter = spreadsheet.Workbook.ActiveSheet.AutoFilters[0];
filter.AddTextFilter("1");
}For more details, please go through the documentation of the XlsIO UG.
NOTE
If you have programmatically applied the sorting or filtering at runtime, refresh the view to change it in
SpreadsheetGrid. But even after refreshing the view, these changes won’t be updated in Filter popup.
Unsupported Features
Spreadsheet currently does not support the following features.
- Advanced filtering
- Table filtering
- Multi-column sorting
Limitations
Sorting
- Microsoft Excel varies the sort label in the filter popup based on the column’s value type (for example, “Sort Smallest to Largest” for numerical values, “Sort A to Z” for string values, etc.). However, the Spreadsheet does not vary the sort label based on values, in order to improve filter popup loading efficiency.
- If a column is sorted in Microsoft Excel, the “Sort Ascending” or “Sort Descending” option is not checked in the filter popup, because XlsIO does not currently expose the sorted order when importing a workbook.
Filtering
- When a filter is applied in Microsoft Excel, clearing the filter on any column in the Spreadsheet also clears filters on all other columns.