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

StiReport.Print()

Добавлено: 20 мар 2012, 18:11
Rumin
при вызове метода Print объекта StiReport генерируется исключение

Диалоговые окна должны инициализироваться пользователем.


StiReport.Print()

Добавлено: 21 мар 2012, 08:05
Anton Lozovskiy
Здравствуйте,

Все правильно. При вызове метода Print() вызывается окно PrintDialog, которое в свою очередь может вызываться, только если пользователь нажал на кнопку. Так было задумано в Microsoft для безопасности. Подробнее об этом читайте в документации по Silverlight на Msdn.

Спасибо.

StiReport.Print()

Добавлено: 25 мар 2012, 17:01
Rumin
Anton писал(а): Все правильно. При вызове метода Print() вызывается окно PrintDialog, которое в свою очередь может вызываться, только если пользователь нажал на кнопку. Так было задумано в Microsoft для безопасности. Подробнее об этом читайте в документации по Silverlight на Msdn.
.
А смысл тогда в методе Print(). ????

У меня задача сразу же отправить отчет на печать без вызова диалогов печати.

Раньше до последнего обновления у меня это работало а теперь просит какие то окна. МНЕ НУЖНО ПРОСТО СРАЗУ КАК ЕСТЬ ОТПРАВИТЬ НА ПЕЧАТЬ

StiReport.Print()

Добавлено: 30 мар 2012, 05:26
Anton Lozovskiy
Здравствуйте,

>>А смысл тогда в методе Print(). ????
>>У меня задача сразу же отправить отчет на печать без вызова диалогов печати.
>>Раньше до последнего обновления у меня это работало а теперь просит какие то окна. МНЕ НУЖНО ПРОСТО СРАЗУ КАК ЕСТЬ ОТПРАВИТЬ НА ПЕЧАТЬ

Ни одно диалоговое окно (PrintDialog, OpenFileDialog, SaveFileDialog и т.д.) нельзя открыть по случайному событию. Нужно обязательное вмешательство пользователя(нажатие на кнопку). Иначе сам Silverlight выкидывает ошибку безопасности. Мы тут ничего сделать не можем, читайте подробнее документацию по Silverlight, либо обращайтесь на support Microsoft.

Спасибо.

StiReport.Print()

Добавлено: 30 мар 2012, 05:43
Anton Lozovskiy
Здравствуйте,

>>Раньше до последнего обновления у меня это работало а теперь просит какие то окна. МНЕ НУЖНО ПРОСТО СРАЗУ КАК ЕСТЬ ОТПРАВИТЬ НА ПЕЧАТЬ
Не знаю как у вас работало что раньше. Но печать всегда работала одинаково.
Работает вот такой код:

PrintDocument multidoc = new PrintDocument();
multidoc.Print("Stimulsoft Report.Silverlight4");

и во время вызова метода Print(..) Silverlight сам вызывает диалоговое окно.

Спасибо.

Re: StiReport.Print()

Добавлено: 02 ноя 2012, 10:43
Dmitriy
Здравствуйте,
И какой результат, можно ли сейчас из кода вызвать печать ?

Re: StiReport.Print()

Добавлено: 02 ноя 2012, 14:29
HighAley
Здравствуйте.

В Silverlight никаких изменений в эту сторону сделано не было и не предвидится. Соответственно и в нашем продукте всё осталось как и было.

Спасибо.

Re: StiReport.Print()

Добавлено: 02 ноя 2012, 14:54
Anton Lozovskiy
>И какой результат, можно ли сейчас из кода вызвать печать ?

Печать из кода работала раньше и работает сейчас, никаких проблем нету.
Всего один нюанс, послать на печать можно только после открытия окна PrintDialog. Без открытия этого диалога, как было возможно в WinForms или Wpf, сделать нельзя.

И вызвать PrintDialog можно только при пользовательском нажатии, например на кнопку, когда срабатывает событие Click, MouseLeftButtonDown и т.п.
Вызвать печать при срабатывании например таймера нельзя! Это ограничение сильверлайт!!!

Подробнее по этому вопросу читайте на Msdn.

Спасибо.