Musikero31
Musikero31

Reputation: 3153

Paging in Crystal Reports

Need help on this. Because every time I click the next page or preview page, it always retrieves the data from the database. I tried putting it inside If Not Page.IsPostBack Then...EndIf but it removes the data.

Below is the code.

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
        Threading.Thread.CurrentThread.CurrentCulture = _datestyle

        Try
            If (Session("userID").ToString() = Nothing Or Session("userID").ToString() = "") Then
                Const script As String = "top.location='../logon.aspx';"
                Page.ClientScript.RegisterClientScriptBlock(Me.GetType(), "logon", script, True)
                Return
            End If
        Catch ex As Exception
            Const script As String = "top.location='../logon.aspx';"
            Page.ClientScript.RegisterClientScriptBlock(Me.GetType(), "logon", script, True)
            Return
        End Try

        If Not Page.IsPostBack Then
            _rptSvc = CType(Session("ServiceDue"), ClsRptServiceDue)
            _dsSvcDue = _rptSvc.RetrieveServiceDue()

            GenerateReport(_dsSvcDue)
        End If

    End Sub

    Private Sub GenerateReport(ByVal dataSet As DataSet) Implements IBasicReportPage.GenerateReport
        titleLab.Text = _xml.GetLabelName("EngLabelMsg", "BB-RPTSERVICE-TITLE")
        _rptSvc = CType(Session("ServiceDue"), ClsRptServiceDue)

        Dim strHead As String() = CType(Array.CreateInstance(GetType(String), 18), String())
        PopulateLabels(strHead)
        DefineDefaultValues(strHead)

        Try                
            With _clsReport
                .ReportFileName = "RPTServiceDueLstng.rpt"
                .SetReport(CrystalReportViewer1, dataSet, strHead)
            End With

        Catch err As Exception
            Response.Write("<BR>")
            Response.Write("Error Message: " & err.Message.ToString)
            Response.Write("<BR>")
            Response.Write("Source : " & err.Source)
            Response.Write("<BR>")
            Response.Write("Stack Trace Message: " & err.StackTrace)
        End Try

    End Sub

Need help on this guys. Thanks!

Upvotes: 1

Views: 936

Answers (1)

Saroop Trivedi
Saroop Trivedi

Reputation: 2265

Have you use Crystalreport viewer control from reporting tool. There is one Event called paging. call your private method for generating report in that event.

Upvotes: 1

Related Questions