web-dev-qa-db-fra.com

Je veux répéter l'en-tête de page sur chaque page pour les rapports.La répétition sur NewPage n'apparaît pas dans les propriétés du membre Tablix dans SSRS 2008

Comment répéter l'en-tête de page sur chaque page. La propriété de répétition sur la nouvelle page n'apparaît pas dans la propriété de membre du tableau de ssrs 2008

21
grace

Selon la façon dont vous avez créé votre nouveau rapport, le xml Tablix peut ou non avoir attaché les propriétés correctes à la ligne "En-tête" du tablix.

Voici un autre thread sur SQL Server Central avec le correctif: http://www.sqlservercentral.com/Forums/Topic593245-1063-1.aspx

Voici le bit important:

pour SSRS 2008,

Si un rapport avec un tableau est créé à l'aide de la fonction de l'assistant (dans l'Explorateur de solutions, cliquez avec le bouton droit sur> Rapports -> Ajouter un nouveau rapport) Les en-têtes de tableau se répéteront sur chaque page.

Au lieu de cela, si un rapport est créé sans utiliser l'assistant (dans l'Explorateur de solutions, cliquez avec le bouton droit sur Rapports -> Ajouter -> Nouvel élément) Les en-têtes de tableau ne se répéteront pas sur chaque page. La définition d'en-tête de répétition (lignes/colonnes) sur chaque page pour le tableau matriciel n'aidera pas non plus.

Si vous avez déjà créé le rapport et ne pouvez pas reconstruire en utilisant les étapes ci-dessus et si et seulement si vous êtes à l'aise de modifier le xml derrière le rdl, procédez comme suit. (Enregistrez d'abord un rdl de sauvegarde)

Afficher le code. Recherchez TablixRowHierarchy Ci-dessous, il y aura un TablixMember qui correspond à la ligne d'en-tête. à cet en-tête et à toute autre ligne d'en-tête (membre du tableau matriciel), ajoutez les trois propriétés d'élément.

<TablixRowHierarchy>
  <TablixMembers>
    <TablixMember>
      <KeepWithGroup>After</KeepWithGroup>
      <RepeatOnNewPage>true</RepeatOnNewPage>
      <KeepTogether>true</KeepTogether>
    </TablixMember>
  ...

Vous devriez voir les lignes d'en-tête se répéter.

J'ai essayé cela dans mon propre rapport et je l'ai trouvé résolu le problème.

32
EtherDragon

Après une petite expérimentation, j'ai compris comment obtenir systématiquement l'en-tête du tableau à répéter sur chaque page.

Le paramètre de la propriété RepeatColumnHeaders sur le tableau matriciel semble n'avoir aucun effet sur ce comportement. Au lieu de cela, nous devons le définir sur un membre statique des groupes de lignes.

Pour voir les membres statiques des groupes de lignes, cliquez sur la petite flèche déroulante à l'extrême droite de l'en-tête des groupes de lignes/colonnes. Sélectionnez ensuite le mode avancé. Advanced Mode

Les membres statiques du groupe de lignes étant affichés, sélectionnez le premier dans la liste. La cellule supérieure gauche du tableau matriciel doit être sélectionnée dans le concepteur.

Ouvrez maintenant le volet des propriétés, recherchez la propriété RepeatOnNewPage et définissez-la sur TrueRepeatOnNewPage

Recherchez ensuite la propriété KeepWithGroup et assurez-vous qu'elle est définie sur After. Si ce n'est pas le cas, définissez-le sur After. Maintenant, votre en-tête de tableau se répétera sur chaque page.

BTW, consultez le livre de Paul "Recettes de Microsoft SQL Server Reporting Services: pour la conception de rapports d'experts". Il a été une bonne ressource pour SSRS. paix

32
Ravi Patel

Vous pouvez également activer le "Mode avancé" dans la fenêtre Groupes de lignes/colonnes, puis modifier le paramètre "RepeatOnNewPage" de chaque entrée de ligne statique. Vous devrez probablement également définir "KeepWithGroup" sur "After".

Cela fonctionne bien si vous utilisez un sous-rapport comme en-tête.

7
Ryan

ici les étapes que vous pouvez suivre. cela a résolu le problème (en-tête de colonne sur chaque page):

1) en mode conception du fichier rdl, en bas, vous trouverez "Groupes de lignes" et "Groupes de colonnes" (gauche et droite, respectivement). À côté des groupes de colonnes, vous trouverez un bouton fléché (ce bouton fléché est à droite de la protion des groupes de colonnes). cliquez sur ce bouton fléché.

2) Vérifiez le "Mode avancé"

3) La section RowGroups contient "(statique)" et "(Détails)". cliquez sur statique et appuyez sur F4 (pour vérifier ses propriétés.)

4) fournissez "Keep With Group" comme "After"

5) Indiquez "Répéter sur une nouvelle page" comme "Vrai"

6) Retournez au tableau, faites un clic droit sur l'en-tête de la ligne, allez aux propriétés du tableau matriciel.

7) cochez "répéter la colonne d'en-tête sur chaque page" et "répéter la colonne d'en-tête sur chaque ligne"

J'espère que cela vous aidera.

1
Soma Sarkar

Vous pouvez répéter les en-têtes de page sur chaque page si vos sauts de page sont dus à des ruptures entre les groupes (pagination difficile). Vous ne pouvez pas répéter les en-têtes de page entre les pages si la pagination est due à une petite taille de page interactive (pagination douce). Pour répéter les en-têtes de page sur chaque page entre les groupes, intégrez les en-têtes du tableau matriciel dans le groupe et sous l'onglet Général de la fenêtre Propriétés du tableau matriciel, cochez En-têtes de colonne -> Répéter les lignes d'en-tête sur chaque page. Vous pouvez également le faire à partir de la fenêtre des propriétés générales du Tablix en utilisant RepeatcolumnHeaders = True.

Veuillez noter que mes commentaires se limitent à l'élaboration de rapports SSRS 2008 dans BIDS. Je ne sais pas si cette fonctionnalité existe dans le Générateur de rapports.

1
Registered User