只有在Crystal Report有详细信息时才会加载徽标

时间:2012-06-14 16:50:39

标签: c# datatable crystal-reports crystal-reports-xi

我正在尝试在Crystal Reports中加载公司的徽标。为了做到这一点,我在我的DataSet中创建了另一个DataTable(除了包含所有细节的DataTable,我称之为ReportData),名为ReportSetup,它只有一个名为LogoData的列,属于System.Byte []类型。然后我将LogoData字段拖放到我的报告中,并希望它在我运行报告后显示我的图像。

但是,尽管徽标实际上出现在报告中,但只有在其他数据表(ReportDate)具有条目时才会出现。如果我的报告中没有任何详细信息,则徽标不会显示。当我调试时,我可以看到正在执行加载我的数据表的代码,因此正确的数据被放入ReportSetup数据表中,它只是没有被显示。知道为什么吗?

3 个答案:

答案 0 :(得分:0)

我认为你需要使用子报告。如果数据源中有多个不相关(未连接)的表,CR将向您发出警告。问题是CR不知道从哪个表开始。

答案 1 :(得分:0)

我认为您可以在代码中更改图像源,这样您就可以像@HardCode建议的那样将占位符徽标添加为图像,然后在运行时替换它。

答案 2 :(得分:0)

如果徽标的数量过多,您可以将每个图片嵌入其自己的部分,然后添加一个对参数做出反应的条件抑制公式。

//add a conditional-suppression formula for each section that contains a logo
//change name to match logo
Local Stringvar companyName:="Acme";
{?CompanyName}<>companyName;
相关问题