Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / lazarus-es / 2011-06

Dos preguntas con el dbgrid

5 messages · 2 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

christian Ortiz

Hola a todos

Aqui van mis dudas

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.

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.

Espero alguien me de una ayuda

Gracias

pd. No existe Datalink :(

Christian ------------ pr�xima parte ------------ Se ha borrado un adjunto en formato HTML... URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20110610/9546d3ef/attachment.html>

Reply by email

Jesus Reyes
to christian Ortiz

--- El vie 10-jun-11, christian Ortiz <xortix en gmail.com> escribi�:

De: christian Ortiz <xortix en gmail.com>
Asunto: [Lazarus-es] Dos preguntas con el dbgrid
A: "Spanish version of Lazarus List" <lazarus-es en lists.lazarus.freepascal.org> Fecha: viernes, 10 de junio de 2011, 7:42

Hola a todos

Aqui van mis dudas

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. ------------ pr�xima parte ------------ Se ha borrado un adjunto en formato HTML... URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20110610/70c818d2/attachment.html>

Reply by email

christian Ortiz
to Jesus Reyes

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>

Show quoted text 71 lines
--- 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.freepascal.org/pipermail/lazarus-es/attachments/20110610/a666f938/attachment.html>

Reply by email

Jesus Reyes
to christian Ortiz

--- El vie 10-jun-11, christian Ortiz <xortix en gmail.com> escribi�:

De: christian Ortiz <xortix en gmail.com>
Asunto: Re: [Lazarus-es] Dos preguntas con el dbgrid A: "Spanish version of Lazarus List" <lazarus-es en lists.lazarus.freepascal.org> Fecha: viernes, 10 de junio de 2011, 18:09

el punto dos esta solucionado, ya existe el datalink en el ultimo svn, el 1ro no. �Es una propiedad protegida ... continua en la siguiente replica.�

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. ��
el Datalink es util a grids derivados y a hacks de bajo nivel, si eso querias nada te costaba especificarlo. �

En el 1er caso solo es desabilitar el scroll del auto seleccionamiento q hace al dataset, no quier q desaparezca el scroll del dbgrid

"desabilitar el scroll del auto seleccionamiento q hace al dataset" �

La verdad es que usamos una jerga muy diferente para referirnos las cosas, por eso no te entiendo. Si te hace mas facil escribilo en ingles adelante. Jesus Reyes A.

------------ pr�xima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20110610/75c6e247/attachment.html>

Reply by email

christian Ortiz
to Jesus Reyes

tratare de explicarme mejor en el 2do pto.

tengo un dbgrid que tiene N registros, cuando muevo la rueda del raton no solo se mueve el scroll del dbgrid sino que tambien se mueve la posicion del dataset. Esto ultimo es lo que quiero evitar.

Gracias Jesus por tu interes

2011/6/10 Jesus Reyes <jesusrmx en yahoo.com.mx>

Show quoted text 47 lines
--- El *vie 10-jun-11, christian Ortiz <xortix en gmail.com>* escribi�: De: christian Ortiz <xortix en gmail.com> Asunto: Re: [Lazarus-es] Dos preguntas con el dbgrid A: "Spanish version of Lazarus List" < lazarus-es en lists.lazarus.freepascal.org> Fecha: viernes, 10 de junio de 2011, 18:09 el punto dos esta solucionado, ya existe el datalink en el ultimo svn, el 1ro no. Es una propiedad protegida ... continua en la siguiente replica. 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. el Datalink es util a grids derivados y a hacks de bajo nivel, si eso querias nada te costaba especificarlo. En el 1er caso solo es desabilitar el scroll del auto seleccionamiento q hace al dataset, no quier q desaparezca el scroll del dbgrid "desabilitar el scroll del auto seleccionamiento q hace al dataset" La verdad es que usamos una jerga muy diferente para referirnos las cosas, por eso no te entiendo. Si te hace mas facil escribilo en ingles adelante. Jesus 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.freepascal.org/pipermail/lazarus-es/attachments/20110610/2ab1869d/attachment.html>

Reply by email