The Maelstrom TDBOutline component
Release 1.5
TDBOutline is a native VCL Delphi component designed to allow the loading,
navigation, and manipulation of hierarchically organized data contained in
a database.
TDBOutline is a descendant of the TOutline Class, inheriting all TOutline's
properties, methods and events.
TDBOutline has additional properties, methods and events that provide the
following:
o Automatic loading of recursively related data into the outline, preserving
the hierarchic structure. One call to method LoadFromDataSet is all it takes
to populate the outline with all the table data.
o Automatic drag & drop facility that moves a node and all its children to
be children of the dropped-on node. Dragging a node off the outline
control will cause the outline to scroll, enabling drag and drop to a
node not visible on the same page as the from-node. A default move
confirmation message can be enabled, disabled, or overridden with your
own custom message.
o Automatic record-pointer synchronization -- as you navigate through the
outline, TDBOutline will move the record pointer in the table to the
associated record. It will even search for the appropriate index to
enable FindKey synchronization.
o Automatic outline synchronization -- as you navigate through the dataset,
you can cause the selected outline to synchronize with the selected
dataset record by calling a single method.
o Automatic update of recursive field upon drag & drop -- when a node is
dropped on another node, the dropped-on node's key field will be written
to the dropped node's recursive field.
o Mass update or cancel of drag-drop changes with a single method call.
TDBOutline can be used to display, manipulate and save the hierarchic
structure of recursively related (self-referencing) data. Recursively
related tables are used for many purposes, including the following:
o Corporate personnel hierarchy
o Genealogy (Family trees)
o Notes/subnotes (document management)
o GL Account structures
o Business channel/segment structures
o Project tasks/subtasks
o Decision trees
o Process flows
o Universal Address Master files
o PIMs
TDBOutline has proved to be a very useful tool in Maelstrom's development
projects. We know there are areas requiring improvement, and they will be
in the next release.
What's New in version 1.5
o Version 1.5 has been modified to prevent the display of DataField within
the node text. Resulting from this modification, the Data element of
each node is now occupied with information TDBOutline needs to navigate
and synchronize the DBOutline.
o Several new methods have been added to facilitate the addition/editing
of outline nodes after the initial call to LoadFromDataSet. These methods
are AddDBRecord and ChangeDBRecord.
o A new method has been added to allow the developer to synchronize the
DBOutline's selected node to changes in the underlying dataset's selected
record: SynchOutline.
o A new property has been added, DataAutoUpdate, that specifies if drag-drop
changes should be immediately posted to the dataset or not. In conjunction
with this new property, a method has been added, UpdateDraggedNodes, that
will post all un-posted drag-drop changes to the dataset. This allows the
manipulation of the DBOutline's structure without changing the dataset.
The modifications to the hierarchy can be saved with a call to UpdateDragg
edNodes, or abandoned with a call to LoadFromDataSet.
o In keeping with the above change, AutoDrop has been modified to post
drag-drop changes to the dataset only if DataAutoUpdate is True.
o Improved support for TQueries has been added. DataAutoSynch will now work
with a TQuery. All other functionality also works with TQuery, provided
the TQuery is capable of being updated.
o A new property has been added to prevent the display of the default
error message if a cyclical drag-drop is attempted: IgnoreCyclicalDrops.
o Improved index support has been provided. The DataAutoSynch mechanism
will now maintain the initial index of the dataset, switching to an index
with primary key DataField as needed, then switching back.
Registration
The trial version of TDBOutline v1.5 is free, but will only run while Delphi
is running. The commercial version, allowing royalty free run-time
distribution, can be ordered for US $39.00. Contact Information
Maelstrom Software
85 Fernhill Blvd.
Oshawa, Ontario
Canada L1J 5J1
CompuServe: 71431,62
Internet:
[email protected]