For in-house use I developed a specialized book-keeping software. Its main purpose is to do multiple calculations, such as taxes and expenses. Since it would be nice that this program also works with MAC-OS, I checked if it would be possible to convert the VCL application to FireMonkey. The project mostly uses standard components, WPTools and wPDF. At least as an alpha, WPTools already works with Firemonkey (OSX and Windows) – so the reporting code would work without many changes.
But how to display the data tables? To do so, the project uses the standard TDBGrid. Firemonkey has a TGrid which can be quite easily be connected to a database with data binding. But when using customized columns, this also implies a quite complicated network of binding controls which I wanted to avoid since ideally the Firemonkey and the VCL project would share the data-module and the reporting code.
So I created a data sensitive version of the TGrid which has this advantages:
- Can be easily connect to a regular TDataSource
- Customizeable columns
- Show position in database with index column
- Runtime customization