7
votes

Comment puis-je régler la largeur globale du rapport RDLC lorsque certaines colonnes sont cachées?

J'ai un rapport RDLC personnalisable dans lequel l'utilisateur peut choisir quelles colonnes à afficher. Toutes les colonnes sont incluses dans le concepteur de rapports et j'utilise des paramètres pour masquer / afficher des colonnes en fonction du choix de l'utilisateur. Le rapport rend correctement, et ne montre que les colonnes sélectionnées, toutefois, la largeur globale du rapport est la même que si toutes les colonnes étaient visibles. Cela signifie que le rapport peut avoir une énorme zone vide à droite des colonnes sélectionnées, qui ressemble à très bête.

Donc, ma question: Existe-t-il un moyen d'ajuster la largeur de rapport de manière dynamique au moment de l'exécution afin d'éviter une grande zone vide stupide dans le rapport? J'ai tenté de le faire dans le concepteur en attribuant un paramètre à la largeur du corps du rapport ... mais ce n'était pas autorisé. La largeur ne peut pas être une expression d'aucune sorte dans le concepteur, seule une valeur réelle est autorisée.

Toute suggestion?


0 commentaires

3 Réponses :


0
votes

La largeur réelle du rapport est fixée dans le concepteur afin que le rapport lui-même ne puisse pas être redimensionné au moment de l'exécution. Vous avez raison que dans le concepteur de rapport, il n'ya aucun moyen d'attribuer une expression ou d'attribuer de manière dynamique une valeur de largeur au rapport, page ou corps.

Cependant, la largeur du conteneur pour le rapport RDLC peut être contrôlée au moment de l'exécution. Si vous mettez votre visionneuse de rapport à l'intérieur d'un contrôle du panneau, vous devriez pouvoir obtenir la sortie souhaitée. Étant donné que votre interface utilisateur permet aux utilisateurs de décider quelles colonnes à inclure, vous devriez être capable de fixer une valeur de largeur à chaque colonne facultative et de la résumer et de redimensionner le conteneur selon que nécessaire.

N'oubliez pas que si vous redimensionnez le conteneur, un problème d'espace blanc à l'intérieur du rapport simple se transforme en un problème d'espace blanc sur le formulaire. Toujours un cadre étroit autour du rapport avec un espace vide en dehors de ce cadre peut bien être ce que vous voulez.

hth & house,

CEC


1 commentaires

Vous pouvez ajuster la largeur d'une colonne en chargeant le RDLC dans un objet XMLDOCUMUMUM et en ajustant l'élément "Taille". Je fais tout le temps pour masquer des colonnes au moment de l'exécution.



2
votes

J'ai une solution de contournement qui pourrait être idiote, mais au moins cela fonctionne pour moi; Donc, une fois que vous avez terminé avec le concepteur de rapport RDLC, fermez-le, puis ouvrez le rapport RDLC avec l'éditeur XML, puis dans la balise APRÈS LE MONTAGE . tag Vous pouvez voir un ... étiquette contenant la largeur du rapport, modifier sa valeur à une valeur vraiment faible (permet de Dites 1in ), cela devrait rendre le montrage du rapport sans les espaces idiotes.

Mais rappelez-vous que si vous ouvrez le rapport RDLC dans le concepteur, il réinitialisera la largeur à la zone de vue afin que le problème apparaisse à nouveau, alors le faire après que vous ayez terminé dans le rapport.

Je connais sa solution idiote, mais c'est mieux idiotement au développeur que chez le client ^ _ ^.

J'espère que cela aide.


0 commentaires

2
votes

Si possible, vous pouvez augmenter la largeur d'une autre colonne pour remplir l'espace vide. J'ai résolu ce problème comme suit.

Par exemple, j'ai des colonnes 'Nom' et "Discount". Rabais peut être masqué et je devrais changer de nom.Width vers Name.Width + rabais.Width.

J'ai fait une nouvelle colonne (appelez-le 'nameExt') à partir de la colonne "Nom" avec la même largeur que discount.Width. Cellules fusionnées de la colonne «Nom '» et la colonne' NameExt '. Ensuite, définissez la règle de visibilité pour «réduction» et règle de visibilité inverse pour «nameExt '.

J'espère que cela peut aider.


0 commentaires