繁体   English   中英

在 Blazor Telerik Report Viewer 中设置连接字符串

[英]Setting connecting string in Blazor Telerik Report Viewer

我知道这应该比这更容易,我几个小时以来一直在阅读 Telerik 文档,但没有解决方案。

我有 Blazor 服务器端项目。 我添加了 Telerik 报告查看器。

<ReportViewer ViewerId="rv1"
                ServiceUrl="/api/reportdesigner"
                ReportSource="@Source"
                Parameters="@ParametersOptions"
                ScaleMode="@(ScaleMode.Specific)"
                Scale="1.0" />

这是我从组件绑定到的数据

private ReportSourceOptions Source => new()
{
    Report = SelectedReport?.Name ?? string.Empty,
    Parameters = new Dictionary<string, object>()
    {
        {  "ConnectionString" , "TelerikConnectionString" }
    }
};

private readonly ParametersOptions ParametersOptions = new()
{
    Editors = new EditorsOptions
    {
        MultiSelect = EditorType.ComboBox,
        SingleSelect = EditorType.ComboBox,
    }
};

该组件显示在页面中,但它抱怨连接字符串,我正在努力设置它

这是错误信息

无法获取报告参数。 发生了错误。 无法建立与数据库的连接。 请验证您的连接字符串是否有效。 如果您使用应用程序配置文件中的命名连接字符串,请确保名称正确并且连接字符串设置存在于应用程序的配置文件中。

我在C:\Users\USERNAME\AppData\Roaming\Telerik Reporting\WebReportDesignerSettings.json添加了连接字符串

{
    "ConnectionStrings": [
        {
            "name": "TelerikConnectionString",
            "connectionString": "Server=.\\;Initial Catalog=AdventureWorks;Integrated Security=true",
            "providerName": "System.Data.SqlClient"
        }
    ]
}

json 文件应该存在于您的 Blazor 应用程序中。 您可以查看安装附带的示例 Blazor 项目,位于(将R3 2022替换为您的发行版本):

C:\Program Files (x86)\Progress\Telerik Reporting R3 2022\Examples\CSharp\.NET 7\BlazorIntegrationDemo

您可以在 appsettings.json 文件中指定您的连接字符串

  "ConnectionStrings": {
    "Telerik.Reporting.Examples.CSharp.Properties.Settings.TelerikConnectionString": {
      "connectionString": "Data Source=.\\;Initial Catalog=AdventureWorks;Integrated Security=SSPI",
      "providerName": "System.Data.SqlClient"
    }

您可能需要将其 Build Action 设置为 Content 和 Copy if Newer。 在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM