PDA

Ver la Versión Completa : Smartform con tabla de columnas variables


TUESDAY
01/06/07, 12:17:46
Hola!
Estoy haciendo un formulario con smartforms.
En el formulario pinto una tabla para un numero variable de veces. Esto lo tengo controlado con un loop.
El smartform lo que hace más o menos es:
Loop at i_familias.
at new familia.
pinta_tabla_familia
endat.
endloop.
Mi problema es que la tabla_familia no tiene las mismas columnas siempre. Sabeis si hay alguna forma de indicarle al smartform cuando debe visualizarse las columnas de una tabla y cuando no??
Muchas gracias por adelantado.

bisonye
05/06/07, 11:33:00
A ver,

Primero no entiendo por que utilizas una tabla dentro de un loop. Si es una tabla te muestra todos los datos sean 5, 6 o 200.

Segundo ¿Como creas una tabla con diferentes columnas? Me imagino que lo que tienes son columnas en blanco que se rellenan unas veces si y otras no. Si es asi en la tabla create diferentes tipos de linea y dependiendo de si las columnas estan en blanco o no imprimes una linea u otra.

Aclarame como esta creada la tabla y te detallo un poco más como sería.

Saludos

TUESDAY
13/06/07, 08:16:18
al final lo hice como me comentaste, haciendo distintos tipos de lineas, pero no me convence mucho como ha quedado.
Te explico lo que tenia que hacer por si se te ocurre una forma mejor.
Tengo que listar los valores de las caracteristicas de los materiales de un determinado grupo, agrupados por subfamilia (la subfamilia es otra caracteristica del material)
Es decir, por cada subfamilia debe pintar una tabla con el nombre del material, la descripcion y el valor que toma ese material para cada una de sus caracteristicas(toda esta informacion la quieren ademas en 2 filas). ( El numero de caracteriticas puede variar entre 1 y 13, de momento pero podria ampliarse) este numero depende de la subfamilia.

Por eso hago una tabla dentro de un loop. El loop es a la tabla de subfamilias, y para cada entrada del loop, pinto la tabla de materiales y sus caracteristicas.

La solucion que propusiste y que finalmente use, tiene el siguiente problema, si tengo un num de caract variable entre 1 y 13 ( como ademas el consultor me ha pedido que demos soporte hasta 20 caracteristicas) necesito 20 tipos de lineas distintos x2 (quieren la informacion en 2 filas con distinto formato)
que son 40 tipo de lineas distintos (con un num de columnas de 4 a 23 ).
CUando hice todo esto, el smartform empezo a darme dumps por falta de memoria, al final lo solucione, pero el problema sigue estando ahi, tarda 2 min en activarse, y si haces muchos cambios seguidos te vuelve a dar el dump por falta de memoria.
Bueno, no se si me habre explicado bien, cualquier sugerencia sera bienvenida!
Gracias por adelantado

bisonye
13/06/07, 12:21:39
Pues lo veo complicado.

Por lo poco que se no se pueden definir tablas dinámicas en el smartform y supongo que cada característica tiene un texto de cabecera y un valor, es decir: carac1 (esto es fijo) valor1 y asi hasta las 13. Si no tienes el valor fijo lo único que se me ocurre (pero es una chapuza) es que pongas todos los campos uno detras de otro y si estan en blanco no imprimiran nada.

Siento no poder ayudarte más.

Saludos

TUESDAY
13/06/07, 14:18:19
Gracias de todas formas.
Como tu dices es una chapuza, pero funciona, asi que hasta que encuentre una solucion mejor.... se quedara así.