Domanda

Vorrei poter scorrere tutti i parametri definiti nei miei report e creare una stringa di visualizzazione del nome e del valore del parametro.Quindi visualizzerei i risultati nel report in modo che l'utente sappia quali parametri sono stati utilizzati per quella specifica esecuzione.L'unico problema è che non riesco a scorrere la raccolta Parametri.Non sembra esserci un indicizzatore nella raccolta Parametri, né sembra implementare IEnumerable.Qualcuno è stato in grado di realizzare questo?Sto utilizzando SSRS 2005 e deve essere implementato all'interno del codice di report (ovvero nessun assemblaggio esterno).Grazie!

È stato utile?

Soluzione

Sfortunatamente, sembra che non esista un modo semplice per farlo.Vedere http://www.jameskovacs.com/blog/DiggingDeepIntoReportingServices.aspx per maggiori informazioni.Se guardi il commenti di quel post, ci sono alcuni modi per aggirare questo problema, ma non sono molto eleganti.La soluzione più semplice richiederà di avere un elenco dei parametri del report da qualche parte nel codice del report, il che ovviamente viola il file ASCIUTTO principio, ma se vuoi la soluzione più semplice, potresti dover convivere con quella.

Potresti voler riconsiderare il tuo vincolo di nessun assemblaggio esterno, poiché mi sembra che sarebbe molto più semplice farlo con un assemblaggio esterno.Oppure, se il tuo report non cambierà molto, puoi creare manualmente l'elenco dei nomi e dei valori dei parametri.

Altri suggerimenti

Se ho capito la tua domanda, fai quello che faccio io:Rilascia una casella di testo sul report, quindi mentre imposti il ​​report, inserisci quanto segue:="Parametro1:" + Parametri!Parametro.Etichetta + ", Parametro2:" + Parametri!Parametro2.Etichetta...

Certo, non è la cosa più bella, ma funziona abbastanza bene nella nostra app.

E sto utilizzando Etichette invece di Valori poiché abbiamo valori di data e ora e l'utente si preoccupa solo della data breve o del mese e dell'anno (a seconda delle circostanze) e ho già eseguito il lavoro di formattazione nell'impostazione dei parametri .

Posso pensare ad almeno due modi per farlo.Il primo potrebbe funzionare, il secondo funzionerà sicuramente.

  1. Utilizza il servizio web.Sono abbastanza sicuro di aver visto l'API per ottenere una raccolta di parametri.Anche se non è disponibile un accesso diretto, puoi sempre creare una raccolta standard e copiare gli oggetti ReportParameter dall'uno all'altro in un ciclo foreach, quindi accedere a Count, con le singole proprietà dei parametri disponibili dereferenziando le istanze ReportParameter.

  2. I report sono RDL.RDL è XML.Crea un XmlDocument e carica il file RDL, quindi usa il DOM per fare, beh, niente che ti piace fino all'impostazione di valori predefiniti o addirittura alla riscrittura delle stringhe di connessione.

Se la tua app non avrà accesso al file system ai file RDL, puoi ottenerli tramite il servizio web.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top