Generate Barcode in Crystal Reports Application C# 2010 - Crystal Reports
BarCode SDK sample in Crystal Reports demonstrating ‘Generate Barcode in Crystal Reports Application C# 2010’
CrystalReport1.cs
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.34014
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace BarcodeInCrystalReports {
using System;
using System.ComponentModel;
using CrystalDecisions.Shared;
using CrystalDecisions.ReportSource;
using CrystalDecisions.CrystalReports.Engine;
public class CrystalReport1 : ReportClass {
public CrystalReport1() {
}
public override string ResourceName {
get {
return "CrystalReport1.rpt";
}
set {
// Do nothing
}
}
public override bool NewGenerator {
get {
return true;
}
set {
// Do nothing
}
}
public override string FullResourceName {
get {
return "BarcodeInCrystalReports.CrystalReport1.rpt";
}
set {
// Do nothing
}
}
[Browsable(false)]
[DesignerSerializationVisibilityAttribute(System.ComponentModel.DesignerSerializationVisibility.Hidden)]
public CrystalDecisions.CrystalReports.Engine.Section Section1 {
get {
return this.ReportDefinition.Sections[0];
}
}
[Browsable(false)]
[DesignerSerializationVisibilityAttribute(System.ComponentModel.DesignerSerializationVisibility.Hidden)]
public CrystalDecisions.CrystalReports.Engine.Section Section2 {
get {
return this.ReportDefinition.Sections[1];
}
}
[Browsable(false)]
[DesignerSerializationVisibilityAttribute(System.ComponentModel.DesignerSerializationVisibility.Hidden)]
public CrystalDecisions.CrystalReports.Engine.Section Section3 {
get {
return this.ReportDefinition.Sections[2];
}
}
[Browsable(false)]
[DesignerSerializationVisibilityAttribute(System.ComponentModel.DesignerSerializationVisibility.Hidden)]
public CrystalDecisions.CrystalReports.Engine.Section Section4 {
get {
return this.ReportDefinition.Sections[3];
}
}
[Browsable(false)]
[DesignerSerializationVisibilityAttribute(System.ComponentModel.DesignerSerializationVisibility.Hidden)]
public CrystalDecisions.CrystalReports.Engine.Section Section5 {
get {
return this.ReportDefinition.Sections[4];
}
}
}
[System.Drawing.ToolboxBitmapAttribute(typeof(CrystalDecisions.Shared.ExportOptions), "report.bmp")]
public class CachedCrystalReport1 : Component, ICachedReport {
public CachedCrystalReport1() {
}
[Browsable(false)]
[DesignerSerializationVisibilityAttribute(System.ComponentModel.DesignerSerializationVisibility.Hidden)]
public virtual bool IsCacheable {
get {
return true;
}
set {
//
}
}
[Browsable(false)]
[DesignerSerializationVisibilityAttribute(System.ComponentModel.DesignerSerializationVisibility.Hidden)]
public virtual bool ShareDBLogonInfo {
get {
return false;
}
set {
//
}
}
[Browsable(false)]
[DesignerSerializationVisibilityAttribute(System.ComponentModel.DesignerSerializationVisibility.Hidden)]
public virtual System.TimeSpan CacheTimeOut {
get {
return CachedReportConstants.DEFAULT_TIMEOUT;
}
set {
//
}
}
public virtual CrystalDecisions.CrystalReports.Engine.ReportDocument CreateReport() {
CrystalReport1 rpt = new CrystalReport1();
rpt.Site = this.Site;
return rpt;
}
public virtual string GetCustomizedCacheKey(RequestContext request) {
String key = null;
// // The following is the code used to generate the default
// // cache key for caching report jobs in the ASP.NET Cache.
// // Feel free to modify this code to suit your needs.
// // Returning key == null causes the default cache key to
// // be generated.
//
// key = RequestContext.BuildCompleteCacheKey(
// request,
// null, // sReportFilename
// this.GetType(),
// this.ShareDBLogonInfo );
return key;
}
}
}
Form1.cs
using System;
using System.Data;
using System.Data.OleDb;
using System.Windows.Forms;
using Bytescout.BarCode;
namespace BarcodeInCrystalReports
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void crystalReportViewer1_Load(object sender, EventArgs e)
{
try
{
OleDbConnection connection = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=products.mdb");
OleDbDataAdapter dataAdapter = new OleDbDataAdapter("SELECT ID, ProductName, ProductDescription, ProductPrice FROM Products", connection);
// fill dataset
DataSet dataSet = new DataSet();
dataAdapter.Fill(dataSet);
connection.Close();
// add virtual column into the result table
dataSet.Tables[0].Columns.Add(new DataColumn("BarcodeImage", typeof(byte[])));
// create barcode object
Barcode barcode = new Barcode(SymbologyType.Code128);
barcode.DrawCaption = false;
// Fill BarcodeImage column with generated barcode image bytes
foreach (DataRow row in dataSet.Tables[0].Rows)
{
// set barcode value
barcode.Value = Convert.ToString(row["ID"]);
// retrieve generated image bytes
byte[] barcodeBytes = barcode.GetImageBytesWMF();
// fill virtual column with generated image bytes
row["BarcodeImage"] = barcodeBytes;
}
// set filled DataSet as report's data source
CrystalReport11.SetDataSource(dataSet.Tables[0]);
}
catch (Exception ex)
{
MessageBox.Show("Error: " + ex.Message);
}
}
}
}
Form1.Designer.cs
��n a m e s p a c e B a r c o d e I n C r y s t a l R e p o r t s
{
p a r t i a l c l a s s F o r m 1
{
p r i v a t e S y s t e m . C o m p o n e n t M o d e l . I C o n t a i n e r c o m p o n e n t s = n u l l ;
p r o t e c t e d o v e r r i d e v o i d D i s p o s e ( b o o l d i s p o s i n g )
{
i f ( d i s p o s i n g &