Skip to main content
A newer version of this page is available. .

XRCharacterComb Class

A Character Comb control that displays text so that each character is printed in an individual cell.

Namespace: DevExpress.XtraReports.UI

Assembly: DevExpress.XtraReports.v19.2.dll

NuGet Package: DevExpress.Reporting.Core

Declaration

[DefaultBindableProperty("Text")]
public class XRCharacterComb :
    XRLabel

Remarks

The XRCharacterComb control displays text so that each character is printed in an individual cell.

cellular-label-report-control

To add this control to the report, drag the XRCharacterComb item from the DX:19.2: Report Controls Toolbox tab and drop it onto the report.

drop-control-cellular-label-toolbox

The number of cells displayed by the control in Print Preview depends on the CanShrink and AutoWidth settings.

  • If both these properties are enabled, the number of cells corresponds to the number of characters in the control’s text.
  • Otherwise, the number of cells corresponds to the specified cell size and the control size.

See the Content Layout and Position section to learn more on using these properties.

You can also adjust the character comb’s size to match its characters at design time by right-clicking the control and using the Fit Bounds To Text command in the context menu:

  • If the XRControl.WordWrap option is enabled, the command keeps control content displayed in multiple lines. It decreases the control’s height and adjusts the width to fit this content.

    vs-rd-character-comb-fit-bounds-to-text

  • If the XRControl.WordWrap option is disabled, the command adjusts the control’s height and width to completely display the control’s content in a single line. As a result, the number of cells corresponds to the number of characters.

    vs-rd-character-comb-fit-bounds-to-text-wordwrap-disabled

When exporting this control to third-party formats, consider the following

  • When a report is exported to an XLS or XLSX file, the cells of the Character Comb correspond to the cells of a resulting Excel sheet.
  • When a report is exported to a CSV (or TXT) file, the content of individual cells is separated (or spaced) by a specified TextExportOptionsBase.Separator character.

In most aspects, the Character Comb is similar to the XRLabel control from which it inherits most of its properties and its basic behavior. For general information about binding these controls to data and display summary function results, see the following topic: Label.

Main Options

The following properties are specific to the XRCharacterComb control.

Content Layout and Position

This section describes the XRCharacterComb properties that affect the control’s position on a page and content layout.

The following image illustrates the behavior of the XRLabel.AutoWidth property that specifies whether or not the width of a control depends on its text.

AutoWidth = true AutoWidth = false
cellular-label-auto-width-true cellular-label-auto-width-false

The following image illustrates the behavior of the XRLabel.CanShrink property that specifies whether or not the height of a control depends on its text.

CanShrink = true CanShrink = false
cellular-label-can-shrink cellular-label-auto-width-false

The XRCharacterComb.TextAlignment property specifies the alignment of text within a control.

TextAlignment = TopLeft TextAlignment = MiddleCenter TextAlignment = BottomRight
cellular-label-alignment-left cellular-label-alignment-center cellular-label-alignment-right

Example

This example illustrates how to create a Character Comb and specify its main options in code.

using DevExpress.XtraPrinting;
using DevExpress.XtraReports.UI;
// ...

public XRCharacterComb CreateCharacterComb() {
    // Create a Character Comb instance.
    XRCharacterComb characterComb = new XRCharacterComb();

    // Make every cell have borders on each side.
    characterComb.Borders = BorderSide.All;

    // Specify the spacing between cells (measured in report units).        
    characterComb.CellHorizontalSpacing = 2;
    characterComb.CellVerticalSpacing = 2;

    // Make the cell height depend on the current font size, 
    // and the cell width having a fixed value (measured in report units).
    characterComb.CellSizeMode = SizeMode.AutoHeight;
    characterComb.CellWidth = 25;

    // Adjust the control's dimensions to its content.
    characterComb.AutoWidth = true;
    characterComb.CanShrink = true;

    // Set its Multiline property to true.
    characterComb.Multiline = true;

    // Set its static text. This property is bindable, 
    // meaning that this text can be supplied from a data source.
    characterComb.Text = "Line1\r\nLine2";

    return characterComb;
}

Implements

DevExpress.XtraPrinting.IBrickOwner
DevExpress.Utils.Serializing.Helpers.IXtraSupportDeserializeCollectionItem
DevExpress.Utils.Serializing.IXtraSerializable
See Also