Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   añadir un renglón a un dbgrid (https://www.clubdelphi.com/foros/showthread.php?t=1731)

olybola 25-06-2003 18:27:59

añadir un renglón a un dbgrid
 
hola a todos y un saludo especial a Federico ;)

alguien podría ayudarme? necesito agregarle un nuevo renglón a un dbgrid que carga información de una tabla...

cargo la tabla en el dbgrid y quiero que me aparezca un renglón en blanco siempre, como puede hacer?...

gracias, y un saludo desde la tierra Cachanilla, MEXICALI, MEXICO :D

delphi.com.ar 25-06-2003 18:34:41

Este Federico... ¡Qué barbaridad! :D

Una forma muy fácil, que no requiere modificar el DBGrid, si es que lo cargas con un TQuery, aunque por lo que comentas parece que lo cargas con un TTable, podrías hacer que la consulta retorne un registro de mas, utilizando un UNION con una consulta que solo retorne un registro vacío.

Si esto no te sirve, podemos investigar un poco más...
Saludos!

olybola 25-06-2003 18:56:39

gracias por la respuesta

en este caso el campo que quiero agregar debe encontrarse al final del dbgrid, los datos los carga desde un query que une 2 tablas y los ordena, asi que el campo vacío me lo pondría al inicio, debe haber otra forma de manipular el dbgrid creo yo, pero obviamente no sé como :(

gracias por tu atención joven delphi.com.ar... pero el saludo es para Federico jejeje :p ;)

delphi.com.ar 25-06-2003 19:01:14

Si no lo ordenas, tiene que aparecer debajo, sinó esto funcionaría (Está escrito para oracle):

Código:

SELECT SE_USUARIO, SE_NOMBRE
FROM USE_USUARIOS
UNION ALL
SELECT NULL, NULL
FROM DUAL

Con Orden:

Código:

SELECT 1, SE_USUARIO, SE_NOMBRE
FROM USE_USUARIOS
UNION ALL
SELECT 2, NULL, NULL
FROM DUAL
ORDER BY 1, 2

Y no mostraría la primer columna...


¿Para qué quieres hacer esto?... Posiblemente sabiendo eso, te podría dar una mejor respuesta!

Saludos!

olybola 26-06-2003 18:26:57

buenos días... ayer ya no pude seguir en internet por eso no pude aclarar bien la duda...

lo que pasa es que estoy haciendo un programa en Delphi

tengo un dbgrid en donde jalo datos desde una vista, la vista jala datos de dos tablas...

en el dbgrid puedo agregar y modificar datos, con solo darle doble click... si el campo en donde se le dió dobleclik contiene datos, los jala y los puede modificar, pero para agregar datos debe dar dobleclick en algun espacio en blanco... por eso es que necesito un renglón en blanco al final del dbgrid...

esto podría hacerlo mucho mas facil si pudiera utilizar botones de Agregar y Modificar, pero los estándares que estamos manejando no lo permiten, así que ni modo :rolleyes:

los procedimientos para agregar y modificar ya funcionan, solo me falta ese pequeño detalle para que corra correctamente...

si me pudieran ayudar, se los agradecería muchísimo, muchas gracias...

atte. olybola, Mexico

delphi.com.ar 26-06-2003 18:38:51

Bueno, el último Query que te he pasado te tiene que funcionar, sino lo que puedes hacer es trabajar con querys editables, que se agrega automáticamente una línea debajo del grid, pero solo cuando el usuario accede a esta, o cuando el grid no tiene datos.

Como extra, te cuento que tengo hecha una grilla que tiene Footer, la utilizo para mostrar totales en algunas consultas. Lo que hago es sobrescribir el método GetClientRect, y modifico el recuadro en donde se dibuja la grilla, luego en el método Paint y en el TopLeftChanged, dibujo mi footer.

Saludos!

José Luis Garcí 07-06-2010 20:05:15

Hola Delphi.com.ar, se que este tema es un poco antiguo pero me intereso mucho donde dices
Cita:

Como extra, te cuento que tengo hecha una grilla que tiene Footer, la utilizo para mostrar totales en algunas consultas. Lo que hago es sobrescribir el método GetClientRect, y modifico el recuadro en donde se dibuja la grilla, luego en el método Paint y en el TopLeftChanged, dibujo mi footer.
Podrías exponer sólo esta parte del código para ver como haces lo del footer, Muchas Gracias.

delphi.com.ar 07-06-2010 21:17:38

Pues es tan viejo ese hilo, que estuve buscando el código y no lo encuentro. Por lo que dice parece fácil de implementar. ¿Logras comprender esa breve explicación?

José Luis Garcí 07-06-2010 21:23:15

Sinceramente poco, el mayor problema que tengo es como dibujar una fila al final de cada columna, una vez tenga esto, ya me encargo del resto del código, de echo he logrado poner un statusbar o un panel adjunto al final de un dbgrid, pero el problema lo tengo en precisamente que se dibuje al pie de la columna dentro del grid.


La franja horaria es GMT +2. Ahora son las 17:58:25.

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