DataGridViewSortCompareEventArgs.Column 属性

定义

获取正在排序的列。

public:
 property System::Windows::Forms::DataGridViewColumn ^ Column { System::Windows::Forms::DataGridViewColumn ^ get(); };
public System.Windows.Forms.DataGridViewColumn Column { get; }
member this.Column : System.Windows.Forms.DataGridViewColumn
Public ReadOnly Property Column As DataGridViewColumn

属性值

DataGridViewColumn

要排序的 DataGridViewColumn

示例

下面的代码示例演示如何 Column 在多列排序中使用。 在此示例中,ID 列用于确定在排序列中存在相同值时的最终顺序,因此,如果 ID 列中存在重复值,则不会执行其他排序。 此示例是 How to: Customize Sorting in the Windows 窗体 DataGridView Control 中提供的较大示例的一部分。

private void dataGridView1_SortCompare(object sender,
    DataGridViewSortCompareEventArgs e)
{
    // Try to sort based on the cells 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 && e.Column.Name != "ID")
    {
        e.SortResult = System.String.Compare(
            dataGridView1.Rows[e.RowIndex1].Cells["ID"].Value.ToString(),
            dataGridView1.Rows[e.RowIndex2].Cells["ID"].Value.ToString());
    }
    e.Handled = true;
}
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

注解

此属性可用于确定和控制编程排序中的排序行为。

适用于

另请参阅