Getsuyodev, Programming is mainly used when constructing an application. Programming requires knowledge of application domains, algorithms, and programming language expertise. Programming can be developed in different logic based on developer knowledge.

CSharp 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 a 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#  

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 data table in the Dataset. Right-click the data table and select Add-Column.

Here we are making a two-column Crystal Reports, so we need two columns in the data table. Add an 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 the Add New Item menu and accept the default settings. The next screen is to select the appropriate data source. There you can find the Datatable1 from Project data – ADO.NET Datasets, and select Datatable1 to the right side.

Click the 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()
        {
            InitializeComponent();
        }

        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;
                t.Rows.Add(r);
            }

            CrystalReport1 objRpt = new CrystalReport1();
            objRpt.SetDataSource(ds.Tables[1]);
            crystalReportViewer1.ReportSource = objRpt;
            crystalReportViewer1.Refresh(); 
        }
    }
}

Comments are closed.

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More