如何将值从文本框传递到 crystal 报告

How to pass values from textbox to crystal report

我遇到这个问题,crystal 报告提示我输入一个值,即使我已经从 vb 表单的文本框中传递了值。

这是我创建参数的方式:

如您所见,我将参数命名为NAME

这是我将值从 TextBox 传递到 crystal 报告中的参数 NAME 的代码:

Private Sub indi_print_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles indi_print.Click
    Dim locatorReport As New report_viewer

    Dim rptDoc As CrystalReports.Engine.ReportDocument
    rptDoc = New indi_locatorReport 'indi_locatorReport is the Crystal Report
    rptDoc.PrintOptions.PaperSize = CrystalDecisions.Shared.PaperSize.PaperLegal
    rptDoc.PrintOptions.ApplyPageMargins(New CrystalDecisions.Shared.PageMargins(200, 200, 100, 1500))

    rptDoc.SetParameterValue("NAME", name_txtbox.Text)

    locatorReport.crptViewer.ReportSource = rptDoc
    locatorReport.ShowDialog()
End Sub

当我点击 Print Button 时,结果如下:

如您所见Crystal 报告提示我输入名称。如何解决这个问题?

尝试

Dim rptDoc As New indi_locatorReport
rptDoc.PrintOptions.PaperSize = CrystalDecisions.Shared.PaperSize.PaperLegal
rptDoc.PrintOptions.ApplyPageMargins(New CrystalDecisions.Shared.PageMargins(200, 200, 100, 1500))

rptDoc.SetParameterValue("NAME", name_txtbox.Text)

locatorReport.crptViewer.ReportSource = rptDoc
locatorReport.ShowDialog()

我已经解决了问题。问题是每当加载表单 report_viewer 时,它都会刷新 crystal 报告。它有 Me.crptViewer.RefreshReport() 代码。我没有注意到这一点,因为 crystal 报告查看器创建了这段代码。