A newer version of this page is available. Switch to the current version.

ECC200 - Data Matrix

  • 3 minutes to read

Data Matrix is a two-dimensional matrix barcode. It consists of black and white “cells” arranged in a rectangular pattern. The barcode can encode textual and numeric data.


Refer to the following article for more details: Data Matrix.

Add the Bar Code to a Report

  1. Drag the XRBarCode item from the DX.20.2: Report Controls tab and drop it onto the report.

  2. Set the XRBarCode control’s Symbology property to DataMatrix (an object of the DataMatrixGenerator type).

  3. Specify common barcode properties and properties specific to Data Matrix.

Specific Properties

Runtime Example

The following code creates the ECC200 - Data Matrix barcode and specifies its properties.


The complete sample project is available in the following repository: https://github.com/DevExpress-Examples/Reporting_how-to-add-a-bar-code-to-a-report-e167.

using System;
using System.Collections.Generic;
using System.Drawing.Printing;
using System.Windows.Forms;
using DevExpress.XtraPrinting.BarCode;
using DevExpress.XtraReports.UI;
// ...
public XRBarCode CreateDataMatrixBarCode(string BarCodeText) {
    // Create a bar code control.
    XRBarCode barCode = new XRBarCode();

    // Set the bar code's type to DataMatrix.
    barCode.Symbology = new DataMatrixGenerator();

    // Adjust the bar code's main properties.
    barCode.Text = BarCodeText;
    barCode.Width = 400;
    barCode.Height = 150;

    // If the AutoModule property is set to false, uncomment the next line.
    barCode.AutoModule = true;
    //barcode.Module = 3;

    // Adjust the properties specific to the bar code type.
    ((DataMatrixGenerator)barCode.Symbology).CompactionMode = DataMatrixCompactionMode.Text;
    ((DataMatrixGenerator)barCode.Symbology).MatrixSize = DataMatrixSize.MatrixAuto;

    return barCode;

To add the XRBarCode to a report band, handle the report’s BeforePrint event.

using System.Drawing.Printing;
// ...

private void XtraReport1_BeforePrint(object sender, PrintEventArgs e) {