2009-11-19 6 views
0

J'utilise Crystal Report Viewer dans une application ASP.NET. Sur la visionneuse, il affiche les numéros de page le long des lignes de '1/1+' où le 1+ est calculé dynamiquement. Je voudrais qu'il affiche le nombre total correct de pages depuis le début plutôt que 1+. Y a-t-il un moyen de faire cela?Crystal Report Voir les numéros de page

Répondre

2

Je pense qu'un certain nombre d'exemples en ligne recommandent que vous naviguiez jusqu'à la dernière page et que vous reveniez au premier, mais je ne pense pas que ce soit une bonne façon de le gérer. Je n'ai pas encore eu le besoin de le faire pour l'un de mes projets, donc je n'ai pas eu à essayer de trouver un travail pour le moment.

Modifier -

Ok, après avoir regardé tout à l'heure, je compris que si vous ajoutez le « Page N M » champ spécial, il fait le calcul dynamique lors de l'exécution. Dans mes tests, il effectuera le calcul dynamique même si vous choisissez de supprimer le champ en cochant la case supprimer dans les propriétés du champ. Bien que le calcul dynamique puisse être plus lent pour les rapports plus volumineux, il est probablement aussi bon que de naviguer par programmation vers la dernière page et de revenir à la première. J'espère que cela t'aides.

+0

Merci Dusty. Le simple fait d'ajouter une page N de M et de la supprimer aura l'effet désiré. – Craig

0

Le moteur de page de Crystal Report rend les sections de la première page aussi rapidement que possible pour donner la perception de la performance. Vous avez peut-être remarqué le rendu rapide des valeurs de champs, avec des espaces réservés (espaces) pour les sous-rapports et d'autres objets gourmands en ressources. Au fur et à mesure que le moteur de rendu termine le traitement de ces objets, les espaces réservés sont remplacés par des valeurs.

La numérotation des pages est similaire. Le contrôle de navigation lira initialement "1+", mais augmentera au fur et à mesure que le moteur de page affichera des pages supplémentaires. Lorsque le rapport entier est rendu, le contrôle de navigation et le champ Page N of M affichent le nombre total de pages. Si vous souhaitez modifier l'expérience utilisateur, vous pouvez utiliser l'événement BeforeRender ou BeforeRenderContent du Viewer pour définir l'événement HasPageNavigationButtons = False et AfterRender ou AfterRenderContent sur HasPageNavigationButtons = True.

Je ne suis pas certain que vous serez capable de faire quelque chose de similaire avec le champ Page-N-of-M.

0

Vous avez une propriété appelée TotalPageCount. Si vous mettez cela dans votre rapport affichera les numéros de page correctement. Par exemple, j'ai un champ de formule comme ToText (PageNumber, 0) + "/" + ToText (TotalPageCount, 0) pour afficher la page en cours du total des pages.