X-DBData Components package was designed to can directly use any indexed data
structures like lists, arrays, collections with db-aware data components like
TDBEdit, TDBComboBox, TDBNavigator and especially with our TXDBGrid component.
The package contains a set of specialized datasets and data providers to can
use any classic and generic data structures like a database table.
X-DBData Components
The components contained in the package allow to handle: array of TObject,
TList of TObject, TObjectList, TStringList, TWideStringList, TCollection,
TArray<T: class>, TList<T: class>, TObject-List<T: class> and its descendants.
By using data providers it is also possible to handle any indexed property
like Fields, Controls, Components, Pages, Buttons, Forms, etc.
Each dataset from the package supports all standard operations: read, write,
insert, edit, delete, locate, lookup, filter, master-detail and DataSetField.
The dataset also supports bookmarks, blob stream and nested dataset.
You can self define FieldDefs (TXDBData component) or create by data provider
default FieldDefs based on the published properties of object. You can also
create the persistent fields and define fkLookup and fkCalculated fields of
any type. The default Fields Editor is available in design-time.
The default data providers support the published properties of types:
Boolean, Enum, Byte, Word, LongWord, ShortInt, SmallInt, Integer, LargeInt,
Single, Double, Extended, Currency, TDate, TTime, TDateTime, ShortString,
AnsiString, WideString, UnicodeString, Interface, Variant.
The default data providers automatically create ftADT fields for properties
derived from TPersistent class like Font, Margins, Constraints, Touch, etc.
For properties derived from TGraphic class a ftGraphic field is created, for
properties derived from TCollection, TStrings, TWideStrings a ftDataSet field
is created automatically. You can handle the ftDataSet field by using separate
nested dataset.
You can easy define new datasets and new data providers for your own classes.
Especially, you can easy define generic datasets based on your own classes:
var CompanyTable: TXDBTable<TCompany>;
Main dataset components:
TXDBData is a virtual dataset component. It allows to define FieldDefs list
and self handle any indexed data structure by writing 5 new event handlers.
TXDBDataSet is an universal dataset component. It allows to link DataProvider
of any type and link in run-time external DataInstance suitable to selected
DataProvider.
TXDBDataList is an extended TXDBDataSet component. It allows to link object
Data-Provider and select DataInstance by using ListComponent/ListPropName.
TXDBDataList component allows to open and show real data in design-time.
Classic dataset components:
TXDBList component contains internal TXDBListProvider. This dataset allows to
handle any external DataInstance of TList/TObjectList class.
TXDBArray component conatins internal TXDBArrayProvider. This dataset allows
to handle any external DataInstance declared as array of TObject.
TXDBTable component contains internal TXDBListProvider and create internal
DataInstance of TObjectList class. This component allows to create complete
object dataset as CompanyTable := TXDBTable.CreateFor(AOwner, TCompany);
TXDBObject component contains internal TXDBObjectProvider. This dataset allows
to handle any external DataInstance of any class as single row dataset.
TXDBCollection component contains internal TXDBCollectionProvider. This dataset
allows to handle any external DataInstance of TCollection class.
Generic dataset components:
TXDBList<T> component contains internal TXDBListProvider<T>. This dataset
allows to handle any external DataInstance of TList<T>/TObjectList<T> class.
TXDBArray<T> component conatins internal TXDBArrayProvider<T>. This dataset
allows to handle any external DataInstance declared as TArray<TObject>.
TXDBTable<T> component contains internal TXDBListProvider<T> and create internal
DataInstance of TObjectList<T> class. This component allows to create complete
object dataset as CompanyTable := TXDBTable<TCompany>.Create(AOwner);
TXDBObject<T> component contains internal TXDBObjectProvider<T>. This dataset
allows to handle any external DataInstance of any class as single row dataset.
Main data providers:
TXDBListProvider allows to handle instance of TList/TObjectList class.
TXDBArrayProvider allows to handle array of TObject class.
TXDBObjectProvider allows to handle instance of any class as single row.
TXDBCollectionProvider allows to handle instance of any TCollection class.
TXDBStringListProvider allows to handle instance of TStrings class (Item field).
TXDBValuesListProvider allows to handle instance of TStrings class (Name/Value).
TXDBWideStringListProvider allows to handle instance of TWideStrings class.
TXDBWideValuesListProvider allows to handle instance of TWideStrings class.
TXDBFieldsProvider allows to handle instance of TFields class.
TXDBFieldListProvider allows to handle instance of TFieldList class.
TXDBFieldDefsProvider allows to handle instance of TFieldDefs class.
TXDBFieldDefListProvider allows to handle instance of TFieldDefList class.
TXDBControlsProvider allows to handle Controls property as DataInstance.
TXDBComponentsProvider allows to handle Components property as DataInstance.
TXDBScreenFormsProvider allows to handle Forms property of Screen variable.
Generic data providers:
TXDBListProvider<T> allows to handle instance of TList<T>/TObjectList<T> class.
TXDBArrayProvider<T> allows to handle instance of TArray<TObject>.
TXDBObjectProvider<T> allows to handle instance of any <T> class as single row.
Go to the top of this page
Gallery
Below they are located some screenshots of the demo application included in the package.
Click on selected screenshot to see its bigger version.
Go to the top of this page
Copyright © 1999-2023 X-Files Software