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

DOBON.NET

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

指定された行番号の行が選択されているかを調べるには、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);
    }           
}

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