Bruke formler og én XML-variabel for å kontrollere flere objekter

Dette eksempelet viser hvordan du kan bruke Formler-alternativet på Tilgjengelighet-fanen til objekter. Her brukes tekstboksobjekter, men du kan eventuelt bruke bildeobjekter i stedet.

I dette eksemplet vises en annen tekstboks avhengig av om Afrika eller Europa er valgt fra en kombinasjonsboks. En handling på kombinasjonsboksen bruker en SETPROPERTY-formel for å fylle en XML-variabel. I variabelen er nøkkelen Synlighet, det valgte landet er en egenskap, og SANN er verdien som er tilordnet til egenskapen.

For å hindre at tekstbokser forblir synlige når et annet land enn Europa eller Afrika velges, setter formelen Synlighet til USANN for alle land.

En GETPROPERTY-formel på Tilgjengelighet-fanen i hver tekstboks returnerer nøkkelen og egenskapen fra variabelen. På den ene boksen henter formelen ut synligheten for Europa, og på den andre synligheten for Afrika.

En alternativ teknikk vil være å skjule eller vise radene som inneholder tekstboksene.

Dette eksemplet bruker dimensjonene til Analyse-kuben til Eksempler-applikasjonen.

  1. Opprett en rapportvariabel og gi den navnet rv_VisibilityXML.
  2. Sett inn en kombinasjonsboks og koble den til regiondimensjonen. Kall kombinasjonsboksen lv_region.
  3. Åpne egenskapene i kombinasjonsboksen og velg Utfør handling når valg endresGenerelt.
  4. Opprett en Angi parametere-handling med rv_VisibilityXML som parameteren. Spesifiser denne formelen som verdien til parameteren: =SETPROPERTY(SETPROPERTY(ReportVariables.rv_VisibilityXML.Text, "visibility","*" ,"false"), "visibility",ReportObjects.Region.Alias,"TRUE")
  5. Legg til to tekstbokser i rapporten og legg til tekst. For eksempel nøkkelfakta om Afrika og nøkkelfakta om Europa.
  6. Høyreklikk på Afrika-tekstboksen og velg Formater tekstobjekt. Angi denne formelen på Tilgjengelighet-fanen: =GetProperty(ReportVariables.rv_VisibilityXML.Text,"visibility","Africa")
  7. Spesifiser den samme formelen for Europa-tekstboksen, men erstatt "Afrika" med "Europa".