如何在Visual Basic 2005中将文本框值作为参数传递给crystal报表
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Visual Basic 2005中将文本框值作为参数传递给crystal报表相关的知识,希望对你有一定的参考价值。
Form1
有一个button1
和一个texbox1
,当我点击button1
时,form2
将加载水晶报告并显示我放在textbox1
上的数据。已创建参数字段crTextBox
并放入crystalreport。我如何将textbox1.text
值传递给crTextBox
。
在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
你必须使用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)
你应该写一些类似的东西:
Dim rpt as New ReportDocument
'rpt.Load("file.rpt") ...
'rpt.SetDatasource() ...
rpt.DataDefinition.FormulaFields.Item("MyFormula").Text = textbox1.text
'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
以上是关于如何在Visual Basic 2005中将文本框值作为参数传递给crystal报表的主要内容,如果未能解决你的问题,请参考以下文章
Visual Basic - 使用组合框将 Access 表中的数据填充到文本框
Visual Basic Access - 从文本框中记录信息