Comment faire pour Afficher le Numéro de Page dans le Corps du Rapport de SSRS 2008 R2?
Je pense que beaucoup de développeurs sont confrontés au problème de l'essayer pour afficher les numéros de page en utilisant SSRS 2008 R2.
Il y a une solution alternative qui nécessite SSRS 2010 + version. Autrement, vous obtiendrez 1 de tous les temps.
Aller à "Rapport" -> "Rapport" Propriétés de la -> "Code"
Dans le Custom Code
section, entrez les informations suivantes:
Public Function PageNumber() as String
Dim str as String
str = Me.Report.Globals!PageNumber.ToString()
Return str
End Function
Public Function TotalPages() as String
Dim str as String
str = Me.Report.Globals!TotalPages.ToString()
Return str
End Function
De maintenant, vous serez en mesure d'accéder à ces fonctions n'importe où dans le rapport (en-tête, le corps, ou le pied de page). Donc, pour la sortie du numéro de page et le nombre total de pages dans une zone de texte située dans le corps, entrez simplement ce pour la valeur:
="Page " + Code.PageNumber() + " of " + Code.TotalPages()
Cette solution NE fonctionne PAS avec SSRS 2008 R2.
Cependant, il existe une solution de contournement, il fonctionnera avec n'importe quelle version supérieure 2008 R2
(inclure 2008 R2). Je vais poster une réponse, j'espère que ça aidera certaines personnes quiconque aux prises avec ce problème.
- Din fonctionne pas pour moi! dans SQL server 2012.
- Cela ne fonctionne pas dans SQL Server 2016.
- L'homme désolé, j'ai écrit ce post en 2014, je n'ai pas eu l'occasion de les utiliser SSRS 2016.........
Vous devez vous connecter pour publier un commentaire.
Vous devez d'abord utiliser les variables de rapport:
cliquez-droit sur l'espace vide de rapport -> Variables d' -> Créer une variable comme la propriété pagecount (une valeur par défaut à 0)
Alors à vous d'en-tête ou le pied de page -> créer une zone de texte et expression de jeu ->
Il augmentera automatiquement pour chaque page.
(IMPORTANT: NE PAS masquer l'en-tête ou le pied de page, le SetValue ne fonctionnera PAS si vous masquer la boîte, de sorte que la modification de la police de 1 ou texte en blanc, n'importe quoi, il suffit de NE PAS le cacher (il apparaîtra à l'impression "Vrai" que l'arrangement a eu lieux))
Ensuite, vous pouvez utiliser:
à n'importe quelle partie de votre corps du rapport pour accéder au numéro de la page.
IMPORTANT: Veuillez NOTER que j'ai essayé d'utiliser Globals!PageNumber pour définir la variable, mais se retrouve elle n'était PAS accessible à partir du corps du rapport. Donc, il doit être quelque chose d'à la fois accessible à partir de l'en-Tête/Pied de page OU le Corps.
Dans mon cas, je dois réinitialiser le numéro de Page pour chaque instance de mon Groupe.
Je viens donc de définir un seuil de déclenchement à la fin du groupe.
(par exemple, je vérifie si j'ai ma valeur Totale retourne, parce que je sais que pour chaque fin de mon groupe, je vais avoir un Total d'affichage.
En raison de la fonction
IIF
à la fois Vrai et Faux à la partie sera traitée, donc si vous mettez des organismes de normalisationIIF
comme ci-dessous:vous aurez finit par avoir une valeur à 0 tout le temps, parce que le rapport de Vérifier la Véritable Partie Fausse de la partie, les deux setters sera exécutée (la valeur sera définie deux fois)
nous avons donc besoin de 2 cases et quelque chose comme:
(Vous avez à cacher inutile de la boîte de votre vérification des conditions d')
Vous avez besoin de cacher cette case lorsque
NOT IsNothing(ReportItems!TotalBox.Value)
De nouveau vous avez besoin de cacher cette case lorsque
IsNothing(ReportItems!TotalBox.Value)
Vous pouvez bien sûr utiliser un autre moyen de déterminer la fin d'une instance de groupe, comme:
faire une zone de texte qui contient une valeur fixe à la fin de votre table de groupe. et de le cacher. lorsque vous la vérification de la gâchette viens de faire la même démarche que moi.
Il fonctionne très bien pour toutes les versions ci-dessus 2008 R2 (inclus).
Dans
Visual Studio 2013
Report variables
seraVisible
sous menu Rapport.À partir du Menu Principal - Rapport > ReportProperties > Variables > Ajouter
Suivez d'abord les étapes 1 ci-dessous pour faire pagination:
1)
1.1. Cliquez sur le groupe de Détails dans le volet Groupes de lignes.
1.2. À partir du tableau Matriciel membre volet Propriétés, développez “Groupe”-> “PageBreak”.
1.3. Définir le “BreakLocation” à “Fin” et “Désactiver” la propriété de l'expression, comme ci-dessous:
Le point 1 est utiliser pour faire de la pagination dans le Rapport de sortie(Affichage seulement 40 enregistrements par page en sortie)
2) utiliser le code personnalisé:
3) Créer une colonne Calculée, dans le jeu de données et entrez
=0
dans l'expression4) Dans La 2 Colonne Calculée
1)Pageno
2)Aucune
dans le Dataset
Dans le Rapport de l'Organisme à utiliser l'Expression pour PageNo :
l'utilisation de l'Expression pour Pas :
5)Droit et cliquez sur insérer une colonne sur le Côté Droit et dans la Colonne nom d'ajouter du code dans la zone de Texte
Remarque: N'est calculée à Champ nom de la colonne.
6)en Vertu de AdvancedMode DANS le Groupe de lignes, sélectionnez Statique et Définir RepeatOnNewPage Propriétés à
True
Dans la Colonne ci-Dessus créé en vertu du point 5 de l'affichage de la page correcte pas à chaque page dans le corps du rapport
J'ai Essayé et sa fonctionne très bien..l'Essayer.
Si vous utilisez SQL Server 2016 Générateur de Rapports, cette expression a travaillé avec moi.