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.
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:
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
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:
Generic data providers:
Go to the top of this page
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-2021 X-Files Software