FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Posición fija en DBGrid
Hola amigos, estoy con delphi 5, en una pantalla muestro un dbgrid que está enlazado con un query que se actualiza cada un segundo por medio de un timer, la consulta es la siguiente. Si selecciono un registro del dbgrid (por ejempro el tercero) no lo puedo mantenerlo seleccionado porque se vuelve a ejecutar el query (dentro del timer) y me vuelve al primer registro del dbgrid.
Cómo podría mantenerlo seleccinado? Gracias. |
#2
|
||||
|
||||
Suponiendo que tengamos una clave única que lo identifique unívocamente, podrías buscar dicho registro con un Locate, despues de cada actualización, sino lo veo difícil pues cada actualización haría que este se encontrara en lugares distintos y además sería un registro nuevo, puesto que cada activación del cursor arrojaría un conjunto de datos nuevo.
Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
#3
|
|||
|
|||
que parámetros toma Locate
|
#4
|
||||
|
||||
Sólo añadir, que aunque con el Locate (también podrías utilizar un TBookmark) logres posicionarte en el mismo registro, eso no significa que ese registro se encuentre en el mismo lugar respecto de la fila inicial que se mostraba en el DBGrid en ese momento, es decir, si por ejemplo el primer registro que se muestra en el DBGrid en un momento dado es el nº 15 (por poner un ejemplo) (ya que se hizo Scroll con el ratón o con la barra de desplazamiento), y el registro seleccionado es el nº 19 (por lo tanto, la 5ª posición en el DBGrid empezando desde arriba), aunque logres volver a posicionar la barra del DBGrid en el registro nº 19 de tu consulta, eso no significa necesariamente que vuelva estar seleccionada en la 5ª línea del Grid.
Además quiero comentarte que creo que actualizar el Query cada segundo me parece un intervalo de tiempo bastante corto.
__________________
Piensa siempre en positivo ! |
#5
|
||||
|
||||
Para saber más acerca de la función Locate podrías hacer referencia a la propia ayuda del Delphi, aunque pienso que también dependerá de los componentes Query que utilizes.
Cita:
__________________
Piensa siempre en positivo ! |
#6
|
||||
|
||||
Hola Gluglu:
Yo había pensado en utilizar un BookMark, pero no lo manifesté porque habla de lanzar la consulta cada x tiempo y que yo sepa el BookMark sirve para desplazarse en conjuntos de datos y luego recuperar la posición después de un desplazamiento, yo de hecho lo utilizo mucho, pero creo que en este caso no funcionaría, ya que estamos hablando de una posición de un conjunto de datos que ya no existe. Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
#7
|
||||
|
||||
Yo utilizo también el Bookmark para estos casos y hasta el momento no me ha dado problemas.
Entiendo que el Bookmark es algo que el propio Delphi crea en base a los valores de los campos de cada registro. Hasta el momento he podido comprobar que a pesar de cerrar y abrir un DataSet, o hacer una nueva consulta, Delphi siempre devuelve el mismo Bookmark para un mismo registro con unos valores si no se han modificado. Por ello, si el registro sobre el cual vamos a utilizar un Bookmark no es borrado de la base de datos, siempre volveremos al mismo registro con su correspondiente Bookmark. Lo dicho, en su momento hice pruebas y comprobé este extremo, y a mi me funciona correctamente.
__________________
Piensa siempre en positivo ! |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
ubicarme en la posicion 2 de dbgrid | dmagui | Conexión con bases de datos | 1 | 02-09-2005 23:55:27 |
Posicion cursor DBGrid en pantalla | aram2r | OOP | 2 | 10-03-2005 16:11:09 |
Posicion de un registro en un DBGrid | VRO | OOP | 6 | 27-10-2004 10:22:57 |
insertar en una posicion en un dbgrid | felixgo | Conexión con bases de datos | 4 | 16-06-2004 18:26:06 |
Leer Archivo .Q43 de Posición Fija es como un Txt | FNADALO | Varios | 1 | 25-05-2004 17:15:27 |
|