如何在Visual Basic 2005中将文本框值作为参数传递给crystal报表

时间:2013-07-14 01:25:36

标签: vb.net

Form1有一个button1和一个texbox1,当我点击button1时,form2会加载水晶报告并显示我放的数据在textbox1。已创建参数字段crTextBox并放入crystalreport。如何将textbox1.text值传递给crTextBox

4 个答案:

答案 0 :(得分:3)

在Form2中添加以下代码

Private Sub Form2_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
    Dim Report1 As New CrystalReport1

    Report1.SetParameterValue("crTextBox", Form1.TextBox1.Text)
    CrystalReportViewer1.ReportSource = Report1
End Sub

答案 1 :(得分:3)

您必须为此使用Crystal报表的参数字段....

1.在Crystal报表中打开Field Explorer窗口。

2.转到参数字段。

3.右键单击“参数字段”         点击“新建”

4.在弹出窗口中为您的参数指定一个Name,并为其提供Data Type.Name为mytextBoxValue,Data Type为String。

5.参数字段[mytextBoxValue]将添加到参数字段下...将此字段拖到报表中并放置在您要显示文本框值的位置。

6.现在代码隐藏文件编写以下代码,将TextBox值传递给此Crystal报表参数字段。


Dim txtValue As String = TextBox1.Text

将myReport变暗为新的CrystalReport1

myReport .SetParameterValue(“mytextBoxValue”,txtValue)

答案 2 :(得分:0)

你应该写一些类似的东西:

 Dim rpt as New ReportDocument
 'rpt.Load("file.rpt") ...
 'rpt.SetDatasource() ...
 rpt.DataDefinition.FormulaFields.Item("MyFormula").Text = textbox1.text

答案 3 :(得分:0)

    'this code works fine for me        

    Dim CrxReport As New cm_Detallado_Partes_vs
    Try
        Cursor.Current = Cursors.WaitCursor

        CrystalReportViewer1.ReportSource = CrxReport

        'the formula must be the same as it is used in CR
        CrxReport.DataDefinition.RecordSelectionFormula = "{tpresupuesto.codigo} = '18-0004'"

        CrystalReportViewer1.ShowExportButton = True
        CrystalReportViewer1.ShowPrintButton = True
        CrystalReportViewer1.ShowGroupTreeButton = True

        CrystalReportViewer1.Zoom(100)
        Cursor.Current = Cursors.Default

    Catch ex As Exception
        MsgBox(ex.ToString & vbCrLf & ex.Message & vbCrLf & ex.StackTrace)
    End Try