Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   dbgrid con campos fantasma (https://www.clubdelphi.com/foros/showthread.php?t=26132)

jonmendi 13-10-2005 21:10:55

dbgrid con campos fantasma
 
Buenas tardes a todos!

me han pasado un programa ya hecho, para que le modifique un par de cosas. Hay un dbgrid conectado a un tdatasource, cuyo dataset es una tabla. Hasta aquí sin novedades.
Pero cuando a la tabla le añado un campo nuevo, entro en el columns del dbgrid y le intento añadir esa columna, no la veo por ningún lado, y sí en cambio unos campos que no aparecen en la tabla.
La solución rápida: me estoy confundiendo de tabla, os aseguro que no.
No sé por donde van los tiros....

Son tablas paradox, y delphi3.
Gracias a todos

marcoszorrilla 13-10-2005 21:47:44

Sencillo, vete al componente Ttable pulsa botón derecho "Add" añadir y añade este nuevo campo, a partir de este momento ya puedes verlo y añadirlo a la rejilla.

Un Saludo.

jonmendi 14-10-2005 15:44:19

gracias por la contestación, pero no lo veo claro...

he probado en delphi3, delphi5, y delphi7 y en ninguno me sale pulsando con el botón derecho en el ttbale la poción "add". Me aparecen "fields editor", "explore"...

no sé exactamente a que add te refieres.
Gracias por vuestra atención.
Jon

jonmendi 14-10-2005 17:20:38

siento ser pesado, pero....

es algo extraño. Cuando entro en el dbgrid, aun estnado la tabla cerrada, me deja añadir todos los campos. ¿Como es eso posible? Además, en la declaración de objetos del form aparecen cosas del tipo

tTable1Codigo: TIntegerField;

que son precisamente los campos y la tabla que aparecen luego en el dbgrid.

¿Me puede alguien orientar un poco? Reconozco que yo estoy perdido.

Gracias.

Lepe 14-10-2005 18:31:35

Marcos se refería a doble clic a tu tabla, y en la ventana que se abre, boton derecho y Add all fields o bien Add Field. Esto se conoce como campos persistentes, de hecho, hace que aparezca : tTable1Codigo: TIntegerField; en la declaración del form, (o datamodule).

Ten cuidaddo, porque al usar Add all fields, te preguntará si quieres borrar los campos que había, y puede que tengan algun formato específico en DisplayWidth, EditFormat, etc, que despues se borran. Usando Add Fields debe salir en otra ventanita el campo nuevo y solo se añade ese.

Despues de tenerlos así, dale doble clic al grid, aparece el editor de colecciones, usa el inoco add all fields, y despues, verás el nuevo campo que has añadido.

saludos

jonmendi 15-10-2005 13:43:40

muchas gracias!

al final he conseguido lo que quería, y además con una explicación clara y didáctica.

Gracias por vuestro interés.

Jon


La franja horaria es GMT +2. Ahora son las 04:53:50.

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