Dans l'éditeur de rapports, il faut :
- dans la fenêtre des données du rapport, ajouter un nouveau paramètre (exemple "libtitre")
- placer ce paramètre dans l'entête de page
- dans le rapport, cliquer dans l'entête de page afin de sélectionner "PageHeader" dans la fenêtre des propriétés du rapport
- dans la fenêtre des propriétés du rapport, cliquer sur le bouton "Eclair" afin d'accéder au code C# correspondant à l'entête
- double-cliquer sur l'évènement "BeforePrint"
- la fenêtre de code s'ouvre avec, par défaut, "private void PageHeader1_BeforePrint(object sender, EventArgs e)"
- coller le code fourni ci-dessous.
Vous n'avez plus qu'à modifier le texte à imprimer.
Dans l'exemple ci-dessous, les pages 1, 3 et 4 ont un texte différent; les pages 2 et supérieures à 4 n'ont pas de texte imprimé.
// Affichage du titre différent sur chaque page
// Passage par un paramètre qui est initialisé par code
if (((Int32)Report.GetVariableValue( "Page" )) == 1)
Report.SetParameterValue( "libtitre" , Iif_langue(((String)Report.GetColumnValue( "CurrentUser.LANGUE" )), "Page 1-Allemand" , "Page 1-Anglais" , "Page 1-Néerlandais" , "Page 1-Français" ));
else if (((Int32)Report.GetVariableValue( "Page" )) == 2)
Report.SetParameterValue( "libtitre" , "" );
else if (((Int32)Report.GetVariableValue( "Page" )) == 3)
Report.SetParameterValue( "libtitre" , Iif_langue(((String)Report.GetColumnValue( "CurrentUser.LANGUE" )), "Page 3-Allemand" , "Page 3-Anglais" , "Page 3-Néerlandais" , "Page 3-Français" ));
else if (((Int32)Report.GetVariableValue( "Page" )) == 4)
Report.SetParameterValue( "libtitre" , Iif_langue(((String)Report.GetColumnValue( "CurrentUser.LANGUE" )), "Page 4-Allemand" , "Page 4-Anglais" , "Page 4-Néerlandais" , "Page 4-Français" ));
else if (((Int32)Report.GetVariableValue( "Page" )) > 4)
Report.SetParameterValue( "libtitre" , "" );