【问题标题】:Can't Load Image From Data Source in Infragistics Report无法从 Infragistics 报告中的数据源加载图像
【发布时间】:2014-07-24 18:51:56
【问题描述】:

我有一个带有 Infragistics 报告的 ASP.NET WebForms 项目(VS 2013 中的 v14.1,.NET Framework 4.0)。我在报告中有两个数据源(.igr 文件)。第一个用于报告数据,第二个用于公司徽标,均存储在 SQL Server 中。

我的第二个数据源使用查询:SELECT LogoImage FROM dbo.CompanyLogo WHERE CompanyId = @CompanyIdCompanyId 参数是基于第一个数据源中的成员/字段的动态值列表。

徽标显示在标题中,并且 Image 属性设置为 =First(Fields.LogoImage, DataSources.CompanyLogoDataSource)。问题是加载的图像总是使用CompanyId参数的默认值。如果我没有设置默认值,则不会加载报告并显示错误“报告参数 CompanyId 的值无效”。在浏览器中。

但是,我知道 CompanyId 是有效的,因为它在报告的其余部分中使用,我可以验证它的值。另请注意,在第一个数据源(基于 SQL 视图)中仅加载了一条记录,但此时在视图中包含图像(字节数组)是不可行的。我该如何解决这个问题?

【问题讨论】:

    标签: asp.net sql-server webforms visual-studio-2013 infragistics


    【解决方案1】:

    显然你不能像我希望的那样级联参数。创建报表查看器时,您仍然需要设置它们的值。

    $(function () {
            $("#viewer").igReportViewer({
                width: 1600,
                height: 1200,
                contentType: 'application/json; charset=utf-8',
                parameters: [{ Key: 'ReportId', Value: '<%= _reportId %>' }],
                renderSettings: {
                    definitionUri: '<%= _definitionUri%>',
                    serviceEndpointUri: serviceEndpoint
                }
            });
        });
    

    我已经将参数ReportId 用于返回CompanyId 的第一个数据源。我决定创建一个公共 IEnumerable 函数来返回基于ReportId 的徽标。第二个数据源现在与最初提供的 ReportId 一起使用此函数。

    【讨论】:

      猜你喜欢
      • 2019-01-02
      • 2012-07-10
      • 2014-08-20
      • 2011-10-17
      • 1970-01-01
      • 2017-04-25
      • 2012-05-26
      • 2013-08-03
      • 1970-01-01
      相关资源
      最近更新 更多