比特转换在SSRS报告中不起作用

时间:2016-02-03 06:10:39

标签: sql-server reporting-services bit ssrs-2008-r2 ssrs-expression

我正在处理SSRS报告。我的Dataset返回低于值。

enter image description here

现在,我希望在此Data的基础上更改bit字段的颜色。

我在下面试过,但没有成功。它始终在报告中显示False

=IIF(CBool(Fields!IsAuthorized.Value)=True,"Blue","Black")
=IIF(CInt(Fields!IsAuthorized.Value)=1,"Blue","Black")
=IIF(Fields!IsAuthorized.Value=1,"Blue","Black")

图片下方显示数据字段IsAuthorized.Value

enter image description here

请帮助我!

2 个答案:

答案 0 :(得分:0)

看看这里..

http://www.sqlservercentral.com/Forums/Topic1459800-1063-1.aspx

例如:

=IIF( Fields!IsState.Value <> 0 and Fields!RegionID.Value <>"12","Yes","No")

所以你应该是这样的:

=IIF( Fields!IsAuthorized.Value <> 0 ,Black,Blue)

这应该涵盖它。

答案 1 :(得分:0)

问题在于我将值传递给Dataset以获取行。

SELECT DISTINCT Number,
       [dbo].[Function](@UserID) AS IsAuthorized,
FROM   TableName

此处,@UserID始终从我的网络应用程序传递为空白,这就是转换失败的原因。

我在网络应用中更改了以下代码行,以设置正确的值。

<强>之前

ReportParams.Add(new ReportParameter("UserId", Request.QueryString["UserId"].ToString()));

<强>后

ReportParams.Add(new ReportParameter("UserID", Request.QueryString["UserID"].ToString()));

另外,我在参数属性中为Default values设置了@UserID为空。这也是导致问题的原因。