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 に答える