sql >> Database >  >> RDS >> Sqlserver

kolommen verbergen in kristalrapport tijdens runtime?

Optie 1:gebruik logica voor voorwaardelijke onderdrukking om overbodige velden te verbergen/weergeven

Gebruik een parameterveld om de onderdrukkingsformules voor de gewenste velden aan te sturen.

Als u spaties tussen velden wilt elimineren, moet u de velden op elkaar stapelen en op de juiste manier onderdrukken. In uw voorbeeld zou kolom 2 veld2 en veld3 bevatten (beide onderdrukt) en kolom 3 zou veld2 en veld3 bevatten (beide onderdrukt). De onderdrukkingslogica, in uw voorbeeld, zou beide velden in kolom 2 blijven onderdrukken, maar zou veld3 in kolom 2 tonen (veld2 in kolom 2 zou nog steeds worden onderdrukt).

Optie 2:gebruik het formuleveld 'placeholder'

Elke kolom met gegevens die zou kunnen worden onderdrukt, zou een formuleveld zijn. Elk formuleveld zou SELECT CASE-logica gebruiken om het gewenste veld te kiezen om weer te geven. Een 'verborgen' veld zou gewoon een null-waarde retourneren. Uw SELECT CASE-logica zou worden geschreven om ervoor te zorgen dat waarden van links naar rechts worden gevuld. De opmaak moet in . worden gedaan de formule in plaats van op het formuleveld zelf.

Optie 3:gebruik de SDK om het rapport dynamisch te wijzigen.

Gebruik de CR .Net SDK of de oudere CRAXDRT API om de zichtbaarheid en positionering van de kolommen dynamisch te wijzigen.

Als u deze optie gebruikt, zijn uw implementatieopties echter beperkter.



  1. Oracle-client ORA-12541:TNS:geen luisteraar

  2. MySQL echt aparte join

  3. Hoe een absolute waarde in SQL te berekenen?

  4. Dynamische conversie rijen naar kolommen SQL