【问题标题】:Telerik Report avoid datasource execution if not requiredTelerik Report 在不需要时避免执行数据源
【发布时间】:2016-08-03 06:19:34
【问题描述】:

我的应用程序是多语言应用程序。在我的应用程序中,我创建了一个具有 2 个数据源的报告。两者都调用相同的过程并获取相同的数据。差异仅基于文化,将填充数据并显示表格。

它工作正常。但我面临的问题是,虽然我已经根据文化应用条件来显示表格,但它正在执行两个数据源。那就是我有一个不必要的数据库调用。

有没有办法解决这个问题?

【问题讨论】:

    标签: c# asp.net-mvc telerik telerik-reporting


    【解决方案1】:

    如果您的数据源来自 SQL,我相信您可以在带有报告参数的存储过程中做到这一点。 (我假设您的表在同一个数据库中,但您可以进行相应调整)

    我将使用 AdventureWorks 数据库,我的 sp 从给定表中选择“名称”列:

    CREATE PROCEDURE [dbo].[test] @table nvarchar(100) as 
    BEGIN
        declare @sql nvarchar(1000)
        SET @sql = 'SELECT Name FROM ' + @table
        exec SP_EXECUTESQL @sql
    END;
    

    然后,配置数据源以执行存储过程,为@table 获取一个报告参数。在我的示例中,reportParameter="Person.AddressType" 或 "Person.ContactType" 会给出不同的结果。

    在您的情况下,根据文化更改报告参数。现在您只需要一张桌子而不是两张。

    【讨论】:

      猜你喜欢
      • 2021-12-12
      • 1970-01-01
      • 2014-09-11
      • 1970-01-01
      • 2021-12-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多