Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   DBGrid (https://www.clubdelphi.com/foros/showthread.php?t=10437)

bbjb 19-05-2004 17:16:39

DBGrid
 
Buenas a todos,

Tengo un problemilla con la gestión de un dbgrid que paso a detallaros a continuación. El programa está compuesto por los siguientes objetos:

Query1 relacionado a un Dataset que a su vez está asociado a un TDbgrid y a varios TDbEdit.

El funcionamiento hasta ahora del programa era el de seleccionar un elemento del dbgrid para que me mostrase todos los datos del registro en los TDbEdit correspondientes.

Quiero introducir la posibilidad de que pulsando un Botón me permita seleccionar en el elemento n del dbgrid, de tal manera que me permita situarme en la posición n de este objeto y me muestre los datos del registro seleccionado en los TDbEdit.

Consigo situarme en la posición deseada del DbGrid (grid.Row:= n), pero no se actualizan los datos mostrados en los dbedit.

Como puedo conseguirlo?????,

Un saludo

delphi.com.ar 19-05-2004 17:25:01

Tienes que pensar siempre todo orientado hacia los datasets, no "mover la grilla" sinó "mover el dataset" y la grilla y todos los componentes relacionados verán el cambio.

Saludos!

roman 19-05-2004 17:28:48

Cita:

Empezado por bbjb
Consigo situarme en la posición deseada del DbGrid (grid.Row:= n)

¿Cómo consigues esto? Dado que Row es una propiedad protegida supongo que estás usando algún truco de moldeo de tipos. Cualquiera que uses no te lo recomiendo. Aquí lo que hay que entender es que los datos de un DbGrid se recorren usando los métodos de navegación del DataSet asociado y no los que pudiera tener el DBGrid. Esto es así porque un DBGrid es un grid "virtual" que sólo tiene definidas las filas que se muestran y no todas las que corresponderían a la tabla asociada. Conforme nos movemos por el DbGrid dichas filas se van creando "al vuelo". La razón por la que no se actualizan los datos es- muy posiblemente, habría que revisar el código fuente -precisamente que recorres el grid pero no el dataset.

Por otra parte no es natural que un usuario quiera colocarse en la fila n del grid, sino en un registro x de la tabla definido por algún criterio. Creo que es por ahí por donde tienes que buscarle y una vez que decidas qué criterio, utilizar, como te digo, los métodos de navegación y búsqueda del DataSet asociado.

// Saludos

bbjb 19-05-2004 17:28:59

Movimiento dataset
 
Disculpa mi ignorancia, pero podrías explicarme un poco más como hacer ese movimiento de dataset

delphi.com.ar 19-05-2004 17:33:30

Con cualquiera de estos métodos: Next, Prior, Last, First, MoveBy, Locate....... (Es recomendable que leas la ayuda de esta clase)

bbjb 19-05-2004 17:37:13

Ok, muchas gracias por los consejos/información


La franja horaria es GMT +2. Ahora son las 00:51:55.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi