Ver Mensaje Individual
  #6 (permalink)  
Antiguo 23/06/2009, 06:36
fiorella3247
 
Fecha de Ingreso: febrero-2009
Mensajes: 101
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: Marcar un CheckBox de un DataGridView en VB.Net

Cita:
Iniciado por Dradi7 Ver Mensaje
puedes poner tu codigo para poder como estas haciendolo
Hi Dradi7 gracias !!!...
Aca te colocó el código que uso en el evento Load() del form VentanaCargarAlumnos

Private Sub VentanaCargarAlumnos_Load(ByVal sender ...) Handles MyBase.Load
'AjustarCeldas = True
Me.MdiParent = VentanaPrincipal 'Formulario MDI
'***********************************************
DataGridCargarAlumno.Columns.Clear()
'*****************************************
Call BD.conectarBD() 'LLAMAR AL MODULO PARA CONECTAR LA BD
'************************************************
'CREACION DE LA COLUMNA CON EL CHECKBOX
Obj = Col
Obj.HeaderText = "Estado" ' el texto que ira en la cabecera
Obj.Name = "Estado" ' Nombre de la Columna de la Grilla
Obj.Width = 50
DataGridCargarAlumno.Columns.Add(Obj)
DataGridCargarAlumno.Columns(DataGridCargarAlumno. Columns.Count - 1).DisplayIndex = 0
' Es para que la columna sea la primera en la grilla
DataGridCargarAlumno.ReadOnly = False ' Esto para que toda la grilla sea editable
DataGridCargarAlumno.DataSource = Nothing ' al inicio no va ningun enlaze de datos
'***********************************************

If Opcion = 1 Then
Id = VentanaOpcionGrupo.TextId.Text 'toma el codigo del grupo nuevo
SQL = "SELECT CedAlumno AS 'Cédula', NomAlumno AS 'Nombre', EspAlumno AS 'Especialidad', ALUMNO.IdGrupo AS 'Código Grupo' FROM ALUMNO WHERE IdGrupo='00'"
'el grupo 00 es grupo especial que se le asigna a los alumnos al cargarlos por primera vez.
'los selecciono a ellos para seleccionar justamente los que no tengan grupos para asignarles el grupo que estoy creando.
Else
Id = VentanaOpcionGrupo.LabelId.Text ' toma el codigo del grupo existente
SQL = "SELECT CedAlumno AS 'Cédula', NomAlumno AS 'Nombre', EspAlumno AS 'Especialidad', ALUMNO.IdGrupo AS 'Código Grupo' FROM GRUPO inner join ALUMNO ON GRUPO.IdGrupo=ALUMNO.IdGrupo WHERE GRUPO.IdGrupo='" & Id & "' OR ALUMNO.IdGrupo='00'"
'aca cargo los alumnos que no tienen grupo
'y ademas los alumnos que pertenecen a el grupo que voy a modificar
End If
'****************************
'datagridCargarAlumno
Call BD.CargarDataGrid(OrigendeDatos, myAdapter, myTable, DataGridCargarAlumno, SQL) 'LLAMAR AL MODULO PARA CARGAR EL DATAGRID
'************************************************* ************************************************** ****************************
'************************************************* ********************************************
' Este for es para que solo sea editable el checkbox de la grilla es decir poder hacerle click
For Col As Integer = 0 To DataGridCargarAlumno.Columns.Count - 1
If Not Col = 0 Then
DataGridCargarAlumno.Columns(Col).ReadOnly = True
End If
Next
'************************************************* ******************

For Each Row As DataGridViewRow In DataGridCargarAlumno.Rows

If Convert.ToString(Row.Cells(4).Value) = IdGrupo Then ' suponiendo que sea la ultima columna
Row.Cells(0).Value = True ' suponiendo que sea la columna del check
'Row.Cells(1).Value = "hola!!!"
Else
Row.Cells(0).Value = False
End If
' Label1.Text = Convert.ToString(Row.Cells(4).Value)
Next

'******* ESTO ES LO QUE ESTUVE TRATANDO DE HACER PARA VARIAR ********
'Dim variable As String
''MsgBox("Id del Grupo Existente= " & IdGrupo)
'For i As Integer = 0 To Me.DataGridCargarAlumno.Rows.Count - 1
' variable = DataGridCargarAlumno.Rows(i).Cells(4).Value
' ' MsgBox("variable= " & variable)
' If variable = IdGrupo Then
' DataGridCargarAlumno.Rows(i).Cells(0).Value = True
' ' MsgBox(DataGridCargarAlumno.Rows(i).Cells(0).Value )
' ' MsgBox("culpe")
' Else
' DataGridCargarAlumno.Rows(i).Cells(0).Value = False
' ' MsgBox(DataGridCargarAlumno.Rows(i).Cells(0).Value )
' ' MsgBox("no cumple")
' End If
'Next
'************************************************* *******
End Sub

Trate de escribir lo que trato de hacer en cada línea de código.

Saludos y Exito

Aca tambien adjunto el módulo para cargar el DataGrid:

Sub CargarDataGrid(ByVal OrigendeDatos As Windows.Forms.BindingSource, ByVal myAdapter As SqlDataAdapter, ByVal myTable As DataTable, ByVal DataGridGrupo As Object, ByVal SQL As String)

OrigendeDatos = New Windows.Forms.BindingSource 'instanciando a la clase. creando una nueva instancia
'************************************************* ************************************************** **
myAdapter = New SqlDataAdapter(SQL, myConn) 'Crear un DataAdapter y
'pasarle el comando para traer los registros
'************************************************* ************************************************** **
myAdapter.Fill(myTable) ' lleno la tabla con los registros que me generan myAdaptar
'************************************************* ************************************************** **
OrigendeDatos.DataSource = myTable 'Enlazar el DataTable al BindingSource
'************************************************* ************************************************** **
DataGridGrupo.DataSource = OrigendeDatos.DataSource 'Propiedades para el DataGridview
End Sub