我的水晶报告没有显示孔列表

时间:2014-11-18 05:19:45

标签: vb.net crystal-reports

请帮助我的水晶报告,因为当我使用列表的参数字段时,它没有显示孔列表。这是我下面的课程

`Imports System.Windows.Forms.Application

Imports System.Data
Imports System.Data.SqlClient

Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.Shared
Imports CrystalDecisions.Windows.Forms

Public Class CrystalReportHelperClass

    Dim Sql As New SqlHelper

    Dim CR_ParamDisVals As New ParameterDiscreteValue
    Dim CR_ParamVals As New ParameterValues

    Dim CR_ParamDef As ParameterFieldDefinition
    Dim CR_ParamDefs As ParameterFieldDefinitions

    Dim CRPTDoc As New ReportDocument
    Dim CRPTViewer As New CrystalReportViewer

    Public Sub New(ByRef CReport As CrystalDecisions.Windows.Forms.CrystalReportViewer)

        CRPTViewer = CReport
        CRPTDoc = CReport.ReportSource
    End Sub
    Public Sub CrystalObjectParam(ByVal CrystalReportObject As String, ByVal Message As String)

        CR_ParamDisVals.Value = Message
        CR_ParamDefs = CRPTDoc.DataDefinition.ParameterFields
        CR_ParamDef = CR_ParamDefs.Item(CrystalReportObject)

        CR_ParamVals = CR_ParamDef.CurrentValues

        CR_ParamVals.Clear()
        CR_ParamVals.Add(CR_ParamDisVals)

        CR_ParamDef.ApplyCurrentValues(CR_ParamVals)

    End Sub

    Public Function GetCrystalReport() As ReportDocument
        Return CRPTDoc
    End Function

End Class
`

然后这是表单加载

  Private Sub ReportEmployeeList_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    Dim RepDoc As New ReportDocument
    RepDoc = CRPT_Employee.ReportSource
    If Sql.HasConnection() = True Then

        Dim DT As DataTable = Sql.ExecuteDataTableSP("SelectWorking")
        For Each Data As DataRow In DT.Rows

            CRPT.CrystalObjectParam("ID", Data(1))

        Next
    Else
        MsgBox("System Database Cannot be Connected", MsgBoxStyle.Information)
    End If

    CRPT_Employee.ReportSource = CRPT.GetCrystalReport
    CRPT_Employee.Refresh()

End Sub

然后我的水晶报告中有1个参数字段,id - >离散值
我该怎么办? 我已经使用过像这样的其他方法

Private Sub SetCurrentValuesForParameterField(ByVal myParameterFields As ParameterFields, ByVal myArrayList As ArrayList) Dim currentParameterValues As ParameterValues = New ParameterValues() For Each submittedValue As Object In myArrayList Dim myParameterDiscreteValue As ParameterDiscreteValue = New ParameterDiscreteValue() myParameterDiscreteValue.Value = submittedValue.ToString() currentParameterValues.Add(myParameterDiscreteValue) Next Dim myParameterField As ParameterField = myParameterFields(PARAMETER_FIELD_NAME) myParameterField.CurrentValues = currentParameterValues End Sub

1 个答案:

答案 0 :(得分:0)

如果我理解你想要的>>>

,请按以下方式修改您的方法
 Dim DT As DataTable = Sql.ExecuteDataTableSP("SelectWorking")
    For Each Data As DataRow In DT.Rows

        CRPT.SetParameterValue("ID", Data(1))