PDA

Ver la Versión Completa : dbgrid con campos fantasma


jonmendi
13-10-2005, 21:10:55
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