【问题标题】:Adding a DataGridViewCheckBoxCell添加 DataGridViewCheckBoxCell
【发布时间】:2015-10-27 14:14:08
【问题描述】:

简单的代码行:

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:单元格的格式化值类型错误”。表单执行时。

知道为什么吗? 谢谢

【问题讨论】:

  • 我发现在代码中手动构建未绑定的 DataDridView 非常令人沮丧。我只是在 IDE 中构建它然后使用它。您可以定义要使用的复选框列。你想展示什么? - 代码没有多大意义 - 您正在尝试将控件分配给 TextBox 值。你应该有一个 Checkbox 列并设置它的值。

标签: winforms datagridview datagridviewcheckboxcell


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2023-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多