2012-11-09 54 views
4

我有一個相當寬的Tablix,我想添加類似的表達式到行中的每個文本框。例如:SSRS表達式參考這個文本框

TextAlign: 
=iif(ReportItems!TextBox1.Value<>0, "Right", "Center") 

但我不想在每個文本框中編輯公式。我想說的是:

TextAlign: 
=iif(Me.Value<>0, "Right", "Center") 
OR 
=iif(This.Value<>0, "Right", "Center") 

當前在SQL 2008R2和VS2008中使用SSRS。有沒有辦法做到這一點,或者我堅持?如果我升級到SQL 2012和VS2010,我會得到這個嗎?

+2

.rdl文件是一個格式良好的XML文件。你可能能夠比使用GUI更快地剪切'n'paste來編輯它。但我不知道一個對象在SSRS中引用自己的方法。 –

回答

6

MSDN says Me.Value should work。見http://msdn.microsoft.com/en-us/library/dd255285.aspx

給出的例子有

=IIF(Me.Value > 0,"Black","Red") 

說了這麼多,我剛纔試了內部BIDS SSRS 2008 R2和它不工作。 「

」未將對象引用設置爲對象實例「。

鏈接的文檔是2012版,但將文檔版本更改爲2008或2008 R2仍然顯示完全相同的頁面。

+1

我剛剛在SSRS 2012中試過了,它工作正常。 – ClearCloud8

1

Me.Value用於在2005版SSRS中正常工作,然後在2008版中引入了一個錯誤。

羅伯特布魯克納(誰寫了一本關於SSRS的書)指出它已經在2008 R2版中修復了,但可能並不適合你。

我已經在SSRS 2012中對它進行了測試,它對我不起作用。

查看此對話以瞭解更多詳情。 http://social.msdn.microsoft.com/Forums/sqlserver/en-US/98f0e6a0-108c-44bb-8730-5e90cf1fa5a4/mevalue-bug-in-ssrs-2008

羅伯特布魯克納建議您直接聯繫Microsoft支持,如果您想要修復。