PDA

Ver la Versión Completa : añadir un renglón a un dbgrid


olybola
25-06-2003, 18:27:59
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):

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

Con Orden:

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
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.