2012-02-13 58 views
0

有问题的SSRS报告是一个客户报告文件(.rdlc),它是通过以下步骤创建的:1)查询数据库并将返回的填充的System.Data.DataTable对象应用于报告; 2)依次调用报告对象上的Export方法来创建最终的PDF文件。为什么我的SQL Server报告服务(SSRS)报告“出现”重新排序数据?

问题:查询以某种方式对数据进行排序,并且报告将其排序在另一个方向!

我知道一个SSRS报告不支持排序,因为这是给 查询,所以我的困惑!

我已经使用调试休息来查看正确排序的DataTable变成错误排序的PDF。 (Aaarrgghh)

该报告仅列出产品,其库存数量及其类别,例如红葡萄酒,白葡萄酒等

......并且有趣的是,PDF基于第一个字母数字的数据列(这是第三个称为“Category”的物理列),似乎按照字母顺序排序。

我使用C#.NET 4和Visual Studio 2010

回答

3

你的问题是你认为“一个SSRS报告不支持排序” - 事实并非如此。您可以在报告中对数据进行排序。这是通过表的属性完成的,而不是像人们想象的那样使用数据集属性。

单击桌面上的任意位置,右键单击左上角的框并选择“属性”。这将显示整个表的属性,第四个选项卡是“排序”。你应该发现这部分已经填写了你的报告。

如果此部分未填写,则输出将按照数据集查询结果的顺序排列。但是,可以使用表属性覆盖它,以便一个查询可以支持具有不同排序和分组的不同报告。

+0

谢谢克里斯 - 你有一个良好的短语!我发现Tablix的确在排序,而且我在几个月前设定了标准,并且被遗忘了。对于像我这样的人有一个词 - 但这里不适合。非常感谢拍头:) – Adam 2012-02-13 12:06:47

+0

很高兴你把它分类。我还经常发现,在代码中做了些奇怪事情的人是六个月前我:)请勾选答案上的复选框,以便稍后来到这个问题的人会知道答案是正确的。 – 2012-02-14 00:26:04

0

顺便说一句..如果有人得到这里,这不是解决方案..我在VS中使用报表设计器(不是SSRS ..但它看起来非常相似)也有选择排序在你的小组内。 IE浏览器。在行组窗口(或列组)中右键单击并选择“组属性” 还有一个“排序”部分,它可能会改变您的预期结果。

此外,我想知道数据集查询是否被排序..但是随后指定了一个组,那么顺序可能因为分组而被更改?我没有测试 - 但只是想知道..因为该组可能实际上聚合在数据集中的排序值...