如何在Crystal Reports中动态插入图片

6

我正在开发一个WinForms应用程序,可以生成我的大学生报告。

我正在使用Crystal Reports,但不知道如何从文件系统检索学生照片。

学生照片存储在文件系统中,并使用以下命名约定:

C:\Id Maker\"Clgid".jpg

这里的Clgid是存储在数据库中的一个值。

举个例子,我的ClgidAAAAAAA,对应着文件系统中的照片路径为C:\Id Maker\AAAAAAA.jpg

我现在遇到了问题,不知道如何查找Clgid的数据库值并从文件系统中检索照片,以便在我的Crystal Report中显示它。

1个回答

6

首先,在报告中添加一个占位符图形,放置在你想要显示的位置。然后,右键单击该图形 -> “格式化图形” -> “图片”选项卡 -> 在“图形位置”下添加一个公式,构建路径字符串。类似于 'C:\Id Maker\' + {table.Clgid} + '.jpg' 的内容应该可以工作。


@DineshGehlot 它没有工作吗?有任何图片加载吗?如果不起作用,我能建议的是验证文件名和路径是否正确,并且路径是本地到报告运行的位置。 - Ryan
@Ryan,这对我似乎不起作用。我正在使用一个Crystal Report“查看器”,可以通过“第一个/下一个/上一个/最后一个”按钮滚动查看我的个人报告。无论我是否将其与报告上的其他信息一起传递,唯一加载的图像都是默认图像。我尝试了你建议的数据库方法,但它在尝试加载图像时会挂起,最终(有时)会加载,并且仍然具有默认图像。有什么想法吗? - Keith
@Keith,听起来CR找不到图片/路径(请看我上面的评论)。如果你只有少量的图片,也可以尝试将每个想要显示的图片嵌入到.rpt文件中。你可以堆叠它们,然后选择性地抑制它们,这样每行只显示一个。 - Ryan
“...并且路径是相对于报告运行的本地路径。”--你的意思是什么?如果不是从那里运行CR,我不能直接给出像“C:\Test\123.jpg”这样的路径吗? - Keith

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接