sql >> Databasteknik >  >> RDS >> Sqlserver

dölja kolumner i kristallrapporten vid körning?

Alternativ 1:använd logik för villkorlig undertryckning för att dölja/visa redundanta fält

Använd ett parameterfält för att driva undertryckningsformlerna för de önskade fälten.

Om du vill eliminera tomma mellanslag mellan fält, måste du stapla fälten ovanpå varandra och undertrycka dem på lämpligt sätt. I ditt exempel skulle kolumn 2 innehålla fält2 och fält3 (båda undertryckta) och kolumn 3 skulle innehålla fält2 och fält3 (båda undertryckta). Undertryckningslogiken, i ditt exempel, skulle fortsätta att undertrycka båda fälten i kolumn 2, men skulle visa fält 3 i kolumn 2 (fält 2 i kolumn 2 skulle fortfarande vara undertryckt).

Alternativ 2:använd "platshållare" formelfältet

Varje kolumn med data som skulle kunna undertryckas skulle vara ett formelfält. Varje formelfält skulle använda SELECT CASE-logik för att välja önskat fält att visa. Ett "dolt" fält skulle helt enkelt returnera ett nollvärde. Din SELECT CASE-logik skulle skrivas för att säkerställa att värden fylls från vänster till höger. Formateringen måste göras i formeln snarare än på själva formelfältet.

Alternativ 3:använd SDK för att dynamiskt ändra rapporten.

Använd CR .Net SDK eller det äldre CRAXDRT API för att dynamiskt ändra kolumnernas synlighet och placering.

Om du använder det här alternativet kommer dock dina distributionsalternativ att vara mer begränsade.



  1. MySQL:Union of a Left Join with a Right Join

  2. MySQL LOAD DATA INFILE butiksradnummer

  3. Hur ansluter jag till SQL Server från en annan dator?

  4. Vilka är de respektive fördelarna/begränsningarna med Amazon RDS vs. EC2 med MySQL?