我有一个包含多行的数据集。列为name
和plot
; plot
是二进制图像文件。例如,如果我想显示name
为secondPlot
的地块,我该怎么做?我可以使用=First(Fields!plot.Value, "DataSet1")
显示第一个图,但是在检索具有特定plot
值的name
时没有任何好运。
我发现IIf
是否正常运作但不确定其使用情况,或者它是否真的是我正在寻找的东西。 =First(IIF(Fields!name.Value = "secondPlot", Fields.plot.Value, Nothing))
会出现错误"报告的定义' / MainReport'是无效的",例如。
为了澄清,我在Insert> Image>数据库来源中输入了这个。
答案 0 :(得分:0)
将tablix组件添加到报表中,然后将数据集分配到DataSetName属性中的Tablix。
删除只留下文本框的列和行。在Tablix中右键单击并选择Tablix properties...
转到过滤器选项卡并添加新过滤器。
对于表达式选择Name
,运算符=
,值使用="secondPlot"
。
Tablix将过滤包含secondPlot
名称的行,您可以通过在“填充”选项卡中配置背景图像属性,在Tablix文本框中显示图像。
右键单击文本框并选择Textbox properties
/填充选项卡,在背景图像窗格中使用此类设置。
<强>更新强>
如果您的图片是PNG,BMP,JPEG,GIF或X-PNG,则可以选择正确的MIME类型。
此外,如果您的图像是在Base64中编码的,您可以尝试:
=System.Convert.FromBase64String(Fields!Plot.Value)
在Use this field:
表达式中。
不要对文本框使用任何表达式。只需使用图像字段作为文本框背景。
如果您需要进一步的帮助,请告诉我。