DataGridViewSortCompareEventArgs Class
Assembly: System.Windows.Forms (in system.windows.forms.dll)
You can handle the SortCompare event to provide custom sorting. This event occurs only when the DataGridView.DataSource property is not set and the DataGridView.VirtualMode property is set to false. This event occurs once for each pair of cells in the column being sorted. It occurs only when the user clicks the header of a column with a DataGridViewColumn.SortMode property value of Automatic, or when you call the DataGridView.Sort(DataGridViewColumn,ListSortDirection) overload. When this event occurs for a column with a DataGridViewColumn.SortMode property value of Programmatic, you must display the sorting glyph yourself through the DataGridViewColumnHeaderCell.SortGlyphDirection property.
You can use this event to sort rows using the cell values in one column or in multiple columns. Use the CellValue1 and CellValue2 properties to compare cell values in the column specified in the Column property. Use the RowIndex1 and RowIndex2 properties to access values in other columns through the DataGridView.Rows collection.
The following code example demonstrates the use of SortCompare in a multiple column sort. This example is part of a larger example provided in How to: Customize Sorting in the Windows Forms DataGridView Control.
Private Sub DataGridView1_SortCompare( _ ByVal sender As Object, ByVal e As DataGridViewSortCompareEventArgs) _ Handles DataGridView1.SortCompare ' Try to sort based on the contents of the cell in the current column. e.SortResult = System.String.Compare(e.CellValue1.ToString(), _ e.CellValue2.ToString()) ' If the cells are equal, sort based on the ID column. If (e.SortResult = 0) AndAlso Not (e.Column.Name = "ID") Then e.SortResult = System.String.Compare( _ DataGridView1.Rows(e.RowIndex1).Cells("ID").Value.ToString(), _ DataGridView1.Rows(e.RowIndex2).Cells("ID").Value.ToString()) End If e.Handled = True End Sub
System.EventArgs
System.ComponentModel.HandledEventArgs
System.Windows.Forms.DataGridViewSortCompareEventArgs
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.
Reference
DataGridViewSortCompareEventArgs MembersSystem.Windows.Forms Namespace
DataGridView Class
DataGridView.SortCompare Event
DataGridView.OnSortCompare
DataGridView.Rows Property
DataGridViewSortCompareEventHandler
DataGridViewColumn.SortMode Property
DataGridViewColumnHeaderCell.SortGlyphDirection Property
CellValue1
CellValue2
Column
RowIndex1
RowIndex2