DataGridView へまとめて行追加する方法

DataGridViewオブジェクト.DataSource = データテーブル

基本的には、上のように、DataSource プロパティに入れる方法が絶対によい。パフォーマンス的にいろいろ苦労する。んが、セットする値を編集したりするため、一行ずつデータをセットしないといけない場合、CreateCells とAddRangeを使ってセットすると早い模様

Dim oTbl As DataTable = データテーブルを開く
Dim oRows As DataGridViewRow() = New DataGridViewRow() {}
Dim itCount As Integer = 0
For i = 0 To oTbl.Rows.Count – 1
    Dim oRow As DataRow = oTbl.Rows(i)
    ReDim Preserve oRows(itCount)
    itCount += 1

    ‘1行分のデータを作る
    Dim oNewRow As New DataGridViewRow()
    oNewRow.CreateCells(DataGridViewオブジェクト, oRow(“列名1”), oRow(“列名2”))

    ‘1行分を追加
    oRows(UBound(oRows)) = oNewRow
Next

‘ まとめて表示
DataGridViewオブジェクト.Rows.AddRange(oRows)

Rows.Add() 後、 Rows(1).Cells(“列名”) = “あああ” は、100行超えると遅かった・・・

 

“DataGridView へまとめて行追加する方法” への1件の返信

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です