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

DOBON.NET

DataGridの行数を取得する

例えばDataGridコントロールのDataSourceプロパティにDataTableオブジェクトが設定されており、そのDataTableの行数を取得するには次のようにすればよいでしょう。

[VB.NET]
'DataTableの行数の取得
Dim dt As DataTable = CType(DataGrid1.DataSource, DataTable)
Console.WriteLine(dt.Rows.Count)
[C#]
//DataTableの行数の取得
DataTable dt = (DataTable) DataGrid1.DataSource;
Console.WriteLine(dt.Rows.Count);

しかし、DataTableの行数がDataGridに実際に表示されている行数と同じとは限りません。DataGridに実際に表示されている行数を取得するには、BindingManagerBaseのCountプロパティを調べます。

[VB.NET]
'DataGridの行数の取得
Console.WriteLine( _
    DataGrid1.BindingContext(DataGrid1.DataSource, _
        DataGrid1.DataMember).Count _
    )
[C#]
//DataGridの行数の取得
Console.WriteLine(
    DataGrid1.BindingContext[DataGrid1.DataSource,
        DataGrid1.DataMember].Count
    );