In primo luogo è necessario utilizzare variabili del report: fare clic destro sul spazio vuoto della relazione -> Variabili -> Crea una variabile, ad esempio (valore impostato di default a 0) PageCount
Poi in voi nell'intestazione o footer -> crea una casella di testo e imposta espressione ->
=Variables!PageCount.SetValue(Variables!PageCount.Value+1)
Aumenterà automaticamente per ogni pagina. (IMPORTANTE: NON nasconderlo dall'intestazione o dal piè di pagina, il SetValue NON funzionerà se si nasconde la casella, quindi cambiare il carattere in 1 o testo in bianco, fare qualsiasi cosa, semplicemente NON nasconderlo (verrà stampato 'true' come impostazione prese posti))
quindi è possibile utilizzare:
=Variables!PageCount.Value
in qualsiasi parte del corpo del report per accedere al numero di pagina.
IMPORTANTE: si prega di notare che ho provato a utilizzare Globals! PageNumber per impostare la variabile ma non è accessibile dal corpo del report. Quindi, deve essere qualcosa accessibile da Intestazione/piè di pagina o Corpo.
Nel mio caso, devo reimpostare il numero di pagina per ogni istanza del mio gruppo. Quindi ho appena impostato un trigger alla fine del gruppo. (ad esempio, controllo se ho i ritorni del mio valore totale, perché so che per ciascuna estremità del mio gruppo avrò una visualizzazione Totale.
A causa della funzione IIF
entrambi parte Vero e Falso saranno trattati, quindi se mettere setter nel IIF
come di seguito:
=IIF(IsNothing(ReportItems!TotalBox.Value),Variables!PageCount.SetValue(Variables!PageCount.Value+1),Variables!PageCount.SetValue(0))
)
si vuole finisce per avere un valore 0 per tutto il tempo, perché la relazione controllerà la parte vera, allora la parte false, verranno eseguite due setter (valore verrà impostato due volte)
quindi abbiamo bisogno di 2 scatole e qualcosa di simile: (Devi nasconderti scatola inutili le vostre condizioni di controllo)
=IIF(IsNothing(ReportItems!TotalBox.Value),Variables!PageCount.SetValue(Variables!PageCount.Value+1),"")
)
hai bisogno di nascondere questo riquadro quando NOT IsNothing(ReportItems!TotalBox.Value)
=IIF(NOT IsNothing(ReportItems!TotalBox.Value),Variables!PageCount.SetValue(0),"")
)
Anche in questo caso è necessario nascondere questa scatola quando IsNothing(ReportItems!TotalBox.Value)
Naturalmente si può usare qualche altro modo per determinare la fine del un'istanza di gruppo, ad esempio: crea una casella di testo che SOLO contiene un valore fisso alla fine della tabella di gruppo. e nascondilo. quando controlli il grilletto esegui l'approccio simile come faccio io.
Funziona bene per tutte le versioni sopra 2008 R2 (incluse).
Din't Lavoro per me! in SQL Server 2012. – Rama
Questo non funziona in SQL Server 2016. –
@HuseinRoncevic Mi dispiace amico, ho scritto questo post nel 2014, non ho avuto la possibilità di usare SSRS 2016 ......... –