FastReport.NET – PageHeaderBand не повторяется на многостраничном объекте TableObject.C#

Место общения программистов C#
Ответить
Anonymous
 FastReport.NET – PageHeaderBand не повторяется на многостраничном объекте TableObject.

Сообщение Anonymous »

Я работаю с FastReport.NET в проекте WinForms, и у меня есть TableObject, который занимает несколько страниц. (Нет таблиц данных, нет определений отчетов)
Таблица генерируется правильно, разрывы страниц работают нормально.
Однако PageHeaderBand не печатается
Вот минимальный воспроизводимый пример:

Код: Выделить всё

private void button1_Click(object sender, EventArgs e)
{
Report report = GetTableWithPageHeaderReport();
report.Prepare();
report.Preview = previewControl;
report.ShowPrepared();
}

static Report GetTableWithPageHeaderReport()
{
Report report = new Report();

ReportPage page = new ReportPage();
report.Pages.Add(page);

page.TopMargin = Units.Centimeters * 2;
page.BottomMargin = Units.Centimeters * 2;

// Page header band
PageHeaderBand headerBand = new PageHeaderBand();
headerBand.Height = Units.Centimeters * 1;
page.Bands.Add(headerBand);

TextObject headerText = new TextObject();
headerText.Bounds = new RectangleF(0, 0, Units.Centimeters * 19, Units.Centimeters * 1);
headerText.Text = "Report multipagina — Page [Page#] of [TotalPages]";
headerText.Font = new Font("Arial", 10, FontStyle.Bold);
headerText.HorzAlign = HorzAlign.Right;
headerBand.Objects.Add(headerText);

// Body band
DataBand dataBand = new DataBand();
dataBand.CanBreak = true;
dataBand.CanGrow = true;
page.Bands.Add(dataBand);

// Table
TableObject table = new TableObject();
int rowCount = 500;
int colCount = 6;
table.RowCount = rowCount;
table.ColumnCount = colCount;

for (int j = 0; j < colCount; j++)
{
var cell = table[j, 0];
cell.Text = "Column " + (j + 1);
cell.Font = new Font("Arial", 9, FontStyle.Bold);
cell.FillColor = Color.LightGray;
cell.Border.Lines = BorderLines.All;
}

for (int i = 1; i < rowCount; i++)
{
for (int j = 0; j < colCount; j++)
{
var cell = table[j, i];
cell.Text = $"Row {i} / Col {j + 1}";
cell.Border.Lines = BorderLines.All;
}
}

table.Left = 0;
table.Top = 0;
table.CanBreak = true;
table.CanGrow = true;

dataBand.Objects.Add(table);
dataBand.Height = Units.Centimeters * 0.5f;

return report;
}
Мне нужен настоящий заголовок страницы (например, PageHeaderBand), автоматически повторяющийся вверху каждой страницы, даже если содержимое представляет собой всего лишь один большой TableObject, охватывающий несколько страниц.
Вопрос:
Существует ли надежный способ заставить PageHeaderBand печатать на каждой странице при использовании одного многостраничного TableObject в FastReport.NET?

Подробнее здесь: https://stackoverflow.com/questions/797 ... ableobject
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»