Estoy creando un simple DataGridView
con una columna de casilla de verificación y una columna de texto (más columnas seguirán, pero este es el ejemplo de trabajo mínimo que estoy tratando de poner en práctica). Cuando ejecuto este código, aparecen las columnas de la casilla de verificación, pero no puedo marcar las casillas.No se puede marcar la casilla en DataGridViewCheckBoxColumn?
DataGridViewCheckBoxColumn checkColumn = new DataGridViewCheckBoxColumn();
checkColumn.ThreeState = false;
checkColumn.Width = 20;
MyDataGridView.Columns.Add(checkColumn);
MyDataGridView.Columns.Add(new DataGridViewTextBoxColumn());
Como no aparece nada en este caso, pensé en agregar algunos datos ficticios.
for (int i = 0; i < 10; i++)
{
MyDataGridView.Rows.Add(new Object[] { true, "test"});
}
Normalmente, el DataGridView
se rellena con los datos ligados de una lista de objetos personalizados, como en this question of mine, pero pensé que sería mejor para conseguir este trabajo de una manera básica antes de continuar.
No estoy tratando de establecer el estado comprobado mediante programación, sino que dejo que el usuario seleccione y luego use esa selección en varios otros manejadores de eventos.
Es usted la creación cualquier otra propiedad en su DataGridView? Simplemente intenté ejecutar este código y los cuadros aparecen marcados, y se pueden borrar usando el mouse de la forma habitual. Tal vez hayas desactivado la edición en otro lugar de tu código. – andypaxo
Al estar conectado con @andypaxo, este código funciona bien de fábrica en una nueva aplicación de WinForms, por lo que el problema debe estar en algún lugar del contexto. Proporcione más información/código. – Alan
puede publicar el código en el archivo 'designer.cs' que crea la columna DataGridView y CheckBox para que podamos decirle cuál es incorrecto. Ta –