RDLC:如何在一个报告中打印多个表

时间:2010-04-28 13:28:34

标签: .net wpf reporting-services reportviewer rdlc

我正在生成RDLC XML架构并在ReportViewer控件中显示报表。没问题。

现在,我想要一个包含2个表的报告,其中包含2个不同的数据集 生成这样的东西:

<Body>
    <ReportItems>
            <Table Name="Table1">
            ....
            </Table>
            <Table Name="Table2">
            ....
            </Table>           
    </ReportItems>
</Body>

但是,打印时,两个表从顶部开始,将一个表打印在另一个表上(不太好)

有没有办法告诉Table2应该在Table1之后启动?

更新:我尝试使用假的DataSource List,但它不起作用。

3 个答案:

答案 0 :(得分:2)

我使用了很多带有多个表的报告,我只是简单地将第二个表的开头添加到第二个表的末尾,当渲染时它们一个接一个地出现。 因此,您需要使用以下命令配置第一个表:

<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

以下是两个表格布局的示例(顶部附加图表)

report designer two tables

希望它有所帮助!!

答案 1 :(得分:1)

表格应该一个接一个地呈现。您的RDLC中必定会有更多内容。您自己生成RDLC?您是否尝试使用报表设计器创建虚拟报表,在其中删除两个表,并检查它生成的RDLC?一个报告中的多个表格非常常见。

还可以尝试设置Top元素:

        <Table Name="Table1">
            <Top>1in</Top>
        </Table>
        <Table Name="Table2">
            <Top>5in</Top>
        </Table> 

答案 2 :(得分:0)

OMG!就像在第二个表中添加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中的顺序并不重要,但Top是。你必须设置一个比Table1 top + height(它在设计师中实际拥有的高度)更大的顶部