这有效:
DataGridView.Rows.Add("Bla Bla Bla", value1, value2)
但如果我这样做:
Dim newrow As New DataGridViewRow
newrow.SetValues("Bla Bla Bla", value1, value2)
If Not value1.Equals(value2) Then
newrow.DefaultCellStyle.ForeColor = Color.Red
End If
DataGridView.Rows.Add(newrow)
整行都是空的。
为什么行中有空单元格?
答案 0 :(得分:6)
您的newrow
变量没有任何单元格,SetValues
忽略了您的信息,因为没有任何单元格可以设置值。
来自DataGridViewRow.SetValues Method:
如果值列表中的值多于要初始化的单元格,则此方法忽略额外值并返回false。如果无法设置任何指定值,则此方法也返回false。
如果值小于单元格,则剩余的不匹配单元格将保留其当前值。
使用CreateCells
方法填充单元格:
newrow.CreateCells(DataGridView)
'' or
newrow.CreateCells(DataGridView, New Object() {"Bla Bla Bla", value1, value2})