[Lazarus-es] Dos preguntas con el dbgrid

christian Ortiz xortix en gmail.com
Sab Jun 11 01:09:23 CEST 2011


el punto dos esta solucionado, ya existe el datalink en el ultimo svn, el
1ro no.

Creo que te equivocas con tu afirmacion, si bien es cierto el stringgrid  es
distinto al dbgrid, hay modos de conocer los elementos de las celdas.

En el 1er caso solo es desabilitar el scroll del auto seleccionamiento q
hace al dataset, no quier q desaparezca el scroll del dbgrid
2011/6/10 Jesus Reyes <jesusrmx en yahoo.com.mx>

>
>
> --- El *vie 10-jun-11, christian Ortiz <xortix en gmail.com>* escribió:
>
>
>
> 1. Como puedo desabilitar el scroll en un dbgrid para que no se mueva el
> dataset. Me explico mejor,  cuando muevo el scrooll del mouse se mueve la
> barra lateral para bajar o subir, eso esta muy bien, lo q sucede es que
> tambien se mueve la posicion del dataset y eso es lo que deseo evitar.
>
> Eso no se puede lograr con el dbgrid tal como esta, ya que para poder
> efectuarse el grid debria tener el conocimiento de la totalidad de los
> registros y de esa manera podria calcular los rangos de los scrollbars,
> ademas esto significaria que cada registro tiene un numero asociado a el y
> que el grid sabe en todo momento que numero de registro es el actual. Pero
> eso esta fuera de las posibilidades de un dbgrid.
>
>  2. Quiero mostrar hints por cada celda de un dbgrid, mostrando el
> contenido del dataset donde apunta el mouse. Mostrar el hint en cada celda
> no es problema, el problema es que no logro capturar el conteido de la celda
> donde se encuentra el mouse. La problematica se da que la celda no esta
> activa por lo que no puedo usar dataset.FielByname('campo').asstring. Lo que
> si tengo son la posicion de la celda.
>
> Lo mismo, y lo que pasa es que el grid solo tiene conocimiento pleno del
> registro que se encuentra actualmente seleccionado, los demás solo pueden
> solo se pueden acceder mediante Bookmarks. Para implementar esto tendríamos
> que guardar en un bookmark el registro actual, obtener el bookmark del
> registro de interés, seleccionarlo, obtener los datos del hint y finalmente
> seleccionar el registro actual original. Lo que no es fácil, como lo has
> expresado, es obtener bookmark del registro de interés, o sea el que se
> encuentra bajo el cursor.
>
> En general, un dbgrid aunque parece similar a un StringGrid son realmente
> diferentes, un dbgrid funciona reflejando el estado actual de un Dataset (el
> cual podría tener en memoria solo una cantidad limitada de registros,
> digamos 10 registros de un total de un millón), mas no asigna a los
> registros números únicos y consecutivos. Algo que seria indispensable para
> implementar la función que deseas.
>
> Sin embargo veo la posibilidad de que de algún modo el grid provea al
> usuario de algún método para saber que registros están actualmente en
> pantalla y también poder determinar cual de ellos esta en una coordenada
> determinada. De esta forma el usuario podría guardar el bookmark del
> registro actual, hacer el registro de interés el registro actual y poder
> efectuar las operaciones que se desee para después restaurar el registro
> actual "anterior". No se si Delphi tenga esta funcionalidad o algo similar,
> ¿alguien sabe?.
>
>  Espero alguien me de una ayuda
>
> Gracias
>
> pd. No existe Datalink :(
>
> pd. No se a que te refieres.
>
>
> --
> Christian
>
>
> Jesús Reyes A.
>
> _______________________________________________
> Lazarus-es mailing list
> Lazarus-es en lists.lazarus.freepascal.org
> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
>
>


-- 
Christian
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus-es/attachments/20110610/a666f938/attachment-0002.html>


More information about the Lazarus-es mailing list