Est-ce que quelqu'un sait comment créer un rapport dans FastReport de sorte que lorsque l'utilisateur modifie l'orientation de la page, tous les en-têtes de colonne et les données sont modifiés automatiquement? Je n'ai pas trouvé de mécanisme d'ancrage là-bas. Peut-être que je peux le faire pendant l'exécution? Mais alors j'ai besoin d'attraper l'événement de changement d'orientation de page en quelque sorte. Quelqu'un peut-il aider?Modification de l'orientation de la page FastReport dans Delphi
Répondre
Je ne sais pas ce que la question est: les bandes sont magnétiques Par défaut, les bordures de page correspondent à la nouvelle largeur de page. Mais si vous souhaitez que les objets frxMemoview se déplacent et se redimensionnent en fonction du nouveau format de page, vous devez utiliser l'événement beforeprint du rapport pour recalculer et déplacer ou dimensionner les composants du rapport.
Si vous disposez d'un rapport pouvant être imprimé en mode portrait ou paysage, la méthode la plus simple consiste à créer une mise en page pour le mode portrait et une autre pour le mode paysage. Vous pouvez afficher un printersetupdailog avant de charger le rapport et, en fonction de l'orientation, charger le format portrait ou paysage.
Ce n'est peut-être pas le moyen le plus propre. Construire votre runtime de rapport dans le code est une autre option et recalculer chaque composant dans le rapport en est une autre. Mais ils impliquent beaucoup de codage et que se passe-t-il si l'utilisateur sélectionne "Letter" au lieu de "A4"?
Regards, Teo Distributeur FR en Hollande.
Vous pouvez:
- utiliser la propriété Align de chaque TfrxMemoview ...
- faire avec Script
Il est parfois nécessaire de modifier les paramètres de la page de rapport (par exemple, pour modifier l'alignement ou la taille du papier) à partir d'un code. La classe TfrxReportPage contient les propriétés suivantes, définir la taille de la page:
property Orientation: TPrinterOrientation default poPortrait;
property PaperWidth: Extended;
property PaperHeight: Extended;
property PaperSize: Integer;
Le «PaperSize» ensembles de propriétés format papier. C'est l'une des valeurs standard définies dans Windows.pas (par exemple, DMPAPER_A4). Si une valeur est affectée à cette propriété, FastReport remplit automatiquement les propriétés «PaperWidth» et «PaperHeight» (taille du papier en millimètres). Si vous définissez la valeur DMPAPER_USER (ou 256) en tant que format, cela signifie que le format de papier personnalisé est défini. Dans ce cas, les propriétés «PaperWidth» et «PaperHeight» doivent être renseignées manuellement.
L'exemple suivant montre, comment modifier les paramètres de la première page (on suppose que nous avons déjà un rapport):
Pascal:
var
Page: TfrxReportPage;
{ the first report’s page has [1] index. [0] is the Data page. }
Page := TfrxReportPage(frxReport1.Pages[1]);
{ modify the size }
Page.PaperSize := DMPAPER_A2;
{ modify the paper orientation }
Page.Orientation := poLandscape;
C++:
TfrxReportPage * Page;
// the first report’s page has [1] index. [0] is the Data page.
Page = (TfrxReportPage *)frxReport1.Pages[1];
// modify the size
Page->PaperSize = DMPAPER_A2;
// modify the paper orientation
Page->Orientation = poLandscape;
Sur BeginDoc
vous pouvez accéder aux propriétés à l'aide de (frxPrincipal.FindObject('Page1') as TfrxReportPage).PaperSize := DMPAPER_A4;
- 1. Conversion de QuickReport en FastReport
- 2. Imprimer FastReport directement
- 3. Comment attribuer dynamiquement un jeu de données dans FastReport?
- 4. Modification de l'URL de la page Web dans CCNet Email
- 5. Modification d'éléments dans la page maître à partir de la page de contenu dans vb.net
- 6. Modification de la page HTML Icône?
- 7. Modification de la variable de session après l'actualisation/modification de la page
- 8. Delphi standard Code page de sortie d'entrée
- 9. Modification de la feuille de style dans le code de la page maître
- 10. Modification de la propriété de visibilité du panneau sur la sélection de radiobuttonlist dans asp.net page
- 11. Modification du type de contenu Page ENTRÉE?
- 12. Modification de l'emplacement de la page de connexion de l'utilisateur dans WordPress
- 13. Modification de la couleur des éléments déroulants dans TDBLookupComboBox
- 14. "Les bases de Delphi" dans Delphi 2009
- 15. Modification de documents Word dans une page Web
- 16. Demande de page de modification de l'extension Google Chrome
- 17. Vérification de la modification des données de champs avant de quitter la page
- 18. Mise en page de modification de facette Drupal
- 19. Modification de la valeur d'en-tête dans la grille Voir
- 20. Modification de <object> paramètres au chargement de la page dans IE8
- 21. MOSS 2007: Modification de la maquette pour une mise en page d'une page
- 22. Éléments de fondu avant et arrière sans modification de la disposition de la page
- 23. Modification de la couleur de police SIFR après chargement de la page
- 24. Modification de la fonctionnalité JavaScript de Liferay
- 25. Modification de la résolution dans OpenTK
- 26. Modification dynamique de la DLL dans .NET
- 27. Comparaison de la date Delphi
- 28. Modification de l'emplacement du fichier CSS dans la page maître en fonction de la configuration de la compilation
- 29. Comment imprimer Fastreport directement sans afficher le dialogue d'impression
- 30. Google Appspot: personnalisation ou modification de la langue de la page Comptes Google Connexion
I pourrait le calculer par programme, il y a probablement quelque chose comme la propriété Page.Width? Je pourrais l'utiliser pour trouver le format de la page en cours. Par ailleurs, comment puis-je appeler une boîte de dialogue de configuration d'impression? En Rave, il est appelé par défaut, mais il n'y a pas de tel dialogue en FR, non? L'utilisateur peut modifier l'orientation de la page lorsqu'il a déjà commencé à consulter le rapport, mais j'ai alors besoin d'observer un événement de changement d'orientation de la page. Comment puis je faire ça? –