DOBON.NET プログラミング道: .NET Framework, VB.NET, C#, Visual Basic, Visual Studio, インストーラ, ...

DataGridで選択されている行を取得する

注意:ここで紹介しているDataGridは、System.Windows.Forms名前空間のDataGrid(Windowsフォーム)です。System.Web.UI.WebControls名前空間のDataGrid(Webフォーム)ではありません。

指定された行番号の行が選択されているかを調べるには、DataGrid.IsSelectedメソッドがTrueになっているかを調べます。つまりDataGridで選択されている行を調べるには、すべての行でIsSelectedメソッドを使ってみればよいわけです。次にその例を示します。

VB.NET
コードを隠すコードを選択
'選択されている行の取得
'行数の取得
Dim n As Integer = _
    DataGrid1.BindingContext(DataGrid1.DataSource, _
        DataGrid1.DataMember).Count
Dim i As Integer
For i = 0 To n - 1
    '行が選択されているか調べる
    If DataGrid1.IsSelected(i) Then
        '選択されていればその行番号を表示する
        Console.WriteLine(i)
    End If
Next
C#
コードを隠すコードを選択
//選択されている行の取得
//行数の取得
int n =
    DataGrid1.BindingContext[DataGrid1.DataSource,
        DataGrid1.DataMember].Count;
for (int i = 0; i < n; i++)
{
    //行が選択されているか調べる
    if (DataGrid1.IsSelected(i))
    {
        //選択されていればその行番号を表示する
        Console.WriteLine(i);
    }           
}

しかし行数があまりに多いときは別の方法(マウスイベントで調べるなど)を考えなければならないかもしれません。

注意:この記事では、基本的な事柄の説明が省略されているかもしれません。初心者の方は、特に以下の点にご注意ください。

  • .NET Tipsをご利用いただく際は、注意事項をお守りください。