【问题标题】:How to pass values from textbox to crystal report如何将值从文本框传递到水晶报表
【发布时间】:2019-08-02 01:51:50
【问题描述】:

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

这就是我创建参数的方式:

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

这是我在水晶报告中将值从TextBox 传递给参数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 Report 提示我输入名称。如何解决这个问题?

【问题讨论】:

    标签: vb.net crystal-reports


    【解决方案1】:

    试试

    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()
    

    【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-02-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多