DataGridViewSortCompareEventArgs DataGridViewSortCompareEventArgs DataGridViewSortCompareEventArgs DataGridViewSortCompareEventArgs Class


SortCompare イベントのデータを提供します。Provides data for the SortCompare event.

public ref class DataGridViewSortCompareEventArgs : System::ComponentModel::HandledEventArgs
public class DataGridViewSortCompareEventArgs : System.ComponentModel.HandledEventArgs
type DataGridViewSortCompareEventArgs = class
    inherit HandledEventArgs
Public Class DataGridViewSortCompareEventArgs
Inherits HandledEventArgs

次のコード例では、複数SortCompare列の並べ替えでを使用する方法を示します。The following code example demonstrates the use of SortCompare in a multiple column sort. この例は、次の方法で提供される大規模な例の一部です。Windows フォーム DataGridView コントロールで並べ替えをカスタマイズします。This example is part of a larger example provided in How to: Customize Sorting in the Windows Forms 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(
    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(), _

    ' 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(), _
    End If

    e.Handled = True

End Sub


イベントを処理しSortCompareて、カスタムの並べ替えを提供できます。You can handle the SortCompare event to provide custom sorting. このイベントは、 DataGridView.DataSourceプロパティが設定DataGridView.VirtualModeされておらず、プロパティがにfalse設定されている場合にのみ発生します。This event occurs only when the DataGridView.DataSource property is not set and the DataGridView.VirtualMode property is set to false. このイベントは、並べ替えられている列のセルのペアごとに1回発生します。This event occurs once for each pair of cells in the column being sorted. このエラー DataGridViewColumn.SortMode は、Automaticユーザーがプロパティ値がの列のヘッダーをクリックした場合、またはオーバーロードを呼び出した場合にのみ発生します。DataGridView.Sort(DataGridViewColumn, ListSortDirection)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. DataGridViewColumn.SortModeプロパティ値がのProgrammatic列に対してこのイベントが発生した場合は、 DataGridViewColumnHeaderCell.SortGlyphDirectionプロパティを使用して並べ替えグリフを自分で表示する必要があります。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.

このイベントを使用すると、1つの列または複数の列のセル値を使用して行を並べ替えることができます。You can use this event to sort rows using the cell values in one column or in multiple columns. ColumnプロパティとプロパティCellValue2を使用して、プロパティで指定した列のセルの値を比較します。 CellValue1Use the CellValue1 and CellValue2 properties to compare cell values in the column specified in the Column property. コレクションをRowIndex1通じRowIndex2て他の列の値にアクセスするには、プロパティとプロパティを使用します。 DataGridView.RowsUse the RowIndex1 and RowIndex2 properties to access values in other columns through the DataGridView.Rows collection.


DataGridViewSortCompareEventArgs(DataGridViewColumn, Object, Object, Int32, Int32) DataGridViewSortCompareEventArgs(DataGridViewColumn, Object, Object, Int32, Int32) DataGridViewSortCompareEventArgs(DataGridViewColumn, Object, Object, Int32, Int32) DataGridViewSortCompareEventArgs(DataGridViewColumn, Object, Object, Int32, Int32)

DataGridViewSortCompareEventArgs クラスの新しいインスタンスを初期化します。Initializes a new instance of the DataGridViewSortCompareEventArgs class.


CellValue1 CellValue1 CellValue1 CellValue1

比較する最初のセルの値を取得します。Gets the value of the first cell to compare.

CellValue2 CellValue2 CellValue2 CellValue2

比較する 2 番目のセルの値を取得します。Gets the value of the second cell to compare.

Column Column Column Column

並べ替える列を取得します。Gets the column being sorted.

Handled Handled Handled Handled

イベント ハンドラーがイベントを完全に処理したかどうか、またはシステムが独自の処理を継続する必要があるかどうかを示す値を取得または設定します。Gets or sets a value that indicates whether the event handler has completely handled the event or whether the system should continue its own processing.

(Inherited from HandledEventArgs)
RowIndex1 RowIndex1 RowIndex1 RowIndex1

比較する最初のセルを含む行のインデックスを取得します。Gets the index of the row containing the first cell to compare.

RowIndex2 RowIndex2 RowIndex2 RowIndex2

比較する 2 番目のセルを含む行のインデックスを取得します。Gets the index of the row containing the second cell to compare.

SortResult SortResult SortResult SortResult

比較されたセルを並べ替える順序を示す値を取得または設定します。Gets or sets a value indicating the order in which the compared cells will be sorted.


Equals(Object) Equals(Object) Equals(Object) Equals(Object)

指定したオブジェクトが、現在のオブジェクトと等しいかどうかを判断します。Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

現在のオブジェクトを表す文字列を返します。Returns a string that represents the current object.

(Inherited from Object)