IBX 1.2 introduces a new Component Palette entry "Firebird Data Controls". This has five new data aware controls dependent on IBX and which make use of the SQL Parser also introduced in IBX 1.2.
These controls are available as part of the IBX2 download and have a minimum requirement of Lazarus 1.6.0.
TIBLookupComboEditBox is a TDBLookupComboBox descendent that implements "autocomplete" of typed in text and "autoinsert" of new entries. Autocomplete uses SQL manipulation to revise the available list and restrict it to items that are prefixed by the typed text (either case sensitive or case insenstive). Autoinsert allows a newly typed entry to be added to the list dataset and included in the available list items.
TIBDynamicGrid is a TDBGrid descendent that provides for:
automatic resizing of selected columns to fill the available row length
automatic positioning and sizing of a "totals" control, typically at the column footer, on a per column basis.
DataSet resorting on header row click, sorting the dataset by the selected column. A second click on the same header cell reversed the sort order.
Support for a "Panel Editor". That is on clicking the indicator column, the row is automatically expanded and a panel superimposed on it. The panel can have any number of child controls, typically data aware controls with the same datasource as the grid allowing for editing of additional fields and more complex editors.
Reselection of the same row following resorting.
A new cell editor that provides the same functionality as TIBLookupComboEditBox. Its properties are specified on a per column basis and allows for one or more columns to have their values selected from a list provided by a dataset. Autocomplete and autoinsert are also available. The existing picklist editor is unaffected by the extension.
TIBTreeView is a data aware TCustomTreeView.
TDBControlGrid is a lookalike rather than a clone for the Delphi TDBCrtlGrid. TDBControlGrid is a single column grid that replicates a TWinControl - typically a TPanel or a TFrame in each row. Each row corresponds to a row of the linked DataSource. Any data aware control on the replicated (e.g.) TPanel will then appear to have the appropriate value for the row.
TIBArrayGrid is a data aware control derived from TCustomStringGrid and which may be used to display/edit the contents of a one or two dimensional Firebird array Field.
Examples are provided to illustrate the use of the new controls