Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net RDLC:如何在一个报表中打印多个表_.net_Wpf_Reporting Services_Reportviewer_Rdlc - Fatal编程技术网

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

.net RDLC:如何在一个报表中打印多个表,.net,wpf,reporting-services,reportviewer,rdlc,.net,Wpf,Reporting Services,Reportviewer,Rdlc,我正在生成RDLC XML模式,并在ReportViewer控件中显示报告。没问题 现在,我想要一个包含两个表和两个不同数据集的报表。 生成类似这样的内容: <Body> <ReportItems> <Table Name="Table1"> .... </Table> <Table Name="Table2">

我正在生成RDLC XML模式,并在ReportViewer控件中显示报告。没问题

现在,我想要一个包含两个表和两个不同数据集的报表。
生成类似这样的内容:

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

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

有没有办法告诉我们表2应该在表1之后开始?


更新:我用一个假的数据源尝试了
List
,但它不起作用。

表应该一个接一个地呈现。你的RDLC中肯定还有其他事情。您自己正在生成RDLC吗?您是否尝试过使用报表设计器创建一个虚拟报表,在其中删除两个表,并检查它生成的RDLC?在一个报告中包含多个表是非常常见的

还可以尝试设置它们的
顶部
元素:

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

1in
5英寸
天哪!只需将
ZIndex=2
添加到第二个表中即可 即使是
ZIndex
也不重要,设置magic fake
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>

1厘米
....
2.25厘米
....
仍然不确定XML中的顺序是否重要,并设置不同的
Top
s

XML中的顺序并不重要,但顶部很重要。您必须将top设置为大于Table1 top+height(它在设计器中实际具有的高度)

我对多个表使用了大量报告,我只需将第二个表的开头添加到第二个表的末尾,然后依次呈现。 因此,您需要使用以下配置第一个表:

<Table Name="table1">
<DataSetName>DataSets_ChiamateGroup</DataSetName>
<KeepTogether>true</KeepTogether>
<Top>36cm</Top>
<Height>3.00001cm</Height>

交叉组数据集
真的
36厘米
3.00001cm


交叉组数据集
真的
39厘米
5.0000厘米
请注意,Table1.Top+Table1.Height=Table2.Top

下面是一个双表布局示例(顶部有其他图表)


希望能有帮助

我已经检查了VS2008生成的RDLC,没有任何区别。使用
Top
不是一个选项,因为我不知道前面表格的高度。马特:你有两张表格的报告吗?谢谢康塔姆,这就是我的发现。很遗憾,在我选择正确答案之前你没有回答(无法撤消)没问题。。。我希望这个解决方案对其他人也有用!
<Table Name="table2">
<DataSetName>DataSets_ChiamateGroup</DataSetName>
<KeepTogether>true</KeepTogether>
<Top>39cm</Top>
<Height>5.00000cm</Height>