sql >> Base de Datos >  >> RDS >> Sqlserver

¿Ocultar columnas en Crystal Report en tiempo de ejecución?

Opción 1:use la lógica de supresión condicional para ocultar/mostrar campos redundantes

Utilice un campo de parámetro para impulsar las fórmulas de supresión para los campos deseados.

Si desea eliminar los espacios en blanco entre los campos, deberá apilar los campos uno encima del otro y suprimirlos adecuadamente. En su ejemplo, la columna 2 contendría field2 y field3 (ambos suprimidos) y la columna 3 contendría field2 y field3 (ambos suprimidos). La lógica de supresión, en su ejemplo, continuaría suprimiendo ambos campos en la columna 2, pero mostraría el campo 3 en la columna 2 (el campo 2 en la columna 2 aún estaría suprimido).

Opción 2:use el campo de fórmula 'marcador de posición'

Cada columna de datos que podría suprimirse sería un campo de fórmula. Cada campo de fórmula usaría la lógica SELECCIONAR CASO para elegir el campo deseado para mostrar. Un campo 'oculto' simplemente devolvería un valor nulo. Su lógica SELECT CASE se escribiría para garantizar que los valores se llenen de izquierda a derecha. El formateo deberá hacerse en la fórmula en lugar de en el propio campo de la fórmula.

Opción 3:use el SDK para cambiar dinámicamente el informe.

Utilice CR .Net SDK o la antigua API CRAXDRT para modificar dinámicamente la visibilidad y el posicionamiento de las columnas.

Sin embargo, si usa esta opción, sus opciones de implementación serán más restringidas.