• Domingo 5 de Mayo de 2024, 07:36

Autor Tema:  Re: DBGrid seleccionar fila  (Leído 3216 veces)

JuanPi

  • Miembro activo
  • **
  • Mensajes: 27
    • Ver Perfil
Re: DBGrid seleccionar fila
« en: Lunes 25 de Marzo de 2002, 18:27 »
0
Hola,
tengo un DBGrid que me muestra todos los registros de una tabla, y lo que quiero saber es que código debo escribir, o más bien, que evento del DBGrid debo poner, para que al pulsar sobre un cuadradito de la parte izquierda que hay para cada fila del DBGrid, me pase los campos del registro de la fila pulsada a unos Textbox que tengo para mostrar cada campo del registro.


Gracias, y un saludo.

Juan.

Isla Programacion

  • Nuevo Miembro
  • *
  • Mensajes: 13
    • Ver Perfil
    • http://www.islaprogramacion.com
Re: DBGrid seleccionar fila
« Respuesta #1 en: Martes 26 de Marzo de 2002, 22:34 »
0
Hola Juan:

El evento RowColChange se ejecuta cada vez que cambia la columna o fila donde este el cursor, ya sea por cambiar de celda o por que lo hagas con el RecordSelectors.

Si lo que quieres es que solo lo haga cuando pulse el selector de la Izda tienes que escribir un condicional (If) que evalue si la fila esta seleccionada, ya que si lo haces mediante el cambio de celda la fila no se selecciona.

Private Sub DBGrid1_RowColChange(LastRow As Variant, ByVal LastCol As Integer)

End Sub

DBGrid1.SelBookmarks.Count devuelve el numero de filas que tienes en la coleccion de filas seleccionadas.
Puedes usar esta colección para posicionar el puntero de la base de datos en la fila seleccionada.

If DBGrid1.SelBookmarks.Count > 0 Then
Data1.Recordset.Bookmark = DBGrid1.SelBookmarks(0)
Else
'Esto evitaria que el usuario seleccionara otra fila mientras pulsa Shift o Ctrl.
MsgBox "Solo puedes seleccionar una fila para mostrar"
End If

Private Sub DBGrid1_RowColChange(LastRow As Variant, ByVal LastCol As Integer)
   If DBGrid1.SelBookmarks.Count > 0 Then
      Data1.Recordset.Bookmark = DBGrid1.SelBookmarks(0)
      'Aqui situas el código para los TextBox si no están enlazados al data.
   Else
      'Esto evitaria que el usuario seleccionara otra fila mientras pulsa Shift o Ctrl.
      MsgBox "Solo puedes seleccionar una fila para mostrar"
   End If
End Sub

Observa que al igual que los indices de controles el valor del último indice es Count - 1

Saludos.
[img=196x28]http://www.islaprogramacion.com/imagenes/utiles/islaprogramacionbl.gif[/img]

JuanPi

  • Miembro activo
  • **
  • Mensajes: 27
    • Ver Perfil
DBGrid seleccionar fila
« Respuesta #2 en: Miércoles 27 de Marzo de 2002, 17:42 »
0
Muchas gracias Jose,
 ya sale esto exactamente como yo queria, estoy alucinando!!, jejej.