Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

nascondere le colonne in Crystal Report in fase di esecuzione?

Opzione 1:usa la logica di soppressione condizionale per nascondere/mostrare campi ridondanti

Utilizzare un campo parametro per guidare le formule di soppressione per i campi desiderati.

Se desideri eliminare gli spazi vuoti tra i campi, dovrai impilare i campi uno sopra l'altro e sopprimerli in modo appropriato. Nel tuo esempio, la colonna 2 conterrebbe campo2 e campo3 (entrambi soppressi) e la colonna 3 conterrebbe campo2 e campo3 (entrambi soppressi). La logica di soppressione, nel tuo esempio, continuerà a sopprimere entrambi i campi nella colonna 2, ma mostrerebbe il campo3 nella colonna 2 (il campo2 nella colonna 2 verrebbe comunque soppresso).

Opzione 2:usa il campo formula "segnaposto"

Ogni colonna di dati che potrebbe essere soppressa sarebbe un campo formula. Ciascun campo formula utilizzerà la logica SELECT CASE per scegliere il campo desiderato da visualizzare. Un campo "nascosto" restituirebbe semplicemente un valore nullo. La tua logica SELECT CASE verrebbe scritta per garantire che i valori siano riempiti da sinistra a destra. La formattazione dovrà essere eseguita in la formula anziché sul campo formula stesso.

Opzione 3:usa l'SDK per modificare dinamicamente il rapporto.

Utilizza l'SDK CR .Net o la precedente API CRAXDRT per modificare dinamicamente la visibilità e il posizionamento delle colonne.

Se utilizzi questa opzione, tuttavia, le tue opzioni di distribuzione saranno più limitate.