DataGridView.SortCompare イベントとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > DataGridView.SortCompare イベントの意味・解説 

DataGridView.SortCompare イベント

メモ : このイベントは、.NET Framework version 2.0 で新しく追加されたものです。

DataGridView が並べ替え操作を実行するために 2 つのセルの値を比較する場合に発生します。

名前空間: System.Windows.Forms
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)
構文構文

Public Event SortCompare As
 DataGridViewSortCompareEventHandler
Dim instance As DataGridView
Dim handler As DataGridViewSortCompareEventHandler

AddHandler instance.SortCompare, handler
public event DataGridViewSortCompareEventHandler SortCompare
public:
event DataGridViewSortCompareEventHandler^ SortCompare {
    void add (DataGridViewSortCompareEventHandler^ value);
    void remove (DataGridViewSortCompareEventHandler^ value);
}
/** @event */
public void add_SortCompare (DataGridViewSortCompareEventHandler
 value)

/** @event */
public void remove_SortCompare (DataGridViewSortCompareEventHandler
 value)
JScript では、イベントは使用できますが、新規に宣言することはできません。
解説解説

このイベントは、DataSource プロパティが設定されていなくて、VirtualMode プロパティ値が false の場合にだけ発生します。

このイベントは、並べ替えられる列のセルのペアを比較します。このイベントは、ユーザーが SortMode プロパティ値が Automatic の列ヘッダーをクリックしたとき、または Sort(DataGridViewColumn,ListSortDirection) オーバーロードを呼び出したときに発生します。SortMode プロパティ値が Programmatic の列に対してこのイベントが発生した場合は、DataGridViewColumnHeaderCell.SortGlyphDirection プロパティを使用して、並べ替えグリフを自分で表示する必要があります。

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

イベント処理の詳細については、「イベントの利用」を参照してください。

使用例使用例

複数列の並べ替えにおける SortCompare の使用方法を次のコード例に示します。次の例は「方法 : Windows フォーム DataGridView コントロールの並べ替え機能をカスタマイズする」で取り上げている例の一部です。

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
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;
}
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
DataGridView クラス
DataGridView メンバ
System.Windows.Forms 名前空間
DataGridViewSortCompareEventHandler
DataGridViewSortCompareEventArgs
OnSortCompare
DataGridViewColumn.SortMode
DataGridViewColumnHeaderCell.SortGlyphDirection
その他の技術情報
DataGridView コントロール (Windows フォーム)
方法 : Windows フォーム DataGridView コントロールの並べ替え機能をカスタマイズする



英和和英テキスト翻訳

英語⇒日本語日本語⇒英語

辞書ショートカット

すべての辞書の索引

「DataGridView.SortCompare イベント」の関連用語

DataGridView.SortCompare イベントのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



DataGridView.SortCompare イベントのページの著作権

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2026 Microsoft.All rights reserved.

©2026 GRAS Group, Inc.RSS