Click here to Skip to main content
15,868,141 members
Articles / Programming Languages / C#

How to do paging and navigation with Crystal Reports using C# .NET

Rate me:
Please Sign up or sign in to vote.
1.40/5 (3 votes)
10 Dec 2007CPOL 39.9K   583   14   1
Crystal Reports with paging and navigation functionality with C# .NET.

Introduction

This article will help you to learn how to bind a Crystal Reports file with the Crystal Reports Viewer and display it in a Web Page using very simple steps.

Using the code

The code is very simple. Follow the steps below or download the attached file. Create a report in your project under the Reports folder to try this out.

  1. Reference these namespaces:
  2. C#
    using CrystalDecisions.CrystalReports.Engine;
    using CrystalDecisions.Shared;
  3. Declare a private report object in your main class:
  4. C#
    private ReportDocument reportDocument;
  5. Implement the Page_Init method in your web page with the following code:
  6. C#
    private void Page_Init(object sender, EventArgs e)
    {
        reportDocument = (ReportDocument)Session["reportDocument"];
        crystalReportViewer.ReportSource = reportDocument;
    }
  7. The method below will set the default logon information to the CrystalReportViewer:
  8. C#
    public void setLogonInfo()
    {
        //--------------------
    
        TableLogOnInfo logOnInfo = new TableLogOnInfo();
        //logOnInfo = oRpt.Database.Tables["Customers"].LogOnInfo;
    
        logOnInfo.ConnectionInfo.ServerName = "srvr";
        logOnInfo.ConnectionInfo.DatabaseName = "database";
        logOnInfo.ConnectionInfo.UserID = "sa";
        logOnInfo.ConnectionInfo.Password = "pwd";
        //logOnInfo.TableName = "table";
    
        TableLogOnInfos infos = new TableLogOnInfos();
        infos.Add(logOnInfo);
        crystalReportViewer.LogOnInfo = infos;
    }
  9. Implement the code below for the button click event:
  10. C#
    protected void display_Click(object sender, EventArgs e)
    {
        reportDocument = new ReportDocument();
        reportDocument.Load("C:\\myExample\\Reports\\OnlineTest.rpt");
        //reportDocument.Load(reportsList.SelectedValue);
    
        Session["reportDocument"] = reportDocument;
        crystalReportViewer.ReportSource = reportDocument;
        setLogonInfo();
    }

    [Optional step]

  11. The code below can be used to retrieve conditional data through the CrystalReportViewer. This can be written wherever you want to implement it. Let's say, by clicking on Search By Employee Id, you want to display some employee data in the ReportViewer and print it:
  12. C#
    crystalReportViewer.SelectionFormula = 
        "{Table.FieldName}=" + DynamicValue + "";

That's all!

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Software Developer (Senior)
India India
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions

 
QuestionDoes this work when parameters are passed? Pin
Steve P.19-Dec-07 2:13
Steve P.19-Dec-07 2:13 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.