Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

ocultar colunas no Crystal Report em tempo de execução?


Opção 1:use lógica de supressão condicional para ocultar/mostrar campos redundantes

Use um campo de parâmetro para direcionar as fórmulas de supressão para os campos desejados.

Se você quiser eliminar espaços em branco entre os campos, precisará empilhar os campos uns sobre os outros e suprimi-los adequadamente. No seu exemplo, a coluna 2 conteria field2 e field3 (ambos suprimidos) e a coluna 3 conteria field2 e field3 (ambos suprimidos). A lógica de supressão, em seu exemplo, continuaria a suprimir ambos os campos na coluna 2, mas mostraria field3 na coluna 2 (field2 na coluna 2 ainda seria suprimido).

Opção 2:use o campo de fórmula 'espaço reservado'

Cada coluna de dados que poderia ser suprimida seria um campo de fórmula. Cada campo de fórmula usaria a lógica SELECT CASE para escolher o campo desejado a ser exibido. Um campo 'oculto' simplesmente retornaria um valor nulo. Sua lógica SELECT CASE seria escrita para garantir que os valores sejam preenchidos da esquerda para a direita. A formatação deverá ser feita em a fórmula em vez de no próprio campo de fórmula.

Opção 3:use o SDK para alterar dinamicamente o relatório.

Use o CR .Net SDK ou a API CRAXDRT mais antiga para modificar dinamicamente a visibilidade e o posicionamento das colunas.

Se você usar essa opção, no entanto, suas opções de implantação serão mais restritas.