我在生成.rdlc報告時遇到了問題。其中一列有這樣的表達:RDLC報告沒有正確檢測到NULL值
IIF(CInt(Fields!MyColumn.Value) = 0 or Fields!MyColumn.Value is nothing,"Unknown",Fields!MyColumn.Value)
我也嘗試使用該字段作爲一個字符串:
=IIF(IsNothing(Fields!MyColumn.Value) or Fields!MyColumn.Value is nothing,"Unknown",Fields!MyColumn.Value.ToString())
當MyColumn的值不是NULL
,報告顯示值正常,但是當它是NULL
(或者當它被轉換爲int類型時爲0)時,報告返回#Error
。奇怪的是,當我刪除if函數並僅顯示該字段的值時,報告顯示0或空白(不返回錯誤)。 我該如何解決這個問題?
我試過這種方法,我仍然得到錯誤。我試圖獲取該列的類型 - 當存在值時,類型爲System.String,但是當值爲null時,它會返回#Error – NDraskovic
您可以嘗試將String.Format添加到false和true輸出中嗎? '= IIf(Fields!YourColumn.Value ,String.Format(「{0}」,Fields!YourColumn.Value) ,String.Format(「{0}」,「Unknown」)' 或者,您可以在你的代碼中運行一個NULL檢查,並將值設置爲0或-1,如果是這樣,然後檢查。 – Deruijter
String.Format也不起作用。有沒有辦法告訴rdlc如何顯示錯誤?像普通代碼中的try-catch這樣的東西 – NDraskovic