Hallo,
op een rapport request form heb ik een boolean gemaakt waarmee ik wil bereiken dat als deze wordt aangevinkt een label in het rapport zichtbaar wordt. Als deze uitstaat moet het label dus niet aanstaan.
enig idee hoe ik dit voor elkaar krijg?
robbert
0
Comments
2) lblLabel.VISIBLE := blnBool
blnBool is uw boolean in kwestie.
Waar code (2) geplaatst wordt hang af van het het volgende:
1) is de waarde van blnBool gekend bij starten van het rapport? ja/nee
2) kan een gebruiker de waarde van blnBool nog wijzigen op de requestform? ja/nee
een global variabele aangemaakt kopie type Boolean en geplaatst op het Request Form.
de code heb ik geplaatst in onprereport
lblkopie.VISIBLE := kopie;
ik krijg nu de foutmelding dat lblkopie geen Global Variabele is. Als ik deze aanmaak krijg ik de foutmelding dat VISIBLE niet herkend wordt.
RequestOptionsForm.Controls.lblKopie.VISIBLE := kopie
ik krijg dan een foutmelding dat Controls geen variabele is.
Met desbetreffende trigger/dataitem/... waar code wordt opgeroepen.
Het label in kwestie zit in je rapport en niet op de requestform...
Ok dan valt dit enkel op te lossen met een nieuwe sectie die een kopie is van de huidige.
Maar dan zonder het bewuste label.
Op de presection trigger van beide secties zet je dan respectievelijk volgende code:
CurrReport.SHOWOUTPUT(kopie)
CurrReport.SHOWOUTPUT(NOT kopie)
Afhankelijk van de boolean waarde wordt nu de sectie met of zonder label afgedrukt.
Iets handiger naar mijn mening: ipv een label, gebruik een textbox, want in rapporten kan je namelijk labels niet onzichtbaar maken in runtime. Maak een nieuwe global aan die 'KopieTekst' heet, type text, en de lengte die je nodig hebt. Zet die variabele als de SourceExpr van je nieuwe textbox. Dan in de OnPreReport trigger: Kijk naar de standaard documenten, daar zit iets soortgelijks in, alleen wordt daar de 'KopieTekst' gezet aan de hand van de NoOfCopies variabele, maar dat is het zelfde principe.
RIS Plus, LLC