Member 12656334 Ответов: 0

Динамическое создание отчета с использованием полей параметров?


Я должен создать crystal report динамически, используя ParameterFields - в том смысле, что один параметр должен динамически отправлять несколько значений из базы данных MySQL. Теперь я отправляю несколько значений в crystal report из базы данных MySql static и single. Мне нужно отправить определенную строку (динамически) из базы данных MySQL.

Что я уже пробовал:

Dim sql_Sel As String
    Dim hIssId As Integer = 0
    Dim connectionInfo1 As New ConnectionInfo()
    Dim SqlCon As String = "Data source= *****"
    hIssId = Request.QueryString("patID")
    Try
        CrystLabl.ReportSource = Nothing
        Me.SqlCon.ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings("xyz").ConnectionString
        Me.SqlCon.Open()
        Dim crystalReport As New ReportDocument()
        sql_Sel = "exec DI_Details @opt=1"
        Dim DA As SqlDataAdapter = New SqlDataAdapter(sql_Sel, SqlCon)
        Dim DG As New DataSet
        DG.DataSetName = "DataSet.xsd"

        DA.Fill(DG, "DataTable1")
        Dim paramFields3 As New CrystalDecisions.Shared.ParameterFields()

        For Each i As String In sql_Sel
            Dim paramField31 As New CrystalDecisions.Shared.ParameterField()
            Dim discreteVal1 As New CrystalDecisions.Shared.ParameterDiscreteValue()
            discreteVal1 = New ParameterDiscreteValue()
            paramField31.ParameterFieldName = "My Parameter"
            discreteVal1.Value = ((DG.Tables(0).Rows(0).Item(1)) & (DG.Tables(0).Rows(0).Item(2)) & (DG.Tables(0).Rows(0).Item(3)) >(DG.Tables(0).Rows(0).Item(6))) 
            paramField31.CurrentValues.Add(discreteVal1)
            paramFields3.Add(paramField31)
        Next

        CrystLabl.ParameterFieldInfo = paramFields3
        CrystLabl.ReportSource = "CrystalReport.rpt"
        CrystLabl.RefreshReport()
    Catch ex As Exception
    Finally
    End Try
End Sub

0 Ответов