DataGridViewSortCompareEventArgs クラス

定義

SortCompare イベントのデータを提供します。

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

次のコード例は、複数列の並べ替えでの の SortCompare 使用を示しています。 この例は、「方法: Windows フォーム DataGridView コントロールで並べ替えをカスタマイズする」で提供されるより大きな例の一部です。

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

注釈

イベントを SortCompare 処理して、カスタムの並べ替えを提供できます。 このイベントは、 プロパティが DataGridView.DataSource 設定されておらず、 DataGridView.VirtualMode プロパティが に設定されている場合にのみ発生します false。 このイベントは、並べ替えられる列のセルのペアごとに 1 回発生します。 これは、ユーザーが プロパティ値 Automaticが の列DataGridViewColumn.SortModeのヘッダーをクリックしたとき、またはオーバーロードを呼び出すときにのみ発生しますDataGridView.Sort(DataGridViewColumn, ListSortDirection)。 プロパティ値 が のProgrammatic列にDataGridViewColumn.SortMode対してこのイベントが発生した場合は、 プロパティを使用して並べ替えグリフを自分で表示するDataGridViewColumnHeaderCell.SortGlyphDirection必要があります。

このイベントを使用すると、1 つの列または複数の列のセル値を使用して行を並べ替えることができます。 プロパティで CellValue1 指定された列のセル値を比較するには、 プロパティと CellValue2 プロパティを Column 使用します。 プロパティと RowIndex2 プロパティをRowIndex1使用して、コレクションを介して他の列の値にDataGridView.Rowsアクセスします。

コンストラクター

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

DataGridViewSortCompareEventArgs クラスの新しいインスタンスを初期化します。

プロパティ

CellValue1

比較する最初のセルの値を取得します。

CellValue2

比較する 2 番目のセルの値を取得します。

Column

並べ替える列を取得します。

Handled

イベント ハンドラーがイベントを完全に処理したかどうか、またはシステムが独自の処理を継続する必要があるかどうかを示す値を取得または設定します。

(継承元 HandledEventArgs)
RowIndex1

比較する最初のセルを含む行のインデックスを取得します。

RowIndex2

比較する 2 番目のセルを含む行のインデックスを取得します。

SortResult

比較されたセルを並べ替える順序を示す値を取得または設定します。

メソッド

Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)

適用対象

こちらもご覧ください