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

skjule kolonner i krystalrapporten under kørsel?

Mulighed 1:brug logik med betinget undertrykkelse til at skjule/vise overflødige felter

Brug et parameterfelt til at drive undertrykkelsesformlerne for de ønskede felter.

Hvis du vil fjerne tomme mellemrum mellem felter, skal du stable felterne oven på hinanden og undertrykke dem korrekt. I dit eksempel ville kolonne 2 indeholde felt2 og felt3 (begge undertrykt), og kolonne 3 ville indeholde felt2 og felt3 (begge undertrykt). Undertrykkelseslogikken i dit eksempel ville fortsætte med at undertrykke begge felter i kolonne 2, men ville vise felt3 i kolonne 2 (felt2 i kolonne 2 ville stadig være undertrykt).

Mulighed 2:brug 'pladsholder'-formelfeltet

Hver kolonne med data, der kunne undertrykkes, ville være et formelfelt. Hvert formelfelt ville bruge SELECT CASE-logik til at vælge det ønskede felt, der skal vises. Et 'skjult' felt ville blot returnere en nulværdi. Din SELECT CASE-logik ville blive skrevet for at sikre, at værdier udfyldes fra venstre mod højre. Formateringen skal udføres i formlen frem for på selve formelfeltet.

Mulighed 3:brug SDK'et til dynamisk at ændre rapporten.

Brug CR .Net SDK eller den ældre CRAXDRT API til dynamisk at ændre kolonnernes synlighed og placering.

Hvis du bruger denne mulighed, vil dine implementeringsmuligheder dog være mere begrænsede.



  1. Hvordan kan jeg forespørge på en værdi i en XML-kolonne i SQL Server 2008

  2. 4 måder at finde duplikerede rækker i MySQL

  3. Bestil rækkevalg efter flere kolonner

  4. Django syncdb virker i SQLite, fejler i MySQL