2009-09-02 3 views
3

Я использую Reportviewer для создания счета-фактуры для продажи, который будет распечатан пользователем. Как я могу получить поля данных для печати на каждой странице многостраничного счета?Visual Studio ReportViewer, повторяющий блок данных на каждой странице

Счет-фактура печатается на предварительно отпечатанной форме. Я хочу, чтобы печатная форма выглядеть примерно так:

страница 1
клиента джон смит
123 главных ул.
город, CA 90000

некоторые ITEM1 $ 100
некоторые ITEM2 $ 150
некоторые ITEM3 $ 150


страница 2
Заказчик Джон Смит
123 главная ул.
город, CA 90000

некоторые item4 $ 500
некоторые Item5 $ 250
некоторые item6 $ 950
Итого $ 2100

Используя 1 список, который содержит DataBound поля TextBox для информации клиента, и стол для Предметы. Проблема в том, что есть много элементов, для которых элементы переходят на страницу 2, на следующей странице есть только элементы, а не информация о клиенте, которую нужно распечатать и на второй странице.

Я попытался использовать заголовок страницы, но я не могу использовать элементы данных в заголовке страницы. Пожалуйста помоги!

ответ

0

я полагаю, вы используете таблицу в тексте отчета только добавить группировку по пункту и в заголовке группы поместить данные клиента и просто установить RepeatOnNewPage в Treu для строки заголовка отчета С наилучшими пожеланиями, Йордан

0

Очень ценным ресурсом является сайт GotReportViewer, у них есть образец, который называется Invoice Maker, который стоит посмотреть.

Трюк, который вы можете использовать, описан в this MSDN page, он включает добавление полей, которые вы хотите в заголовке страницы, в тело вашего отчета, а затем скрытие поля, а затем в заголовке страницы, ссылаясь на скрытое текстовое поле, например. = First (ReportItems! TxtHiddenFieldName.Value)

+0

Спасибо за ваш ответ. Я проверил образец образца производителя экземпляра, он в основном работает так же, как и мой. Когда я добавил много элементов, на странице 2 показаны только элементы. Я проверю страницу MSDN, походит на то, что мне нужно. – muhan

+0

Сайт GotReportViewer является хорошим общим ресурсом для информации Report Viewer, в статье страницы MSDN показано, как решить вашу актуальную проблему. –

3

Открыть документ RDLC в представлении XML. Найдите блок кода только под деревом TablixColumnHierarchy и соответствующим образом измените его. Ключ устанавливает параметр RepeatOnNewPage tag = true между тегом TablixMember.

Надеюсь, что это предотвратит часовое сражение с этим для других людей!

Смотрите фрагменты ниже:

... 
    <TablixColumnHierarchy> 
     <TablixMembers> 
     <TablixMember /> 
     <TablixMember /> 
     <TablixMember /> 
     <TablixMember /> 
     <TablixMember /> 
     <TablixMember /> 
     <TablixMember /> 
     <TablixMember /> 
     <TablixMember /> 
     <TablixMember /> 
     </TablixMembers> 
    </TablixColumnHierarchy> 
    <TablixRowHierarchy> 
     <TablixMembers> 
     <TablixMember> 
      <KeepWithGroup>After</KeepWithGroup> 
      <RepeatOnNewPage>true</RepeatOnNewPage> 
     </TablixMember> 
     <TablixMember> 
      <KeepWithGroup>After</KeepWithGroup> 
      <RepeatOnNewPage>true</RepeatOnNewPage> 
     </TablixMember> 
     <TablixMember> 
      <Group Name="Details" /> 
      <RepeatOnNewPage>true</RepeatOnNewPage> 
     </TablixMember> 
     </TablixMembers> 
    </TablixRowHierarchy> 
    <RepeatColumnHeaders>true</RepeatColumnHeaders> 
    <RepeatRowHeaders>true</RepeatRowHeaders> 
    <FixedColumnHeaders>true</FixedColumnHeaders> 
    <FixedRowHeaders>true</FixedRowHeaders> 
    <KeepTogether>true</KeepTogether> 
    <DataSetName>ds_Triangulation</DataSetName> 
    ...