Category / Section
How to sort the data in WinForms Spreadsheet (SfSpreadsheet)?
1 min read
Sorting
Spreadsheet provides support to sort a range of cells in the workbook based on data. Sorting can be done based on cell values, font color and cell color respectively. For more info, please go through XlsIO UG link.
For sorting process,
- Create a data sorter of workbook in SfSpreadsheet.
- Set a sorting range to sort the data in the IRange of the worksheet.
- Set the sort order and type of sort to be performed in the selected range by using ISortField interface.
- Then the sorting operation can be done by invoking the Sort method of IDataSort interface.
- Finally invalidate the cells to refresh the view in SpreadsheetGrid.
The following code illustrates how to perform the sorting operation in Spreadsheet.
C#
IDataSort sorter = this.spreadsheet.Workbook.CreateDataSorter(); //To sort a range of cells, sorter.SortRange = this.spreadsheet.ActiveSheet.Range["E3:E8"]; sorter.HasHeader = false; ISortField sortField = sorter.SortFields.Add(4, SortOn.Values,OrderBy.Ascending); sorter.Sort(); sorter.SortFields.Remove(sortField); spreadsheet.ActiveGrid.InvalidateCell(GridRangeInfo.Cells(2,5,8,6), true); // To sort a particular column sorter.SortRange = this.spreadsheet.ActiveSheet. Range["C3:C12"]; sorter.HasHeader = false; ISortField sortField = sorter.SortFields.Add(2, SortOn.Values,OrderBy.Descending); sorter.Sort(); sorter.SortFields.Remove(sortField); spreadsheet.ActiveGrid.InvalidateCell(GridRangeInfo.Col(2), true);
Samples: