FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Añadir columna a dbrid, que muestre sentencia calculada, en runtime
Ufff no me acaba de convencer el título que he puesto, pero no sabia como expresarme en pocas palabras jeje.
Mejor os pongo en situación: Tengo un dbgrid enlazado a una tabla, en esta, ademas de otros campos tengo un identificador foraneo (es decir de otra tabla). El dbgrid me muestra todos los campos muy bien, pero querria mostrar, en vez del identificador foraneo, el resultado de una sentencia contra la tabla del que proviene, es decir: en vez de '1' : el identificador quiero mostrar 'pepito' : un campo que corresponde al registro con el identificador '1' La cosa la tengo bastante clara si no fuera porque lo quiero hacer en tiempo de ejecución, el tablename de la tabla se asigna en tiempo de ejecución dependiendo de que tabla quiero mostrar, por lo tanto deberia crear los tfields que necesitara en tiempo de ejecucion y luego jugar con el oncalcfields, pero no me aclaro y creo que deberia haber una manera más sencilla. Bueno espero que me podais dar algún consegillo, almenos pa donde tengo que tirar jejeje. gracias de antemano |
#2
|
||||
|
||||
En el siguiente Post encontraras como crear el campo en tiempo de ejecución:
http://www.clubdelphi.com/foros/show...24&postcount=4 y para asignarle el evento al dataset deberas crear pun procedure que reciba los mismos parametros del evento y decirle algo como por ejemplo:
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!" http://www.purodelphi.com/ http://www.nosolodelphi.com/ |
#3
|
|||
|
|||
Grácias jhonny, ya he conseguido crear el field, no exactamente como indicas en tu mensaje ya que queria crear un campo calculado pero me has dado la pista que queria jejeje.
Ahora la cosa está en que si abro la tabla antes de crear el field me salta el error de que no se puede crear el field si la tabla está abierta, cosa normal porque en diseño ya te lo dice ya, pero si la abro después solo me muestra el field que he creado y los demás no. Y me pregunto: Tengo que añadir todos los fields, con su configuracion y tal, a manija (bueno por codigo) antes de abrir la tabla?? No puedo simplemente añadirlo a los que ya reconoce automáticamente?? Grácias por la pronta y eficaz respuesta este foro es un recurso buenísimo, hasta ahora solo he tenido que preguntar esplicitamente un par de veces y la primera fué una tonteria de novato y despistao jeje, pero con solo consultar los hilos que hay he resuelto un montón dudas. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Añadir columna calculada a dbgrid | miquellg | Conexión con bases de datos | 4 | 28-07-2006 00:58:45 |
Conocer estado DBRID | Coco_jac | Varios | 0 | 07-12-2005 19:18:17 |
Error al añadir columna | JorgeBec | SQL | 1 | 21-02-2004 03:51:44 |
SQL que arroja 20 registros que muestre 10 | cahosoft | Firebird e Interbase | 7 | 19-02-2004 19:44:29 |
Columna calculada en base a otra columna calculada | Al González | Firebird e Interbase | 1 | 10-02-2004 00:51:57 |
|