web-dev-qa-db-fra.com

Étirez une ligne avec un débordement de données tout en ayant plusieurs lignes dans une seule bande

Mes exigences m'obligent à avoir plusieurs lignes dans une seule bande "Détails".

En ce moment, j'ai un champ de texte statique (qui est mis en surbrillance en couleur) dans la colonne la plus à gauche et trois champs de données de texte à côté.

Ce que je veux dans mon rapport, c'est que la bande de texte statique avec les trois bandes doit s'étirer en hauteur lorsque les données de l'une des trois bandes débordent, la ligne suivante étant "correctement" affichée sous la ligne étirée. Par "correctement", je veux dire que les éléments de la ligne suivante devraient avoir leurs valeurs "supérieures" les mêmes et être affichés dans la même "ligne".

J'ai essayé de définir l'indicateur "Stretch with overflow" sur "true" et "Position" sur "float" mais le problème est que les données de la ligne suivante ne sont pas correctement positionnées.

20
Rachcha

J'ai trouvé la réponse. La clé de la solution consiste à regrouper les éléments dans une rangée.

  1. Supprimez toutes les étiquettes de texte statiques. Utilisez plutôt des champs de texte, avec le texte entre guillemets. Ils peuvent être regroupés avec d'autres champs de texte et champs de données.
  2. Placez tous les champs de données après le champ de texte cité dans le même groupe que le champ de texte cité.
  3. Maintenant, faites de même avec toutes les lignes que vous souhaitez afficher. Groupe séparé pour une ligne individuelle.

Sélectionnez tous les éléments d'un groupe ou tous les éléments de tous les groupes et procédez comme suit:

  • Réglez "Position" sur "Float"
  • Réglez "Stretch Type" sur "Relative to the tallest object"
  • Cochez la case "Imprimer lorsque les détails débordent".
  • Cochez la case "Stretch with overflow".

C'est tout ce que nous pouvons faire pour que les choses "s'étirent" ensemble.

Maintenant, le groupe devrait s'étirer dynamiquement avec ces détails étirés. Accédez simplement aux propriétés de la bande, définissez le type de partage sur "Par défaut" et le partage autorisé sur vrai. Cela a fait l'affaire pour moi.

31
Rachcha

Au cas où quelqu'un viendrait à ce problème et les réponses ci-dessus ne fonctionnent pas. Je suggère de vérifier l'élément racine de votre xml. S'il a l'attribut suivant, supprimez-le:

printOrder="Horizontal"

Ensuite, les réponses ci-dessus devraient fonctionner.

J'espère que je sauverai quelqu'un un jour de googler les mêmes choses.

4

Dans mon cas, faire comme vous l'avez conseillé n'a pas fonctionné. J'ai dû modifier un peu votre solution - j'ai fait un "frame" au lieu de grouper les objets, et j'ai mis les éléments groupés précédemment dans ce frame. J'ai défini positionType = "Float" et stretchType = "No stretch" dans ce cadre, et défini stretchType = "RelativeToTallestObject" sur ses éléments enfants - alors tout fonctionne.

3
murison