Я пытаюсь программно установить поля в активном отчете на основе номера страницы.
В частности, первая страница должна иметь небольшие поля (так, чтобы самое верхнее текстовое поле с обратным адресом соответствовало выравниванию логотипа компании), а каждая страница после этого должна иметь стандартные поля 2,54 см.
Я читал посты, которые предполагают, что определение фактического номера страницы может быть проблематичным, поэтому я попытался использовать обработчики ReportStart и PageStart вместе с очень простой логикой для установки полей.
Вв качестве кода для отчета я добавил два обработчика и значение bool:
this.ReportStart += UFAnReportStart;
this.PageStart += UFAnPageStart;
bool bFirstPage = true;
, а затем добавил два обратных вызова следующим образом:
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;
}
Это не похоже наиметь какое-либо влияние на поля.Этот подход просто неправильно?Или объект PageSettings является широким свойством отчета?
Приветствуются любые предложения по альтернативным подходам.
с использованием Activereports3, версия 5.2.1013.2.
Спасибо!