У меня есть отчет с 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;
}