Как обновить CrystalReportViewer в WPF - VB.NET? - PullRequest
0 голосов
/ 01 июня 2019

Кто-нибудь знает, как обновить CrystalReportViwer в wpf - vb.net? У меня есть два CrystalReports, первый работает отлично, а через секунду мне нужно нажать кнопку обновления, чтобы отобразить правильные данные в средстве просмотра Crystalreport.

Я пытался удалить сохраненные данные при загрузке отчетов, но мне не помогло.

Публичный класс Izvjesce

Private Sub Button_Click(sender As Object, e As RoutedEventArgs)
    'dinamički učitati crystal report iz baze podataka
    Dim cryRpt As New ReportDocument

    Dim CrTables As Tables
    Dim crtableLogoninfo As New TableLogOnInfo
    Dim crConnectionInfo As New ConnectionInfo
    ' za dodati labele na crystal report
    Dim txtID As String = lblIDBroj.Content
    Dim txtPoduzece As String = lblPoduzece.Content





    cryRpt.Load("C:\Users\Stjepan Juric\source\repos\Plata\Plata\CrystalReport1.rpt")



    With crConnectionInfo
        .ServerName = lblPath.Content.ToString()
        '.DatabaseName = ""
        '.UserID = ""
        'Password = "password"
    End With

    CrTables = cryRpt.Database.Tables
    For Each CrTable In CrTables
        crtableLogoninfo = CrTable.LogOnInfo
        crtableLogoninfo.ConnectionInfo = crConnectionInfo
        CrTable.ApplyLogOnInfo(crtableLogoninfo)
    Next

    cryRpt.SetParameterValue("TxtID", txtID)
    cryRpt.SetParameterValue("txtNaziv", txtPoduzece)
    cr1.ViewerCore.ReportSource = cryRpt


End Sub



Private Sub Button_Click_1(sender As Object, e As RoutedEventArgs)


    'dinamički učitati crystal report iz baze podataka
    Dim rep2 As New ReportDocument

    Dim CrTables As Tables
    Dim crtableLogoninfo As New TableLogOnInfo
    Dim crConnectionInfo As New ConnectionInfo
    ' za dodati labele na crystal report
    'Dim txtID As String = lblIDBroj.Content
    'Dim txtPoduzece As String = lblPoduzece.Content


    rep2.Load("C:\Users\Stjepan Juric\source\repos\Plata\Plata\CrystalReport2.rpt")



    With crConnectionInfo
        .ServerName = lblPath.Content.ToString()
        '.DatabaseName = ""
        '.UserID = ""
        'Password = "password"
    End With

    CrTables = rep2.Database.Tables
    For Each CrTable In CrTables
        crtableLogoninfo = CrTable.LogOnInfo
        crtableLogoninfo.ConnectionInfo = crConnectionInfo
        CrTable.ApplyLogOnInfo(crtableLogoninfo)
    Next

    'cryRpt.SetParameterValue("TxtID", txtID)
    'cryRpt.SetParameterValue("txtNaziv", txtPoduzece)

    cr1.ViewerCore.ReportSource = rep2



End Sub

Конечный класс

1 Ответ

0 голосов
/ 01 июня 2019

Я нашел в чем проблема. Просто добавьте rep2.refresh для разрешения проблемы.

rep2.Load("C:\Users\Stjepan Juric\source\repos\Plata\Plata\CrystalReport2.rpt")
rep2.Refresh()
...