2012-02-13 60 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瀏覽器。在行組窗口(或列組)中右鍵單擊並選擇「組屬性」 還有一個「排序」部分,它可能會改變您的預期結果。

此外,我想知道數據集查詢是否被排序..但是隨後指定了一個組,那麼順序可能因爲分組而被更改?我沒有測試 - 但只是想知道..因爲該組可能實際上聚合在數據集中的排序值...