手动添加DataGridViewRow会导致空单元格

5

这个有效:

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)

整个行都是空的。 为什么这一行全是空单元格?
1个回答

6
您的 newrow 变量没有任何单元格,因此 SetValues 正在忽略您的信息,因为没有可以设置值的单元格。
来自 DataGridViewRow.SetValues 方法:
如果值列表中的值多于要初始化的单元格,则此方法将忽略多余的值并返回 false。 如果无法设置任何指定的值,则此方法也返回false。 如果值少于单元格数,则保留其当前值不变的未匹配单元格。 使用 CreateCells 方法来填充单元格:
newrow.CreateCells(DataGridView)
'' or
newrow.CreateCells(DataGridView, New Object() {"Bla Bla Bla", value1, value2})

1
好的,我找到了答案,我必须在 row.SetValues 之前添加 row.CreateCells(DataGridView) - Bastiflew

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接