[Overview][Constants][Types][Classes][Procedures and functions][Index] | Reference for unit 'DBCtrls' (#lcl)

# TDBLookupComboBox

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

TDBLookupComboBox is a data-aware combo-box for examining a lookup table in a database.

## Declaration

Source position: dbctrls.pp line 870

`type TDBLookupComboBox = class(TCustomDBComboBox)`
`protected`
`procedure DefineProperties(); override;` |  | Defines read and write routines for properties values in the class instance.
`function DoEdit; override;` |  | Implements support for the "unbound" editing mode in the data-aware control.
`procedure DoAutoCompleteSelect; override;` |  | Ensures the internal TDBLookup instance is updated when the control is used in "unbound" mode.
`function IsUnbound;` |  | Indicates if the control lacks a datasource or field name ("unbound" mode).
`procedure InitializeWnd; override;` |  | Ensures that the lookup uses the address for the items defined in the control.
`procedure DestroyWnd; override;` |  | Updates the lookup with the address for the items in the control when the control handle is freed.
`procedure KeyDown(); override;` |  | Handles the Null key shortcut in key down events.
`procedure UTF8KeyPress(); override;` |  | Handles UTF-8 characters for the data-aware control.
`procedure Loaded; override;` |  | Performs actions when a component has been loaded during LCL streaming.
`procedure UpdateData(); override;` |  | UpdateData - copies the local data from the corresponding entry from the lookup field.
`procedure DataChange(); override;` |  | Updates the control when the value in the linked dataset has been changed.
`procedure DoOnSelect; override;` |  | Performs the OnSelect event handler when in drop-down list mode.
`public`
`constructor Create(); override;` |  | Constructor for the class instance.
`property KeyValue: variant; [rw]` |  | Value for the key field in the lookup dataset at the position in ItemIndex.
`property DropDownCount: Integer; deprecated ;` |  | Deprecated. Use DropDownRows instead.
`published`
`property Align: TAlign;` |  | Specifies the placement of the control on its Parent control.
`property Anchors: TAnchors;` |  | The set of anchor definitions for this control.
`property ArrowKeysTraverseList: Boolean;` |  | Indicates if keyboard Arrow (or cursor) keys can be used to move through the list.
`property AutoComplete: Boolean;` |  | Positions the list box using partial text matching.
`property AutoDropDown: Boolean;` |  | Makes the drop-down list appear as soon as the user starts entering text.
`property AutoSelect: Boolean;` |  | Selects the entire content of the edit box when the control receives the focus.
`property AutoSize: Boolean;` |  | Allows automatic adjustment of the size for the control, according to its content.
`property BiDiMode: TBiDiMode;` |  | Indicates whether text controls use in bi-directional reading.
`property BorderSpacing: TControlBorderSpacing;` |  | Determines the inner and outer border spacing for this control.
`property BorderStyle: TBorderStyle;` |  | Indicates the border style displayed around the control.
`property CharCase: TEditCharCase;` |  | Indicates the case conversion applied to the value entered in the edit box for the control.
`property Color: TColor;` |  | The background color for the control.
`property Constraints: TSizeConstraints;` |  | Contains the minimum and maximum Width and Height for the control.
`property DataField: string;` |  | The name of the Field which provides the values displayed in the control.
`property DataSource: TDataSource;` |  | Provides access to the dataset with content for the control.
`property DoubleBuffered: Boolean;` |  | When enabled, it reduces flicker when the control is painted.
`property DragCursor: TCursor;` |  | The cursor shape shown during a drag operation.
`property DragKind: TDragKind;` |  | Indicates the action performed for a drag operation: drag-and-drop or drag-and-dock.
`property DragMode: TDragMode;` |  | Determines how a drag operation is started for the control.
`property DropDownRows: Integer; [rw]` |  | Number of rows displayed in the drop-down list for the control.
`property Enabled: Boolean;` |  | Determines whether the control responds to mouse or keyboard input.
`property Font: TFont;` |  | The font to be used for text display in this control.
`property KeyField: string; [rw]` |  | KeyField the name of the field containing the key data.
`property ListField: string; [rw]` |  | ListField is the name of the field containing the list data displayed in the control.
`property ListFieldIndex: Integer; [rw]` |  | ListFieldIndex - the index value of the field containing the list.
`property ListSource: TDataSource; [rw]` |  | ListSource the data source that contains the list.
`property LookupCache: Boolean; [rw]` |  | Indicates if look-up items are cached in the field data link for the control.
`property NullValueKey: TShortCut; [rw]` |  | Keyboard shortcut which causes an empty value to be assigned to the field value for the lookup control.
`property EmptyValue: string; [rw]` |  | Value stored for the lookup control when a lookup value is not available.
`property DisplayEmpty: string; [rw]` |  | Value displayed in the lookup control when a lookup value is not available.
`property ParentBiDiMode: Boolean;` |  | Indicates whether the BiDiMode settings in the Parent control are used.
`property ParentColor: Boolean;` |  | Use the Color from the Parent control, when enabled.
`property ParentDoubleBuffered: Boolean;` |  | Value for the DoubleBuffered property in a Parent control.
`property ParentFont: Boolean;` |  | Indicates if the Font from the Parent control is used in the control.
`property ParentShowHint: Boolean;` |  | If True, the value of ShowHint for the control will be the same as the one from the Parent. Default is True.
`property PopupMenu: TPopupMenu;` |  | A context-sensitive menu that pops up when the right mouse button is clicked over this control.
`property ReadOnly: Boolean;` |  | Disallows free-form entry of Text into the combo-box edit field.
`property ScrollListDataset: Boolean; [rw]` |  | Indicates if the Dataset in ListSource can be scrolled when loading/locating key and display values.
`property ShowHint: Boolean;` |  | Enables Hint display for the control.
`property Sorted: Boolean;` |  | Determines whether the list entries are sorted in alphanumeric order.
`property Style: TComboBoxStyle;` |  | Controls the appearance and behavior for the combo-box.
`property TabOrder: TTabOrder;` |  | Indicates the navigation order for the control when the user presses the Tab or Shift+Tab key.
`property TabStop: Boolean;` |  | Allows the user to navigate to / from the control by pressing the Tab or Shift+Tab keys.
`property Visible: Boolean;` |  | Allows the control, and all of its children, to be displayed or hidden.
`property OnChange: TNotifyEvent;` |  | Event handler signalled for user changes to the text in the edit box.
`property OnChangeBounds: TNotifyEvent;` |  | Event handler signalled when the Bounds for the control have been changed.
`property OnClick: TNotifyEvent;` |  | Notification handler for mouse clicks.
`property OnCloseUp: TNotifyEvent;` |  | Handler invoked when the drop-down list closes.
`property OnContextPopup: TContextPopupEvent;` |  | Invoked when a context-sensitive pop-up menu is requested.
`property OnDblClick: TNotifyEvent;` |  | Event handler signalled when a mouse double click occurs in the control.
`property OnDragDrop: TDragDropEvent;` |  | Event handler signalled when an object is dropped onto the control.
`property OnDragOver: TDragOverEvent;` |  | Event handler signalled when a control is dragged over the control instance.
`property OnDrawItem: TDrawItemEvent;` |  | Handler for special painting of an item (in owner-draw mode).
`property OnDropDown: TNotifyEvent;` |  | Handler invoked when the list has dropped down.
`property OnEditingDone: TNotifyEvent;` |  | Event handler signalled when editing is completed for the control.
`property OnEndDrag: TEndDragEvent;` |  | Event handler signalled for the end of a drag-drop operation.
`property OnEnter: TNotifyEvent;` |  | Event handler signalled when the control receives focus.
`property OnExit: TNotifyEvent;` |  | Event handler signalled when the control loses focus.
`property OnKeyDown: TKeyEvent;` |  | Event handler signalled for key down keyboard events.
`property OnKeyPress: TKeyPressEvent;` |  | Event handler signalled for character data entered by the user.
`property OnKeyUp: TKeyEvent;` |  | Event handler signalled when a key up event has occurred for the control.
`property OnMouseDown: TMouseEvent;` |  | Event handler signalled when a mouse down event is handled for the control.
`property OnMouseEnter: TNotifyEvent;` |  | Event handler signalled when the mouse pointer has entered the control.
`property OnMouseLeave: TNotifyEvent;` |  | Event handler signalled when the mouse pointer has left the control.
`property OnMouseMove: TMouseMoveEvent;` |  | Event handler signalled when the mouse pointer is moved in the control.
`property OnMouseUp: TMouseEvent;` |  | Event handler signalled when a mouse up event is handled for the control.
`property OnMouseWheel: TMouseWheelEvent;` |  | Event handler for mouse wheel turned.
`property OnMouseWheelDown: TMouseWheelUpDownEvent;` |  | Event handler signalled for a downward movement of the mouse wheel.
`property OnMouseWheelUp: TMouseWheelUpDownEvent;` |  | Event handler signalled for an upward movement of the mouse wheel.
`property OnSelect: TNotifyEvent;` |  | Handler invoked when an item is selected.
`property OnStartDrag: TStartDragEvent;` |  | Event handler signalled for the start of a dragging operation.
`property OnUTF8KeyPress: TUTF8KeyPressEvent;` |  | Handler for a character entered by the user.
`end;`

## Inheritance

`TDBLookupComboBox` |  | TDBLookupComboBox is a data-aware combo-box for examining a lookup table in a database.
`TCustomDBComboBox` |  | TCustomDBComboBox is a data-aware combo-box for displaying information from a database.
`TCustomComboBox` |  | The base class for combo-box components.
`TWinControl` |  | Implements a windowed control which can contain other child controls.
`TControl` |  | The base class for visible controls.
`TLCLComponent` |  | The base class for LCL components which have an associated widget.
`TComponent`
?
`TObject`

## Description

TDBLookupComboBox is a TCustomDBComboBox descendant which implements a data-aware combo-box control that adds lookup capabilities using values from a separate dataset. Like the ancestor class, the DataField and DataSource properties are used to identify the dataset and field where the selected value for the control is stored. The ListSource, KeyField, and ListField properties are added to define the dataset with the values displayed and captured using the drop down for the combo-box control. Internally, a TDBLookUp instance is used to perform lookup operations for the control.

Other important properties used to manage the behavior and appearance of the control include:

- AutoComplete
- AutoDropDown
- AutoSelect
- NullValueKey
- EmptyValue
- DisplayEmpty
- ScrollListDataset

## See also

How To Use Data-aware Controls |  | HowToUseDataAwareControls - Hints for accessing databases.
TCustomDBComboBox |  | TCustomDBComboBox is a data-aware combo-box for displaying information from a database.
TDBLookup |  | TDBLookup - used as source of data by TDBLookupListBox or TDBLookupComboBox, to find data from a lookup table.