C# Crystal Reports without database

Usually we are using Crystal Reports to fetch data from databases and show it as a report. Here we are generating a Crystal Reports from C# without using a database . For generating a Crystal Reports without database , here we are using a Strongly Typed Dataset and a Data Table of C#.

If you are new to Crystal Reports and do not know how to create Crystal Reports from C# , please take a look at the section step by step tutorial for creating a Crystal Reports from C#.

Generating a Strongly Typed DataSet

Create a new C# Project and create a Dataset from Project - Add New Item Dialogue Box.


Select Dataset from list


Accept the default name DataSet1.xsd .

Create a data table for DataSet1.xsd in C#.

Select DataSet1.xsd from Solution Explorer and right click . Select datatable from the menu. Then you will get a datatable in the Datast . Right click the datatable and select Add-Column.


Here we are making a two column Crystal Reports , so we need two column in the data table . Add and ID column and Item column in the Data Table.


Now the dataset part is over . Next step is to create a Crystal Reports from the Dataset we created. Select a new Crystal Reports from Add New Item menu and accept the default settings. The next screen is to select appropriate data source . There you can find the Datatable1 from Project data - ADO.NET Datasets , and select Datatable1 to the right side.


Click Next button and select ID and Item from the datatable1 to right side and click finish.


Now the C# Crystal Reports designer part is over . Next part is to create data for the Crystal Reports . For that we have to create a Data Table through programmatically and add data to dataset1.

Select the default form (Form1.cs) you created in C# and drag a button and a CrystalReportViewer control to your form .

Copy and paste the following source code and run your C# project.

using System;
using System.Windows.Forms;
using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.Shared;
using System.Data;

namespace WindowsApplication1
    public partial class Form1 : Form

        public Form1()

        private void button1_Click(object sender, EventArgs e)
            DataSet1 ds = new DataSet1();
            DataTable t = ds.Tables.Add("Items");
            t.Columns.Add("id", Type.GetType("System.Int32"));
            t.Columns.Add("Item", Type.GetType("System.String"));

            DataRow r ;
            int i = 0;
            for (i = 0; i <= 9; i++)
                r = t.NewRow();
                r["id"] = i;
                r["Item"] = "Item" + i;

            CrystalReport1 objRpt = new CrystalReport1();
            crystalReportViewer1.ReportSource = objRpt;
} (C) 2021    Founded by raps mk
All Rights Reserved. All other trademarks are property of their respective owners.
SiteMap  | Terms  | About