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. |
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...
|
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...:) |
propiedad visible
Cita:
|
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