none
ReportViewer получение кол-ва страниц без рендера изображения RRS feed

  • Общие обсуждения

  • Приветствую!

    был как-то пост, в котором я пытался сделать шаблон для документа (http://social.msdn.microsoft.com/Forums/ru-RU/fordesktopru/thread/b2d8e41d-bd95-4374-93e1-8611eb32e6de).

    Суть в том, чтобы структура шаблона всегда была одинаковой (одинаковое кол-во строчек в таблице) вне зависимости от заполнения данными. В шаблон в качестве источника данных может поступить коллекция с всего тремя элементами, тогда как строчек в таблице должно быть 10. Остальные 7 строчек в таком случае должны обязательно присутствовать, но быть пустыми. 

    Для решения задачи рассчитал кол-во строчек, помещающихся в таблицу и добавлял в источник данных пустые объекты, чтобы они отображались в незанятых строчках таблицы.

    Проблема в том, что бывают такие случаи, когда данные не помещаются в одну строку таблицы. Тогда эта строчка расширяется по высоте и все мои вычисления никуда не годны, т.к. на страницу уже помещается другое кол-во строк. 

    Продолжая изобретать новые кривые способы сделать то, что необходимо, решил попробовать получать кол-во страниц в отчёте без его отображения. Потом добавлять пустые элементы в datasource и получать кол-во страниц снова до тех пор, пока кол-во страниц не увеличится. Таким образом заполню недостающими пустыми строками страницу. 

    Мало того, что это какой-то велосипед для инвалидов, так ещё и весьма долго будет отрабатывать. Посему 3 вопроса:

    • Есть ли другие идеи как сделать шаблон документа иным способом в ReportViewer'е?
    • Какие есть варианты кроме ReportViewer'а?
    • Если никаких мыслей, то как всё-таки получить кол-во страниц в сгенеренном отчёте без его рендера на экране?

Все ответы

  • Уважаемый пользователь!

    В вашей теме отсутствует активность в течение последних 5 дней. При отсутствии каких-либо действий в течение 2 последующих дней, тема будет переведена в разряд обсуждений. Вы можете возобновить дискуссию, просто оставив сообщение в данной теме


    Для связи [mail]