C# 如何在特定行和列中添加复选框?

C# 如何在特定行和列中添加复选框?,c#,winforms,checkbox,datagridview,C#,Winforms,Checkbox,Datagridview,我想在特定的行和列中添加复选框,但我总是偶然发现这个错误 “System.FormatException:单元格的格式化值具有错误的 类型。“ 这是我添加复选框的代码 private void checkboxSource(string columnSource, int n) { DataGridViewCheckBoxCell checkboxColumn = new DataGridViewCheckBoxCell(); checkboxCo

我想在特定的行和列中添加复选框,但我总是偶然发现这个错误

“System.FormatException:单元格的格式化值具有错误的 类型。“

这是我添加复选框的代码

    private void checkboxSource(string columnSource, int n)
    {
        DataGridViewCheckBoxCell checkboxColumn = new DataGridViewCheckBoxCell();
        checkboxColumn.FalseValue = "0";
        checkboxColumn.TrueValue = "1";
        dataGridView1.Rows[n].Cells[6] = checkboxColumn;
    }

当我尝试将
checkboxColumn
绑定到datagridview时,我知道有问题。如果考虑了哪些行和单元格,请有人指导我如何将复选框正确绑定到datagridview。提前感谢。

错误是因为单元格包含空值。您应该将单元格的值设置为
false
。当单元格值为
DBNull时,该属性设置显示值。value
null

var cell = new DataGridViewCheckBoxCell()
{
    TrueValue = "1",
    FalseValue = "0",
};
cell.Style.NullValue = false;
this.dataGridView1.Rows[2].Cells[0] = cell;

通常,您应该创建类型为
DataGridViewCheckBoxColumn
的列,而不是更改单元格类型。但如果出于某种原因需要更改特定的单元格类型,则可以更改单元格类型。