RDLC: как напечатать несколько таблиц в одном отчете
Я генерирую XML-схему RDLC и показываю отчет в элементе управления ReportViewer. Там нет проблем.
Теперь я хочу получить отчет с двумя таблицами и двумя разными наборами данных.
Нечто подобное генерируется:
<Body>
<ReportItems>
<Table Name="Table1">
....
</Table>
<Table Name="Table2">
....
</Table>
</ReportItems>
</Body>
Но при печати обе таблицы начинаются сверху, печатая одну таблицу поверх другой (не приятно)
Есть ли способ сказать, что Table2 должен начинаться после Table1?
Обновление: я пробовал с List
с поддельным источником данных, но он не работает.
3 ответа
Я использую много отчетов с несколькими таблицами, я просто добавляю начало второй таблицы точно над концом второй таблицы, когда они отображаются, они появляются одна за другой. Так что вам нужно настроить первую таблицу с:
<Table Name="table1">
<DataSetName>DataSets_ChiamateGroup</DataSetName>
<KeepTogether>true</KeepTogether>
<Top>36cm</Top>
<Height>3.00001cm</Height>
А также
<Table Name="table2">
<DataSetName>DataSets_ChiamateGroup</DataSetName>
<KeepTogether>true</KeepTogether>
<Top>39cm</Top>
<Height>5.00000cm</Height>
Обратите внимание, что Table1.Top+Table1.Height=Table2.Top
Вот пример расположения двух таблиц (с дополнительными диаграммами наверху)
Надеюсь, поможет!!
Таблицы должны отображаться одна за другой. В вашем RDLC должно быть что-то еще. Вы сами генерируете RDLC? Вы пытались создать фиктивный отчет с помощью дизайнера отчетов, поместив в него две таблицы и изучив RDLC, который он генерирует? Несколько таблиц в одном отчете чрезвычайно распространены.
Также попробуйте установить их Top
элементы:
<Table Name="Table1">
<Top>1in</Top>
</Table>
<Table Name="Table2">
<Top>5in</Top>
</Table>
О, МОЙ БОГ! Это было так просто, как добавление ZIndex=2
ко второму столу.
Четное ZIndex
не важно, настройка волшебной подделки Top
это все, что имеет значение.
<Body>
<ReportItems>
<Table Name="Table1">
<Top>1cm</Top>
....
</Table>
<Table Name="Table2">
<Top>2.25cm</Top> <!-- more than table1 Top + Height -->
....
</Table>
</ReportItems>
</Body>
До сих пор не уверен, важен ли порядок в XML и настройки отличаются Top
s
Порядок в XML не важен, но Топ есть. Вы должны установить вершину больше, чем Table1 top+height (ту высоту, которая у него фактически есть в конструкторе)