0

简单的代码行:

myGrid.Columns.Add("Question", "Question")
myGrid.Columns.Add("Answers", "Answers")

myGrid.Rows.Add()

myGrid.Rows(0).Cells("Question").Value = "dummy checkbox test"

Dim chk As New DataGridViewCheckBoxCell
chk.TrueValue = "1"
chk.FalseValue = "0"
myGrid.Rows(0).Cells("Answers").Value = "0"
myGrid.Rows(0).Cells("Answers") = chk

将导致“System.FormatException:单元格的格式化值类型错误”。当表单被执行时。

知道为什么吗?谢谢

4

1 回答 1

0

您正在将单元格格式化为DataGridViewTextBoxCellat myGrid.Rows(0).Cells("Answers").Value = "0"。更改设置单元格类型和设置值过程的顺序如下:

myGrid.Rows(0).Cells("Answers") = chk
myGrid.Rows(0).Cells("Answers").Value = "0"

或者,您可以简单地添加“答案”列,就DataGridViewCheckBoxColumn好像您要为该列的所有单元格设置真/假值一样:

myGrid.Columns.Add("Question", "Question")
Dim chkColumn As New DataGridViewCheckBoxColumn
chkColumn.Name = "Answers"
chkColumn.HeaderText = "Answers"
myGrid.Columns.Add(chkColumn)

myGrid.Rows(0).Cells("Question").Value = "dummy checkbox test"
myGrid.Rows(0).Cells("Answers").Value = false
于 2015-10-28T02:06:46.270 回答