Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

masquer les colonnes du rapport Crystal lors de l'exécution ?

Option 1 :utiliser la logique de suppression conditionnelle pour masquer/afficher les champs redondants

Utilisez un champ de paramètre pour piloter les formules de suppression pour les champs souhaités.

Si vous souhaitez éliminer les espaces vides entre les champs, vous devrez empiler les champs les uns sur les autres et les supprimer de manière appropriée. Dans votre exemple, la colonne 2 contiendrait field2 et field3 (tous deux supprimés) et la colonne 3 contiendrait field2 et field3 (tous deux supprimés). La logique de suppression, dans votre exemple, continuerait à supprimer les deux champs dans la colonne 2, mais afficherait le champ 3 dans la colonne 2 (le champ 2 dans la colonne 2 serait toujours supprimé).

Option 2 : utiliser le champ de formule "espace réservé"

Chaque colonne de données qui pourrait être supprimée serait un champ de formule. Chaque champ de formule utiliserait la logique SELECT CASE pour choisir le champ à afficher. Un champ "caché" renverrait simplement une valeur nulle. Votre logique SELECT CASE serait écrite pour garantir que les valeurs sont remplies de gauche à droite. Le formatage devra être fait dans la formule plutôt que sur le champ de formule lui-même.

Option 3 :utilisez le SDK pour modifier dynamiquement le rapport.

Utilisez le SDK CR .Net ou l'ancienne API CRAXDRT pour modifier dynamiquement la visibilité et le positionnement des colonnes.

Si vous utilisez cette option, cependant, vos options de déploiement seront plus restreintes.