Печать многостраничного списка WPF при использовании GroupStyle

Я закодировал отчет ListView, используя xaml, mvvm, и он отлично работает. Код xaml развертывает ListView.GroupStyle, и в результирующем отчете есть заголовок группы, список элементов, а также итоговые значения и количество групп.
Это выглядит следующим образом: введите здесь описание изображения

Я хотел бы распечатать этот же отчет на принтере. Он многостраничный, и одни только группы могут занимать больше страницы, в зависимости от диапазона отчетных дат. Я также хотел бы показать заголовки столбцов вверху каждой печатной страницы.

Я читал (и практиковал) печать отчетов ListView раньше в FixedPage/Fixed Document и вычислял источник элемента для каждой страницы, чтобы распределить печатный отчет по нескольким страницам.

На этот раз из-за того, что я использую группировки, задачи кажутся более сложными? Я не понимаю, как рассчитать источник элемента для каждой страницы. Я думаю, что мне нужно каким-то образом построить отчет как один несвязанный (без ограничений по размеру страницы) ListView, вытащить элементы ListViewItems, а затем использовать эти элементы для создания моего отчета.

Я прочитал решения с использованием FlowDocument, но не увидеть там ответ?

Может ли кто-нибудь дать мне несколько идей, как решить эту проблему?


person Allan    schedule 14.06.2013    source источник


Ответы (1)


Вот совет в принятом ответе на ссылку StackOverflow, которую вы цитировали:

Оказалось, что метод потокового документа/XPS был совершенно неправильным подходом к этой задаче, и на самом деле встроенные отчеты RDLC позволили нам добиться всего, что нам нужно для наших счетов-фактур, относительно простым способом.

Это маршрут, по которому я бы пошел.

Вот ссылка на статью CodeProject, которая печатает сетку данных с повторяющимися заголовками, в значительной степени то, что вы спрашиваете, если вы все еще хотите продолжить свой оригинальный подход:

CodeProject — настраиваемый пагинатор документов сетки данных

И в этом вопросе StackOverflow есть несколько хороших ответов с другими подходами:

StackOverflow — лучший подход к печати отчетов из wpf

person Edward    schedule 15.06.2013