J'essaie de définir par programme les marges dans un rapport actif basé sur le numéro de page. Plus précisément, la première page doit avoir de petites marges (de sorte que la zone de texte la plus haute avec une adresse de retour correspond à l'alignement du logo de l'entreprise) et chaque page doit avoir des marges standard de 2,54 cm. J'ai lu des messages qui suggèrent que la détection du numéro de page réel peut être problématique, j'ai donc essayé d'utiliser les gestionnaires ReportStart et PageStart avec une logique très simple pour définir les marges.Paramètre de marge spécifique à la page dans AR3
Dans le code-behind pour le rapport, j'ai ajouté les deux gestionnaires et la valeur bool:
this.ReportStart += UFAnReportStart;
this.PageStart += UFAnPageStart;
bool bFirstPage = true;
Et puis on ajoute les deux callbacks comme suit:
private void UFAnReportStart(object sender, System.EventArgs eArgs)
{
this.PageSettings.Margins.Top = 0.1965278F;
}
private void UFAnPageStart(object sender, System.EventArgs eArgs)
{
// every page after the first should have standard margins.
if (!bFirstPage)
{
this.PageSettings.Margins.Top = 2.54F;
}
bFirstPage = false;
}
Cela ne semble pas avoir un effet sur les marges. Cette approche est-elle tout simplement erronée? Ou est l'PageSettings objet une propriété de rapport large?
Toutes les suggestions d'approches alternatives sont les bienvenues.
en utilisant Activereports3, version 5.2.1013.2.
Merci!
J'ai aussi essayé de remplacer this.PageSettings.Margins.Top = 2.54F avec this.CurrentPage.Margins.Top = 2.54F mais cela ne fonctionne pas non plus ... – user246091