Visual Basic.NET - checkbox en datagrid

   
Vista:

checkbox en datagrid

Publicado por leo (3 intervenciones) el 28/11/2007 06:06:38
Hola a todos, me encuentro desarrollando una aplicación windows.forms en c#y aunque este foro es de VB espero encontrar una ayudita :D... En una ventana tengo un datagrid el cual lleno atraves de un dataset, una de las columnas es tipo chek(DataGridBoolColumn), la funcionalidad que debo implementar es que sólo se permita chequear un checkbox de los que se adicionen al datagrid, es decir, si tengo cinco filas y selecciono la 3, sólo la 3 puede estar chequeada, si previamente la 2 estaba chequeada la debe deschequiar.

Estoy haciendo la funcionalidad en el evento MouseUp del datagrid pero me he encontrado con varios problemas:
- no encuentro la manera de desseleccionar los check por código a medida que los voy recorriendo
- si se clic por fuera del check pero dentro de la misma celda, el evento lo toma como si el clic fuera en el check entonces vuelve y hace la validación, sólo la deberia hacer cuando realmente se de clic en el check.

les agradeceria demasiado si me pueden colaborar con información acerca de como puedo trabajar con estos tipos de controles en un datgrid o si me pueden hechar una manito ya que llevo varios dias y no encuentro la solución a estos problemitas.

saludos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:checkbox en datagrid

Publicado por P. J. (706 intervenciones) el 28/11/2007 15:39:15
...
Yo tengo un grid con checkBox, pero en VB :D

Ahora para lograr lo que quieres agregue esto, y vaya que funciona :D

Private Sub DataGridView1_CellClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellClick
If e.ColumnIndex = 0 Then
For i As Integer = 0 To Me.DataGridView1.RowCount - 1
Me.DataGridView1.Rows(i).Cells("CCHECK").Value = False
Next
End If
End Sub

e.ColumnIndex = 0, para preguntar si se dio click en la columna del check
Me.DataGridView1.Rows(i).Cells("CCHECK").Value = False, desmarco las filas
"CCHECK", el nombre de la columna tipo checkBox

Espero te sea de utilidad, Salu2.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar