Ver Mensaje Individual
  #9  
Antiguo 11-08-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Reputación: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
JFdez:

Respecto de tu mensaje privado acerca del uso del evento OnGetText te comento que prefiero tratar los temas relacionados con los foros en los mismos foros a fin de que todos se beneficien de las preguntas y respuestas.

He releido el presente hilo y creo que la forma más elegante de resolver el problema es como atinadamente indicaba Tino .

Sin embargo, al parecer no puedes agregar tablas. Pero puedes entonces usar una tabla en memoria con un ClientDataSet.

El uso es muy sencillo. Durante el diseño abres el editor de definiciones de campos (propiedad FieldDefs del ClientDataSet) y añades dos, una para el campo código y otra para el campo descripción). Una vez hecho esto abres el menú contextual de la componente ClientDataSet y escoges la opción "Create DataSet".

Ahora simplemente tienes que llenar los registros, por ejemplo en el evento OnCreate del formulario o DataModule donde coloques la componente. Agregas registros igual que con otros DataSets, por ejemplo:

Código Delphi [-]
ClientDataSet.Append;
ClientDataSet['codigo'] := 1;
ClientDataSet['descripcion'] := 'Técnico';

ClientDataSet.Append;
ClientDataSet['codigo'] := 2;
ClientDataSet['descripcion'] := 'Estudiante';

ClientDataSet.Append;
ClientDataSet['codigo'] := 2;
ClientDataSet['descripcion'] := 'Obrero';

Ya con esto, utilizas la técnica que te indicó Tino.

Creo que esta es una mejor opción que la de manipular el evento OnGetText ya que tu sistema estará diseñado como si las tablas estuvieran bien diseñadas (no lo están porque justamente falta la tabla con las descripciones) y estará preparado para el momento en que se te permita agregar físicamente la tabla requerida.

// Saludos
Responder Con Cita