投稿者 魔界の仮面弁士  (社会人) 投稿日時 2015/6/25 22:50:53
赤バツは、レンダリングエラー時に表示されることがあります。
(レンダリングされていないだけならば、単に白くなるか、残像が残るだけですが)

一例としては、DoEvents によるイベント再入などにより、セルの描画中に
バインドデータが変更された場合などでしょうか。

単純な再現実験としてはこんなのとか。

Public Class Form1
    Private tbl1, tbl2 As DataTable
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        tbl1 = New DataTable()
        tbl1.Columns.Add("F1")
        tbl1.Columns.Add("F2")
        For n = 1 To 1000
            tbl1.Rows.Add(CStr(n), StrDup(n, "@"))
        Next

        tbl2 = New DataTable()
        tbl2.Columns.Add("F1")
        tbl2.Columns.Add("F2")
        For n = 1 To 1000
            tbl2.Rows.Add(CStr(n), StrDup(n, "="))
        Next

        Me.DataGridView1.DataSource = tbl1
    End Sub

    Private Sub DataGridView1_CellPainting(sender As Object, e As DataGridViewCellPaintingEventArgs) Handles DataGridView1.CellPainting
        If e.RowIndex < 500 Then
            Me.DataGridView1.DataSource = tbl1
        Else
            Me.DataGridView1.DataSource = tbl2
        End If
    End Sub
End Class