Вызов LocalReport.Render в фоновом потоке - PullRequest
4 голосов
/ 12 ноября 2009

Я уже некоторое время работаю с элементом управления Winforms ReportViewer. Я добавил пользовательскую панель инструментов и обрабатываю все функции отчетов вручную.

Моя проблема с очень большими отчетами. Чтобы отобразить мои отчеты в Image (который я использую для печати), я вызываю метод ReportViewer.LocalReport.Render. В больших отчетах пользовательский интерфейс замораживается довольно долго.

Мой план состоит в том, чтобы «предварительно извлечь» отображаемые изображения при запросе отчета. Я пытаюсь сделать это в фоновом потоке. Все, что я пробовал, приводит к тому, что пользовательский интерфейс не отвечает во время вызова Render.

Есть ли что-то в вызове Render, которое заставило бы поток (который не имеет ничего общего с потоком пользовательского интерфейса) каким-то образом заблокировать поток пользовательского интерфейса?

1 Ответ

2 голосов
/ 04 мая 2011

Это невозможно.

Метод Render никогда не позволит запускаться как поток.

...