Скрытие текстового поля в заголовке отчета из другого раздела ActiveReports версии 1.0

У меня есть отчет с ReportHeader, PageHeader, GroupHeader1, GroupHeader2, Detail и т. д., а также SubReport в разделе Detail и SubReport в ReportFooter. Я не узнаю, нужно ли отображать текстовое поле и строку в заголовке отчета, пока раздел «Подробности» не вызовет подотчет.

Если SubReport в разделе Detail определяет, что ему необходимо отобразить какие-либо данные, он вносит изменения в TextBox в PageHeader родительского отчета. SubReport в ReportFooter может прочитать это TextBox в PageHeader, чтобы узнать, должен ли он также отображать какие-либо данные.

Мне нужно скрыть TextBox и строку в разделе ReportHeader после того, как все детали будут отображены, если TextBox в PageHeader указывает, что я должен это сделать. Как я могу это сделать?

Это код, который я пытаюсь. Я показываю цвета только для того, чтобы увидеть, что можно изменить в том конкретном разделе, который я пытаюсь изменить.

string display = "Do not display Info";
try
{
    display = ((TextBox)rpt.Sections["PageHeader"].Controls["TextBox80"]).Value.ToString().Trim();
}
catch { } 

if (display == "Display Info" )
{
    ((TextBox)rpt.Sections["ReportHeader"].Controls["TextBox20"]).Value = "";
    ((TextBox)rpt.Sections["ReportHeader"].Controls["TextBox20"]).BackColor = System.Drawing.Color.Red;
    rpt.Sections["Detail"].BackColor = System.Drawing.Color.Green;
    rpt.Sections["PageHeader"].BackColor = System.Drawing.Color.Blue;
    rpt.Sections["GroupHeader2"].BackColor = System.Drawing.Color.Purple;
    rpt.Sections["ReportFooter"].BackColor = System.Drawing.Color.Orange;
}
else
{
    rpt.Sections["ReportFooter"].BackColor = System.Drawing.Color.Yellow;
}

person cptacek    schedule 07.10.2016    source источник


Ответы (1)


Это невозможно так, как вы это делаете. К тому времени, когда AR отрисовывает детали, заголовок отчета уже отрендерен и не может быть изменен, думайте о нем как о листе бумаги, который уже был напечатан, мы не можем отменить его.

правильный способ - запустить логику, которую вы используете в подотчете, до того, как отчет будет выполнен, и использовать информацию для правильной настройки видимости текстового поля в заголовке отчета.

person GrapeCity Team    schedule 07.10.2016