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: 71431.62@compuserve.com