TcxCustomGridColumn Class
#Declaration
TcxCustomGridColumn = class(
TcxCustomGridTableItem
)
#Remarks
The TcxCustomGridColumn
class implements core functionality common to all Table and Banded Table grid Views in all supported data access modes. A column displays data of the same type in a table. In bound and server data access modes, a column corresponds to an individual dataset field.
#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 TcxCustomGridColumn
class. These members allow you to configure columns in Table and Banded 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 On
Get and OnProperties Get event handlers.Properties For Edit
#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.
#Grid View-Related API Members
- 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.[1]
- Visible
- Specifies if the column is visible.
#Code Example: Create an Unbound Column and Configure Its In-Place Editor
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;
#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):
#Terminal TcxCustomGridColumn Class Descendants
Do not use the TcxCustomGridColumn
class directly. Use the following descendants instead:
#Unbound
- TcxGridColumn
- A column in an unbound grid Table View.
- 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.
#Inheritance
-
All Server Mode Views do not support calculated field expressions because these Views load data on demand.
A ShowExpressionEditor procedure call has no effect for simple and banded columns in Server Mode grid Views.