无法将参数传递给Telerik报告

问题描述

我正在尝试将字符串值传递给Winforms项目中的Telerik报表。该值已在报表查看器的Load事件中正确设置。但是我无法在报表的NeedDataSource事件中获取参数值。显示错误“ System.Collections.Generic.KeyNotFoundException:'字典中不存在给定的键。'”。

报表查看器加载事件。

Public Class WorkOrderWithPricesReportViewer

Public Property o As OrderInfo

Private Sub ReportViewer1_Load(sender As Object,e As EventArgs) Handles ReportViewer1.Load

    Dim typeReportSource As New Telerik.Reporting.TypeReportSource
    typeReportSource.TypeName = GetType(WorkOrderHeader).AssemblyQualifiedName

    Dim pOrderID As New Telerik.Reporting.Parameter
    pOrderID.Value = o.orderID
    typeReportSource.Parameters.Add(pOrderID)

    ReportViewer1.ReportSource = typeReportSource
    ReportViewer1.RefreshReport()

End Sub

结束班级

报告中的NeedDataSource事件。尝试将参数值放入_wohOrderID

时发生错误
Partial Public Class WorkOrderHeader
Inherits Telerik.Reporting.Report

Private _wohOrderID As String

Public Sub New()
    InitializeComponent()

End Sub

Private Sub WorkOrderHeader_NeedDataSource(sender As Object,e As EventArgs) Handles Me.NeedDataSource

    Dim wohReport As Telerik.Reporting.Processing.Report = DirectCast(sender,Telerik.Reporting.Processing.Report)

    _wohOrderID = wohReport.Parameters("pOrderID").Value.ToString

感谢您的帮助。

解决方法

必须将参数添加到报表的属性窗口内的ReportParameters属性中。我以编程方式添加了它,但也必须将其添加到报表属性窗口中。似乎是多余的,但是无论如何,它都可以工作。该问题已解决。谢谢,赫尔西。

enter image description here

enter image description here

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...