Здравствуйте.
Пользуюсь Stimulsoft Reports.Net 2011.3. Использую метод StiReport.Print() для печати сформированного отчета. Может случиться, что отчет не будет напечатан (принтер недоступен, или пользователь нажал Отмена). В этом случае появляется форма с сообщением об ошибке при печати отчета, однако она создается где-то внутри StiReport. Мне бы хотелось получить информацию о том, прошла ли печать успешно. Я нашел событие StiReport.Printed, однако оно вызывается как в случае успешной, так и в случае неудавшейся печати, и я не могу найти как проверить, удалась ли печать.
Есть ли какой-нибудь способ это проверить?
Спасибо.
Отлов ошибок печати отчета
Отлов ошибок печати отчета
В итоге получилось сделать так:
Отключаем показ сообщений и включаем проброс исключений из отчета:
В результате если в ходе печати произошла ошибка, нам выбрасывается исключение, которое уже можно нормально обработать.
Может есть еще варианты?
Отключаем показ сообщений и включаем проброс исключений из отчета:
Код: Выделить всё
StiOptions.Engine.HideMessages = true;
StiOptions.Engine.HideExceptions = false;
Может есть еще варианты?
Отлов ошибок печати отчета
Здравствуйте.
Обработку ошибок делает следующий код. Ваш вариант правильный.
Также Вы можете ещё попробовать создать свой класс наследовав IStiCustomExceptionProvider интерфейс и присвоить его свойству StiExceptionProvider.CustomExceptionProvider.
Спасибо.
Обработку ошибок делает следующий код. Ваш вариант правильный.
Код: Выделить всё
public static void Show(Exception exception)
{
if (StiExceptionProvider.CustomExceptionProvider != null)
StiExceptionProvider.CustomExceptionProvider.Show(exception);
else
{
if (!HideMessages)
{
using (StiExceptionForm form = new StiExceptionForm(exception))
{
form.ShowDialog();
}
}
else
{
if (!HideExceptions) throw exception;
}
}
}
Спасибо.