关于winforms:DataGridViewCheckBoxCell类型的DataGridView列一直处于只读/禁用状态

关于winforms:DataGridViewCheckBoxCell类型的DataGridView列一直处于只读/禁用状态

DataGridView column of type DataGridViewCheckBoxCell is constantly readonly/disabled

我正在使用.NET Windows窗体DataGridView,并且我需要编辑DataBound列(绑定在布尔型DataTable列上)。 为此,我指定像这样的单元格模板:

DataGridViewColumn column = new DataGridViewColumn(new DataGridViewCheckBoxCell());

您看到我需要一个CheckBox单元模板。

我面临的问题是,此列一直处于只读/禁用状态,就好像它是TextBox类型一样。 它根本不显示复选框。

关于如何使用DataGridView的可编辑复选框列的任何想法?

更新:请使用Windows窗体。

谢谢。


嗯,经过4个多小时的调试,我发现DataGridView行高太小,无法绘制该复选框,因此根本没有显示它。 我在意外调整行高后发现了这一点。

作为解决方案,您可以将AutoSizeRowsMode设置为AllCells。

richDataGrid.AutoSizeRowsMode = System.Windows.Forms.DataGridViewAutoSizeRowsMode.AllCells;


无需尝试在代码中创建列,而是单击DataGridView控件右上方框中的小箭头,然后从出现的菜单中选择"编辑列..."。 在对话框中,单击"添加"按钮,然后选择"数据绑定列"选项,然后选择要绑定到的布尔列。


创建一个TemplateField并将其绑定到ID,如下所示:

1
2
3
4
    <ItemTemplate>
        ' />
    </ItemTemplate>
</asp:TemplateField>


推荐阅读