0

我正在尝试使用 Crystal 中的参数过滤客户,方法是在textbox. 我为客户代码创建了一个参数,并尝试使用下面显示的代码传递它的值,但它不起作用。当我单击按钮时,它不仅显示过滤的客户,还显示所有客户:

Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.Shared

Public Class ParametroCrForm

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        Dim relatorio As New ReportDocument

        relatorio.Load("C:\Users\Fernando e Flavia\Documents\Visual Studio 2010\Projects\Crystal.Estudo\Crystal.Estudo\CrystalReport1.rpt")

        Dim crParameterFieldDefinitions As ParameterFieldDefinitions
        Dim crParameterFieldDefinition As ParameterFieldDefinition
        Dim crParameterValues As New ParameterValues
        Dim crParameterDiscreteValue As New ParameterDiscreteValue

        If codigoTextBox.Text = "" Then
            MessageBox.Show("Digite um c�digo de cliente", "Aten��o", MessageBoxButtons.OK, MessageBoxIcon.Stop)
            Exit Sub
        End If

        crParameterDiscreteValue.Value = codigoTextBox.Text
        crParameterFieldDefinitions = relatorio.DataDefinition.ParameterFields
        crParameterFieldDefinition = crParameterFieldDefinitions.Item("codigoParametro")
        crParameterValues.Clear()
        crParameterValues = crParameterFieldDefinition.CurrentValues

        crParameterValues.Add(crParameterDiscreteValue)
        crParameterFieldDefinition.ApplyCurrentValues(crParameterValues)

        CrystalReportViewer1.ReportSource = relatorio
        CrystalReportViewer1.Refresh()

    End Sub
End Class
4

1 回答 1

0

根据 ABZY 的解释,我必须在报告中添加选择公式。

在下面的链接中,解释了如何做到这一点:

http://vb.net-informations.com/crystal-report/vb.net_crystal_report_parameter_string.htm

再次感谢阿布兹!!

于 2013-01-20T20:06:26.467 回答