Skip to main content

TcxGridColumn Class

A column in an unbound grid Table View.

Declaration

TcxGridColumn = class(
    TcxCustomGridColumn
)

Remarks

A column displays data of the same type in a table.

VCL Data Grid: A Table View Column Example

In-Place Editors

A column can use any unbound editor shipped with the ExpressEditors Library as an in-place editor for cell edit operations. An in-place editor instance exists (and, therefore, consumes memory and other system resources, such as a WinAPI handle) only when a column cell is being edited. Otherwise, the column displays a static editor image for resource usage optimization.

To switch between available editors, you can use the PropertiesClassName or PropertiesClass property. Use the Properties property to configure the in-place editor associated with the column.

Main API Members

The list below outlines key members of the TcxGridColumn class. These members allow you to configure columns in unbound Table grid Views.

General Appearance Settings

ApplyBestFit | BestFitMaxWidth
Allow you to adjust the column width to display content in full and limit the maximum column width in this mode.
Caption | AlternateCaption
Specify main and alternative captions for the column. An alternative column caption can replace the main caption in customization dialogs, filter panels, etc.
HeaderGlyph | HeaderImageIndex
Allow you to assign a glyph to the column header.
OnCustomDrawCell
Allows you to override or complement column draw routines.
OnGetDisplayText | OnGetFilterDisplayText
Allow you to customize display text and column captions displayed in a filter drop-down window.
OnGetFilterImages | OnGetFilterValues
Allow you to customize the column’s filter drop-down window.
Styles
Allows you to customize the appearance of different column elements.

Column Layout Settings

FooterAlignmentHorz
Allows you to position column footer cells.
HeaderAlignmentHorz | HeaderAlignmentVert
Position the column header horizontally and vertically.
HeaderGlyphAlignmentHorz | HeaderGlyphAlignmentVert
Specify the glyph position within the column header.
LayoutItem | RowLayoutItem
Allow you to configure the column in a custom row layout.
MinWidth
Specifies the minimum column width, in pixels.

In-Place Editor Settings

Editing
Specifies if the assigned in-place cell editor is active.
OnGetProperties
Allows you to display different in-place editors for different records or customize editor settings based on custom conditions.
OnGetPropertiesForEdit
Allows you to change the assigned in-place editor and customize its settings when a user invokes the editor.
Properties
Provides access to the settings of the assigned in-place editor.
PropertiesClass
Specifies the active in-place editor class. At design time, you can use the Properties node in the Object Inspector to assign an in-place editor to the column and configure the editor.
RepositoryItem

Allows you to associate the column with a repository item that defines the required in-place editor and its settings.

Tip

Repository items are particularly useful if you need to share in-place editor settings between multiple grid View items or customize editor settings in OnGetProperties and OnGetPropertiesForEdit event handlers.

Data Management

DataBinding
Provides access to data binding settings.
GroupIndex
Allows you to group columns in the parent grid View by the current column.
SortIndex | SortOrder
Allow you to sort data in the parent grid View against the current column.
IsBottom | IsLeft | IsMostBottom | IsMostLeft | IsMostRight | IsRight | IsTop
Allow you to identify the column’s position within the parent grid View.
FixedKind
Allows you to fix the column or dock it to the left when users scroll the parent grid View to the right.
Focused
Specifies if the column has focus.
Index
Defines the column position in its parent grid View.
IsFirst | IsLast
Identify if the column is the first or last in the parent grid View’s collection of visible columns.
IsPreview
Allows you to identify if the column has a preview section.
MakeVisible
Scrolls the parent grid View to display the current column.
Selected
Identifies if the column is selected.
Summary
Provides access to column summary settings.
VisibleForEditForm | VisibleForRowLayout
Specify if the column is visible in an in-place Edit Form and the custom row layout.

General-Purpose API Members

Editable
Allows you to identify if the column is editable.
GridView
Provides access to the parent grid View.
Options
Allows you to configure general column settings.
RestoreDefaults
Restores the default values of column type-specific settings, such as Caption and Width.
ShowExpressionEditor
Invokes the Expression Editor dialog.
Visible
Specifies if the column is visible.

Code Example: Create an Unbound Column

The following code example creates an unbound Table View column, assigns an in-place spin editor to it, and limits the editor’s input value range:

uses cxSpinEdit;
// ...
var
  AColumn: TcxGridColumn;
  ASpinEditProperties: TcxSpinEditProperties;
begin
  AColumn := cxGrid1TableView1.CreateColumn;  // Creates a new unbound column
  AColumn.DataBinding.ValueType := 'Currency'; // Changes the column value type to "Currency"
  AColumn.PropertiesClass := TcxSpinEditProperties; // Assigns an in-place spin editor
  ASpinEditProperties := AColumn.Properties as TcxSpinEditProperties;
  ASpinEditProperties.MinValue := 0;  // Sets the minimum edit value
  ASpinEditProperties.MaxValue := 1000; // Sets the maximum edit value
  ASpinEditProperties.Circular := True; // Loops value changes within the defined range
end;

VCL Data Grid: A Column with an In-Place Spin Editor

Grid Column Deletion

To delete a grid column, release it directly in code (call the Free procedure in Delphi or use the delete keyword in C++Builder):

  cxGrid1TableView1Column1.Free;

Direct TcxGridColumn Class References

The following public API members reference a TcxGridColumn object:

TcxGridTableView.CreateColumn
Creates a new column and adds it to the Columns collection.
TcxGridTableView.Columns
Provides indexed access to the Table View’s columns.

Other Grid Column Classes

Unbound

TcxGridBandedColumn
A column in an unbound Banded Table View.

Data-Aware

TcxGridDBColumn
A column in a data-aware grid Table View.
TcxGridDBBandedColumn
A column in a data-aware Banded Table grid View.

Server Mode

TcxGridServerModeColumn
A column in a Server Mode grid Table View.
TcxGridServerModeBandedColumn
A column of a Banded Table View in Server Mode.

To see the unbound Table grid View in action, run the Grid and Data Editors demo in the VCL Demo Center installed with compiled DevExpress demos. Click the Unbound Mode item in the side bar to the left.

Download: Compiled VCL Demos

Tip

You can find full source code for installed compiled Data Grid demos in the following folder:

%PUBLIC%\Public Documents\DevExpress VCL Demos\MegaDemos\Product Demos\ExpressQuantumGrid

See Also