visual una tiene propiedades por plantilla ninguna menos manualmente las filas ejemplos datos crear control como columnas codigo celda agregar winforms datagridview datagridviewcheckboxcell

winforms - una - datagridview visual basic



La columna DataGridView del tipo DataGridViewCheckBoxCell se lee/deshabilita constantemente (3)

Estoy usando .NET Windows Forms DataGridView y necesito editar una columna DataBound (que se une a una columna booleana DataTable). Para esto, especifico la plantilla de la celda como esta:

Columna DataGridViewColumn = new DataGridViewColumn (new DataGridViewCheckBoxCell ());

Verás que necesito una plantilla de celda CheckBox.

El problema al que me enfrento es que esta columna se lee / deshabilita constantemente, como si fuera de tipo TextBox. No muestra una casilla de verificación en absoluto.

¿Alguna idea sobre cómo trabajar con columnas de casillas de verificación editables para DataGridView?

Actualización: para formularios de Windows, por favor.

Gracias.


Bueno, después de más de 4 horas de depuración, descubrí que la altura de la fila de DataGridView era demasiado pequeña para que la casilla de verificación se pintara, por lo que no se mostró. Lo encontré después de un cambio accidental de altura de fila.

Como solución, puede establecer AutoSizeRowsMode en AllCells.

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


Cree un TemplateField y vincule el id a él, algo como esto:

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


En lugar de tratar de crear la columna en el código, haga clic en la pequeña flecha en un cuadro en la parte superior derecha del control DataGridView, y seleccione "Editar columnas ..." en el menú que aparece. En el cuadro de diálogo, haga clic en el botón Agregar, luego elija la opción "Columna de datos enlazados" y seleccione la columna booleana a la que se está vinculando.