2

vb.netのCrystalレポートに1つのフィールドが必要です。このテキストフィールドに表示したいのは、vb.net形式のテキストボックスの値です。

「prog_user」という名前のパラメーターを作成し、この値をtextbox.textに設定しましたが、何も表示されません。

これが私のコードですvb.netのreport_viewer_shownイベントに配置しました

Dim crpath, filepath As String



        Private Sub rpt_viewer_Shown(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Shown               

                       cryrpt = New CrystalDecisions.CrystalReports.Engine.ReportDocument()
                        crpath = "D:\LEGAL\NLRC_new_022213\NLRC"
                        filepath = crpath & "\Legal Records.rpt"
                        cryrpt.Load(filepath)

                        cryrpt.RecordSelectionFormula = "{Command.CaseNo} = " & case_no
                        crviewer.ReportSource = cryrpt

                        Legal_Records1.SetParameterValue("prog_user", textbox1.text)
                        crviewer.Refresh()

end sub

これがあれば何が問題になるのでしょうか?私のCrystalReportの他のデータは、データベースからの正しい値を表示します。

4

3 に答える 3

3

値を追加する前にクリアしてみてください

With cryrpt
   .ParameterFields("prog_user").CurrentValues.Clear()
   .ParameterFields("prog_user").CurrentValues.Add(Textbox1.text)
End With
于 2013-08-28T03:22:48.967 に答える
0

このようなものを試してください

 cryrpt = New CrystalDecisions.CrystalReports.Engine.ReportDocument()
 crpath = "D:\LEGAL\NLRC_new_022213\NLRC"
 filepath = crpath & "\Legal Records.rpt"
 cryrpt.Load(filepath)

 cryrpt.RecordSelectionFormula = "{Command.CaseNo} = " & case_no
 cryrpt.ParameterFields("prog_user").CurrentValues.Clear()
 cryrpt.ParameterFields("prog_user").CurrentValues.Add(textbox1.text)

 crviewer.ReportSource = cryrpt
 crviewer.Refresh()
于 2013-03-04T20:36:27.693 に答える
0

これは、テキストボックス情報を使用して機能します。CR付き:

    Dim report As New CrystalReport1
    Dim objText As CrystalDecisions.CrystalReports.Engine.TextObject = report.ReportDefinition.Sections(1).ReportObjects("Text1")
    objText.Text = Me.TextBox1.Text
    FrmPrint.CrystalReportViewer1.ReportSource = report
    FrmPrint.Show()
于 2013-04-13T04:22:14.857 に答える