DataGridViewCheckBoxCell类型的DataGridView列始终是只读/禁用的

Vas*_*aga 5 datagridview datagridviewcheckboxcell winforms

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

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

你看我需要一个CheckBox单元格模板.

我面临的问题是该列始终是只读/禁用的,就好像它是TextBox类型一样.它根本不显示复选框.

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

更新:对于Windows窗体,请.

谢谢.

Vas*_*aga 6

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

作为解决方案,您可以将AutoSizeRowsMo​​de设置为AllCells.

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


Bir*_*iri 0

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

<asp:TemplateField HeaderText="Whatever" SortExpression="fieldname" ItemStyle-HorizontalAlign="Center">
    <ItemTemplate>
        <asp:CheckBox runat="server" ID="rowCheck" key='<%# Eval("id") %>' />
    </ItemTemplate>
</asp:TemplateField>
Run Code Online (Sandbox Code Playgroud)