Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Ocultar campos de un dataset en tiempo de ejecucion (https://www.clubdelphi.com/foros/showthread.php?t=72284)

hlbarragan 08-02-2011 18:06:59

Ocultar campos de un dataset en tiempo de ejecucion
 
Saludos a todos,

Abrí este hilo de foro para hacer una consulta; tengo disponible un procedimiento estandar para la generacion de reportes con base en vistas de oracle predefinidas. en la vista de oracle, definí un tipo de columnas cuyo nombre esta bien definido (empiezan con la cadena par_) para demarcarlas como parametros de filtro y filtrarlas en un data set en delphi(a traves de la propiedad filter).

En este punto, quisiera saber como puedo hacer para ocultar campos en el datset abierto en tiempo de ejecucion dada la condicion del nombre del campo (empieza con la cadena 'par_'). He intentado con el metodo Free en la propiedad TFields, pero se dispara un excepción de puntero invalido.

La idea seria que pudiera ocultar las coumnas del dataset para que estas no salieran en el reporte a generar.

De antemano les agradezco por su ayuda.

Neftali [Germán.Estévez] 08-02-2011 18:18:27

Desde un TDataset (o descendientes) puedes acceder a todos los campos que contiene (propiedad Fields); Para cada Field, tienes la propiedad Visible. Prueba con ella a ver qué tal...

rgstuamigo 08-02-2011 19:05:39

Otra opcion que se me ocurre es que cambies momentaneamente la SQL del DataSet en cuestion y que traigas solo los campos que necesitas generar en tu reporte.;)
Tambien(en el caso de QuickRepot por ejemplo) se puede deshabilitar(Enable=False) el componente que muestra e imprime la columna del campo en cuestion; ésto lo puedes hacer en el evento BeforePrint del componente QuickRep ;), supongo que con otros reporteadores tambien se puede hacer algo similar :rolleyes:.
Saludos...:)

hlbarragan 08-02-2011 19:46:42

propiedad visible
 
Cita:

Empezado por Neftali (Mensaje 390363)
Desde un TDataset (o descendientes) puedes acceder a todos los campos que contiene (propiedad Fields); Para cada Field, tienes la propiedad Visible. Prueba con ella a ver qué tal...

En este caso, la propiedad visible no es de interes ya que esta solo es valida en el caso de visualizaciones en componentes graficos de delphi (por lo menos eso creo), lo digo porque ya lo intenté. De todas formas gracias por la ayuda.


La franja horaria es GMT +2. Ahora son las 06:57:07.

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