C#Winforms使用CheckBoxColumn在DataGridView中使用AutoGenerateColumns

时间:2013-06-06 12:12:45

标签: c# winforms datagridview

我使用带有AutoGenerateColumns的DataGridView,但希望将其中一列(整数)显示为CheckBoxColum,是否有简单的方法,还是必须关闭AutoGenerateColumns并手动添加所有列? 更改cellTemplate会导致错误

dgvKlanten.AutoGenerateColumns = true;
dgvKlanten.DataSource = dsKlantenBeheer.Tables["Klanten"];
dgvKlanten.Columns["Nieuwsbrief"].Width = 70;
//dgvKlanten.Columns["Nieuwsbrief"].CellTemplate = new DataGridViewCheckBoxCell();

1 个答案:

答案 0 :(得分:2)

您可以隐藏该列的自动生成列,然后手动添加一个复选框列以取代它。

另外,我假设这个整数列只支持0和1的值?由于这是一个整数而不是像复选框所期望的布尔值,您可能必须使用网格事件(如CellFormatting)从数据源中读取值并相应地设置复选框,但我不确定。或者,如果这是一个对象,您可以使用另一个自定义属性将整数值公开为布尔值。无论如何,您可能需要做更多的工作,而不仅仅是添加一个复选框列并将其指向数据源列。