2012-08-14 3 views
0

J'ai une situation où je dois afficher quatre rapports basés sur des cases à cocher. Ainsi, l'utilisateur peut sélectionner une combinaison différente à partir de quatre rapports.RDLC: Pas de saut de page - quatre sous-rapports dans la table/le tablier

Mon problème concerne les sauts de page. J'ai essayé différentes options (voir ci-dessous) à partir desquelles deux options (options 1 et 2) ne donnent pas du tout de sauts de page si l'option 3 donne des sauts de page pour chaque tablix, même si vous ne voulez pas voir ce rapport. Le rapport donne une page vide pour chaque tablix, peu importe s'il n'y a pas de données dans ce tableau à afficher.

Avec l'option 3, si je sélectionne tous les rapports à afficher alors tout est parfait.

J'ai essayé ces options

Option 1 (saut de page ne fonctionne pas)

principal Tablix -> chaque ligne: tous les sous-dans le rectangle de chaque rangée de tablix

option 2 (page la pause ne fonctionne pas)

Tablette principale -> chaque ligne -> Un autre tableau avec le groupe par ID dans chaque ligne de tableau, puis sous-rapport à l'intérieur de chaque tableau. Et j'ai appliqué la fin de saut de page sur chaque tablix.

l'option 3 (page de travaux de break, mais donne la page vide pour les rapports non sélectionnés)

Un groupe Liste par ID -> dans une seule ligne de cette liste je place quatre groupes de tablix par ID pour chaque sous-état.

L'option 3 fonctionne mais offre un saut de page vide pour les rapports qui ne sont pas sélectionnés. Par exemple, à partir de quatre rapports si vous sélectionnez les deux derniers rapports à afficher, vous obtiendrez deux pages vides au début du rapport et le troisième rapport sur les troisième et quatrième rapports sur la quatrième page, ce qui est correct. J'ai essayé de cacher le tablix en utilisant la table cachée et les propriétés de groupe cachées mais obtenant toujours des sauts de page.

Toute aide sera grandement appréciée.

Répondre

0

J'ai résolu ce problème. Pour ceux qui sont aux prises avec le même genre de situation, voici mon travail.

J'ai placé une zone de liste, puis quatre tables dans une rangée et j'ai placé des sous-rapports dans ces tables. Je n'ai pas appliqué de saut de page ici. Je ne fais que montrer et cacher des tableaux en fonction de la sélection du rapport ici.

Trick fait partie des sous-rapports. Comme il y avait beaucoup de tables et de groupes dans chaque rapport, j'ai placé une table à la fin de chaque sous-rapport.

Cette table ne doit contenir qu'une seule cellule. J'ai enlevé l'en-tête et 2 colonnes supplémentaires qui n'étaient pas nécessaires. Sélectionnez l'ensemble de données pour cette table. Je ne voulais pas passer de jeu de données vide factice donc j'ai sélectionné mon jeu de données mais j'ai créé le groupement sur un paramètre que je passais du rapport parent et il a la valeur 1. Donc maintenant cette table n'affichera qu'une rangée vide. Réduire la hauteur de la table. De plus, j'ai supprimé la bordure de la zone de texte à l'intérieur de la cellule. J'ai coché l'option 'saut de page à la fin'. Dans l'expression cachée j'ai utilisé le code suivant qui vérifie s'il y a un rapport qui est visible après ce rapport (courant). Si oui, ne cachez pas ce tableau signifie que vous voulez un saut de page sinon cachez cela signifie pas de saut de page.

=iif(Parameters!AddReport_2.Value,false 
,iif(Parameters!AddReport_3.Value,false 
,iif(Parameters!AddReport_4.Value,false 
,true))) 

Cette solution fonctionne pour moi.

J'aimerais entendre pour une meilleure solution.