Страница 1 из 1

Прерывание выполнение отчета.

Добавлено: 08 июл 2010, 10:49
Topik
Необходимо прервать выполнение отчета при условии (qTest.tip != 1).
Прописал на событие "Начало построения".
Но прервать сам отчет не получается - всеравно выводится чистый лист на печать.

qTest.Disconnect();
qTest.Connect();

if(qTest.tip != 1)
{
MessageBox.Show("Выбранный акт производства не является черновиком");
/// ????
}
else
{
_dID =new Guid(dID);
qDetails.Disconnect();
qDetails.Connect();
qDocs.Disconnect();
qDocs.Connect();

}

Прерывание выполнение отчета.

Добавлено: 09 июл 2010, 09:25
Jan
Здравствуйте,

Используйте такой код в событии BeginRender:

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

....
report.Stop = true;
и такой код для построения отчета:

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

report.Compile();
report.Render();

if ((!report.CompiledReport.Stop))
{
   report.Show();
}
Thank you.

Прерывание выполнение отчета.

Добавлено: 15 июл 2010, 07:09
Topik
Вкладываю отчет , ничего не получилось.

Прерывание выполнение отчета.

Добавлено: 15 июл 2010, 10:30
Ivan
Здравствуйте.

Еще раз проверили, все работает.
Вот пример кода для создания пустого отчета и присвоения скрипта.

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

            StiReport report = new StiReport();
            report.BeginRenderEvent.Script = "this.Stop = true;";
            report.Compile();
            report.Render();
            if ((!report.CompiledReport.Stop))
            {
                report.Show();
            }
Так как произведена остановка рендеринга, то окно превью не отображается.
Если закомментировать строку с присвоением скрипта, то превью отобразится.

Спасибо.