2013-01-14 36 views
14

我設計了一些SSRS在Visual Studio報表和每一個日期時間字段顯示爲MM/DD/YYY,而不是我的DD的偏好/ MM/YYYY更改Visual Studio的「當前區域設置」值

我的Windows區域設置是英語(愛爾蘭),但如果我看任何datetmie佔位符propery窗口它顯示「當前區域設置:英語(美國)」。 我不知道它從哪裏獲取(很確定它不是在數據集中定義的SQL登錄)或者如何更改它。有任何想法嗎?

(我可以強迫每個時間字段的輸出轉變讓我的首選格式會想不必每次都做,而不是僅僅讓環境到右側區域設置)

更新:忘記要添加,我可以在RDL中看到一個設置爲「en-US」的語言標籤,並且每當我嘗試將其更改爲其他任何內容並將其自動保存時更改回「en-US」

回答

29

每個報告有其自己的區域設置。

單擊沒有對象的報表設計表面的一部分,然後查看報表的「屬性」窗口。在Localization下有一個名爲Language的設置,默認爲English (United States)en-US。您可以將其設置爲您自己的區域設置,但我希望將其設置爲=User!Language,以便它顯示在用戶的區域設置首選項中。

+0

乾杯。在屬性窗口中更改它似乎成立(不知道爲什麼它不會讓我直接在RDL文件中這樣做)。出於好奇,無論如何,它總是默認爲en-US嗎?或者我可以在VisualStudio的某個地方更改設置,以便默認爲其他設置? – KrustyGString

+0

我認爲它總是'en-US'。我在創建報告時複製了幾個空白模板報告;這些包含區域設置,頁眉,頁腳,邊距,頁面大小等,所以我有我的基本級別設置開始(或只複製現有的報告和編輯從那裏)。 –

3

正確的解決辦法是從克里斯的一個,但你已經寫了更新,您可以嘗試修改您的佔位符這樣的表達式:

=Format(Fields!FieldName.Value, "dd/MM/yyyy")

+0

克里斯的答案完成了這項工作,但如果沒有這個工作,將不得不使用表達式。對於一個領域或一個簡單的報告來說很好,但一旦他們變得更加複雜,這不是我想跟蹤的東西! – KrustyGString

+0

雖然這似乎解決了這個問題,但它有其他的含義;例如,導出到Excel現在將此字段導出爲文本而不是日期,從而使排序有問題。演示文稿應始終與數據分離。更好的方法(如果不更改語言設置)將保持單元格值爲「Fields!FieldName.Value」,並將Format屬性更改爲「dd/MM/yyyy」 - 這樣數據類型仍然是Date,但是顯示你想要的方式。 –

5

繼克里斯正確答案 - 在VS 2012的BIDS中,右鍵單擊設計界面並未顯示本地化屏幕。按f7編輯報告的底層代碼,您可以在其中找到相應的節點並將其更改爲本地設置:

 ....</ReportSections> 
     <Language>en-GB</Language> 
     ... 
    </Report> 
+0

在我的VS2012 F7上無法正常工作,但在解決方案資源管理器中右鍵單擊RDL文件有一個編輯代碼選項。 – DomBat

+1

克里斯的回答是關於VS中的標準屬性窗口,一旦你選擇了報表對象,而不是本地化屏幕 - 所以只需看一看,而不需要編輯底層代碼。 – Rich

+0

我無法做到這一點通過報告屬性克里斯,我不得不F7和這樣更新它 –

相關問題