Смена Page динамически
Хочу реализовать такой отчет.
В отчете две страницы (Page1 и Page2).
Мне необходимо в зависимости от значения в данных выводить либо Page1, либо Page2.
Причем в запросе оба значения могут присутствовать.
Написала такой скрипт
В этом случае понятное дело инициализация и установка идет в самом начале отчета и уже не меняется. Поэтому страница всегда подгружается соответствующая первому признаку.
Подскажите на какое событие поставить код, чтобы страницы менялись динамически.
В отчете две страницы (Page1 и Page2).
Мне необходимо в зависимости от значения в данных выводить либо Page1, либо Page2.
Причем в запросе оба значения могут присутствовать.
Написала такой скрипт
private void _StartReport(object sender, EventArgs e)
{
DataSourceBase ds = Report.GetDataSource("Table1");
// инициализируем его
ds.Init();
Page1.Visible = false;
Page2.Visible = false;
if (((String)Report.GetColumnValue("Table1.Priznak")) == "51" )
Page1.Visible = true;
else
Page2.Visible = true;
}
В этом случае понятное дело инициализация и установка идет в самом начале отчета и уже не меняется. Поэтому страница всегда подгружается соответствующая первому признаку.
Подскажите на какое событие поставить код, чтобы страницы менялись динамически.
Комментарии
Не совсем понятно, как Вы хотите менять страницы. Дело в том, что сначала строится отчет из всех объектов на странице1 (готовый отчет может содержать много страниц), затем - из объектов на странице2. Если нужно вывести часть объектов страницы1, затем страницу2 полностью, затем оставшуюся часть страницы1 - нужно использовать объект "Вложенный отчет".
пример
Т.е. как бы я это делал: не создавал бы две страницы, а просто "разруливал" отображением, что и когда (в зависимости от каких условий) показывать (какие бенды).
Подскажите пожалуйста, как задать условие для смены страниц или для инициализации вложенного отчета
Отключать одну из страниц (Page1.Visible = false) можно в скрипте в обработчике события Report.StartReport (или, если есть диалоговая форма, в обработчике OKButton.Click).