Я использую технику LocalReport.Render для печати отчета из формы приложения Windows, как описано здесь: http://msdn.microsoft.com/en-us/library/ms252172.aspxтолько страница одна печать
Он работает, но только первые отпечатки страниц. Я не использую ни один верхний или нижний колонтитул на странице отчета, а только тело. Никаких дочерних отношений, никаких подписок. Просто очень простой список объектов данных.
Я делаю что-то вроде этого, чтобы загрузить источник данных в отчете:
List<mysimpledataobject> MyData = new List<mysimpledataobject>();
... add 10 items to the list ...
report.DataSources.Add(new ReportDataSource("Sales", MyData));
только делает первую страницу. Я подумал, что, возможно, все страницы были представлены в списке потоков, и, возможно, только первая страница на самом деле отправляется на принтер, но когда я отлаживаю и просматриваю список потоков, я вижу только один элемент. Поток должен иметь один элемент в списке потоков для каждой страницы.
Порция визуализации кода выглядит следующим образом:
report.Render("Image", deviceInfo, CreateStream, out warnings);
foreach (Stream stream in m_streams)
stream.Position = 0;
Список m_streams только 1 пункт в нем, так что только одна страница выводится на печать.
Я также пробовал передавать DataTable и Array бизнес-объектов в качестве источника данных, но это тоже не работает.
Любые идеи будут оценены. Благодарю.
Некоторые мысли: вы пробовали рендеринга в PDF еще? И, возможно, измените принтер, возможно, попробуйте что-то вроде PdfWriter? – Jeroen