Передача имени Crystal Report в качестве параметра - PullRequest
0 голосов
/ 03 декабря 2010

Я использую функцию, которая вызывает отчет о кристалле как:

ShowReport (Report1)

В отчете о шоу ShowReport:

Dim repDoc As New Report1  **' here i am want to assign crytalReport name**
repDoc.SetDatabaseLogon("username", "*****")
CrystalReportViewer1.ReportSource = repDoc
CrystalReportViewer1.Visible = True

Как я могу это сделать?

1 Ответ

1 голос
/ 03 декабря 2010

В прошлом я делал что-то подобное, что вы можете использовать для своих целей. Обычно я использую раскрывающийся список или список, чтобы позволить пользователю выбрать файл, который он хочет просмотреть, а затем передать индекс предмета в intFileId.

Private Sub OpenCR(ByVal intfileId As Integer)
    Dim aReport As ReportDocument
    Select Case intfileId
        Case 0 : aReport = New CountSheets
        Case 1 : aReport = New CategoryVariance
        Case 2 : aReport = New DollarVariance
        Case 3 : aReport = New CategoryVarianceAdmin
        Case 4 : aReport = New DollarVarianceAdmin
        Case 5 : aReport = New PhysicalCount
        Case 6 : aReport = New BookToPhysicalCount
        Case 7 : aReport = New MissingItemCodes
    End Select

    aReport.Refresh()
    aReport.SetParameterValue("isAmtsShown", isAmtsShown)
    aReport.SetParameterValue("parStoreID", StoreID)
    aReport.SetDatabaseLogon("username", "password", "server", "table")
    crvReports.ReportSource = aReport

End Sub

Чтобы ответить на конкретный вопрос о передаче имени в качестве аргумента. Вы можете сделать это примерно так:

 Private Sub RunReportbyName()
    ' The Crystal Report name in
    ' this project is MyReport.rpt
    Dim aReport As ReportDocument = New MyReport
    OpenCR(aReport)
End Sub

Private Sub OpenCR(ByVal RepDoc As ReportDocument)
    'RepDoc.SetDatabaseLogon("","","","")
    CrystalReportViewer1.ReportSource = RepDoc
    CrystalReportViewer1.Visible = True

End Sub
...