PDA

Ver la Versión Completa : Mostrar botones en DBGrid


mazinger
31-12-2004, 12:48:06
Hola amigos y feliz año a todos¡¡¡

Me gustaría saber si hay alguna manera de poner un botón en cada registro de una DBGrid, para abrir un formulario adjunto que muestre el detalle del registro. Ya conozco la propiedad ButtonStyle de TColumns, pero no me gusta mucho, ya que es un poco engorrosa de utilizar. Me gustaría que en cada linea del DBGrid se muestre un botón. Tal vez haya algún componente de terceros que permita hacer esto.
Me parece que se ha tratado anteriormente pero no he sido capaz de encontrar el hilo.

Por otra parte cuando abro una tabla de Access con ADO de unos 50 campos y unos 2000 registros me tarda alrededor de tres o cuatro segundos en abrirla, tal vez deba cambiar el valor de alguna propiedad para aumentar la velocidad. ¿Alguien me ayuda?

Gracias

Neftali [Germán.Estévez]
03-01-2005, 09:47:52
Me gustaría saber si hay alguna manera de poner un botón en cada registro de una DBGrid, para abrir un formulario adjunto que muestre el detalle del registro. Ya conozco la propiedad ButtonStyle de TColumns, pero no me gusta mucho, ya que es un poco engorrosa de utilizar. Me gustaría que en cada linea del DBGrid se muestre un botón. Tal vez haya algún componente de terceros que permita hacer esto.
Me parece que se ha tratado anteriormente pero no he sido capaz de encontrar el hilo.
Revisa ésta página; En ella explica cómo trabajar con Combos dentro de un DBGrid; En la misma página hay enlaces para hacer algo similar con otros componentes; Ninguno de ellos es un botón, pero las ideas tal vez te puedan servir.

http://delphi.about.com/od/usedbvcl/l/aa101403b.htm

NOTA: (y que conste que ésto es una opinión personal) No acabo de entender para qué poner un botón en cada celda del Grid (si tenemos 2000 filas, peor) pudiendo poner un botón fuera que haga lo mismo.

Por otra parte cuando abro una tabla de Access con ADO de unos 50 campos y unos 2000 registros me tarda alrededor de tres o cuatro segundos en abrirla, tal vez deba cambiar el valor de alguna propiedad para aumentar la velocidad.
Supongo que debes estar trayendo todos los registros a local cuando abres la consulta/Tabla; Revisa las propiedades de CursorLocation de la conexión ADO y del ADOTable/ADOQuery que tengas para obtener los datos; Si la modificas para trabajar en modo servidor evitarás cargar toda la tabla al abrirla.

roman
03-01-2005, 15:44:27
NOTA: (y que conste que ésto es una opinión personal) No acabo de entender para qué poner un botón en cada celda del Grid (si tenemos 2000 filas, peor) pudiendo poner un botón fuera que haga lo mismo.


En realidad no tendría que poner 2000 botones ya que basta poner los correspondientes a las filas visibles. De cualquier forma estoy de acuerdo contigo, basta un único botón externo.

// Saludos