2010-04-27 14 views
2

J'ai un rapport qui affiche l'adresse du client dans plusieurs étiquettes.SSRS: position de l'étiquette de rapport dynamique

Mes clients utilisent des enveloppes fenêtrées pour l'envoi postal. J'ai besoin que la position des étiquettes d'adresse soit configurable. Quelque chose comme, je vais avoir une table de base de données qui stocke la position haut/gauche de chaque étiquette par client. Sur la base de ce tableau, je dois positionner les étiquettes d'adresse sur mon rapport.

Je pensais que c'était possible avec des expressions, mais la propriété Location ne permet pas de définir une expression et de rendre la dynamique du haut et de la gauche de l'étiquette.

Quelqu'un, des idées, sur la façon d'y parvenir?

+0

possible des solutions de rechange? – Nauman

Répondre

2

Comme vous l'avez mentionné, vous ne pouvez pas définir une expression pour la propriété location. Je veux le faire avant mais il semble qu'il n'y ait pas de solution pour ce travail.

+0

Après d'autres recherches, j'ai commencé à être d'accord avec vous, que cela ne peut pas être fait :-( – Nauman

0

Aucune solution, car elle n'est pas supportée !!!

De soutien communautaire en ligne MS ...

« Pour autant que je sache, la position de la zone de texte dans le rapport est statique pas dynamique, il ne se déplace pas à gauche. »

Référence: http://forums.asp.net/t/1433297.aspx

+0

J'ai eu le même problème que vous avez fait, j'ai contourné le problème en utilisant un vieux truc HTML. Dans une image, vous placez votre image (liée au gif), puis vous placez votre étiquette en haut de l'écran.Utilisez un paramètre pour basculer l'élément à afficher en définissant une expression dans la propriété masquée pour les deux contrôles. – coson

1

Désolé pour le poste de double

J'ai eu le même problème que vous avez fait. J'ai contourné le problème en utilisant un vieux truc HTML. Cela implique d'utiliser un transparent.gif dans une image. Vous mettez votre image (liée au gif), puis mettez votre étiquette en haut. À l'aide d'un paramètre, vous pouvez basculer l'élément à afficher en définissant une expression dans la propriété masquée pour les deux contrôles.

1

Comme indiqué par d'autres, il n'est pas pris en charge. Cependant, voici deux travaux laids autour possible pour les rapports de base.

Travailler avec un rembourrage.
Vous ne pouvez pas définir de formule à l'emplacement de l'étiquette, mais vous pouvez utiliser l'option de remplissage à la place.

  1. Vous pouvez donc définir l'étiquette aussi large que le rapport et aussi grande que la région.
  2. Définissez également l'alignement horizontal de l'étiquette sur "Gauche" et l'alignement vertical sur "Dessus".
  3. Ensuite, ajoutez une formule dans les paddings gauche et supérieur pour décaler le texte.

enter image description here

Vous pouvez également obtenir un droit aligné étiquette offsetted en définissant l'alignement horizontal à « droite » et en utilisant le rembourrage à droite au lieu de celui de gauche pour compenser le champ de la droite. Avec la même recette, vous pouvez compenser par le bas en utilisant l'alignement vertical "bas" et le rembourrage inférieur.

Le mauvais côté:
Cette méthode va créer un désordre dans le concepteur de rapport que l'ensemble de l'étiquette dynamique se chevaucher et prendre tout l'espace sur l'étiquette statique.Notez également qu'avec cette méthode, vous ne serez pas en mesure de faire des choses sophistiquées comme l'ajout de bordures autour du texte et des hyperliens.

Contournement avec sous-rapport.
Si le nombre de positions différentes pour l'étiquette (s) est vraiment faible. Vous pouvez créer un sous-rapport pour chaque possibilité et utiliser une formule pour afficher le sous-rapport approprié pour le bon cas. Malheureusement, cela ne fonctionne pas pour les étiquettes dans l'en-tête car les sous-rapports n'y sont pas autorisés.