Watch a 5 minute viewlet movie  that illustrates much of the standard feature set.

The movie was made using an earlier version or our features demo, and has a legacy look. Of course, an UltraTree app can have any look you desire (Windows 7/Vista/XP/legacy).

The movie was recorded for an 800 x 600 monitor. Download size is about 600K.

UltraTree Feature List

  • Multichild Support
    • Multiple related data sources per tree level
    • Each data source may optionally have a header row
  • Multicolumn Data Presentation
    • Mixed formatting in any tree section (data source, header, footer)
    • Mixed formatting in the same column (format by column by data source)
    • Indented (tree) listbox column can be in any column position
    • Optional icon in data columns
    • icon-only columns (flags, tags, etc.)
    • Icons, colors, tooltips, data, all can be applied at cell level (normal and conditional)
  • Paging Support
    • Root section only
      • Provides high performance browsing of large root tables
    • With paging active, explode is applied to current page only
    • Configurable page size (1 to 9999 rows)
    • Supports incremental locator
      • Current page begins with located record
    • File Relationship
    • Minimum, maximum range of values
    • Single Value
    • Current Value
  • Views at all levels
    • Trees consist of multiple related views
    • All ViewManager methods are available, in addiiton to ultratree-specific methods
    • Embed into ViewManager methods
    • Filter views separately by tree level
    • Multiple prioritized, overridable filters by tree level
    • Separate SQL Filters
    • Custom JOINs
    • Inner JOINs
  • Filters at all levels
    • Regular Filters
    • SQL Filters (replace or extend)
    • Named Filters (SetFilter method)
  • Internal Headers and Footers
    • Available at all tree levels, every data source
    • Headers
      • One header section allowed per data section
      • Header row inserted before each block of sibling records (related to common parent)
    • Footers
      • Unlimited number of footers per data section  
      • Footer rows inserted at the end of data block
      • Each footer formatted separately
      • Can be used for totals or any other computed values or even constant data
  • Dynamic Data Ordering (DDO)
    • Uses fast queue sorting
    • Sort key fields can be runtime computed values or any value in the view
    • Up to 16 prioritized sort fields per sort key
    • Basic sort
      • Eliminates need for sort fields in Relational Integrity linking keys
      • Source rows are read in arbitrary order, but entered into the display queue in sorted order
      • Load time equivalent to unsorted data
      • No impact on loading performance
    • Column sort
      • Root section only
      • Column header mouse click
      • Forward/reverse alternate sorting
    • Virtual Trees
      • Convert flat file to tree using "break" sort keys similar to report breaks
      • Break headers automatically generated and inserted into list
      • Break headers automatically indented based on key order
      • Data rows automatically indented beneath break header
      • Unlimited break levels
      • Break totaling not presently supported
  • Totaling (conditionally filtered) by data source:
    • Multiple totals per data source (no limit on number of totals)
    • Totals related rows,such as all items in one order
    • Extremely flexible totaling types include
      • Count of related rows
      • Sum of data table column of related rows
      • Minimum column value
      • Maximum column value
      • Average column value
      • Custom calculation - totally general, i.e.: sum of product of columns A and B when column C is greater than D, etc.
  • Alerts
    • 18 default alerted keyboard functions with customizable keystrokes; can add custom functions and alerted keys
  • Resets
    • Field resets
      • Allows, for example, refresh on changes to various components of a multicomponent file relationship key, by using entry fields
    • Event resets
      • Automatic reset on (multiple) parent listbox NewSelection events
      • Automatic refresh on Accepted events of (multiple) linked arbitrary controls
      • UltraTree-defined refresh events which your code can post wherever convenient
  • Automatic Folder Icons
    • Optional automatic generation of open/closed folder icons in the tree column
    • Configurable icons for Expanded, Contracted, Leaf states
  • Update/View/Select Support
    • One set of controls for all levels
    • automatic enable / disable of controls plus dynamic override capability (to support user auth for example)
    • Automatic RI linking of inserted records
    • Popup to select inserted record type (optional)
    • Arguments and return values supported on form procedure calls
    • Conditional form procedures (supports such things as different transaction forms on a table)
    • Insert field priming (optional)
    • Automatic selection of inserted record (optional)
    • Auto refresh of displayed rows affected by update
  • Popup Support
    • Right-click row popup
      • Global to tree - auto enable / disable of items depending on selected row
      • Optional overide popups by section
    • Insert popup (see update support)
    • All popups fully configurable using PopupClass methods
  • Cell Tooltips (normal and conditional)
  • Multirooted trees
  • Collapsible tree header
  • Recursive (Self-Related) Table Support
    • Levels may increase dynamically to system limit 
      • 1:Many recursive (parent, child, grandchild, etc)
      • Many:Many recursive (Exploding Bills of Material with the same elements related to multiple parents, also Where Used trees)
    • Recursive views may occur anywhere in a tree
    • Recurring headers if desired
    • Recursive Relation Manager Included
      • Supports both recursive relationship types
      • Relational Integrity support for cascaded deletes (anywhere recursive table is used in an application)
      • Template included to prevent Many:Many infinite database loop
  • Tagging & Reporting
    • Uses tag icon column and a queue of tags
    • Tag/Untag using direct mouse click or separate controls
    • Auto-advance of row selection after tagging
    • Tag/Untag single row, entire subtree, or entire tree
    • Send tagged rows to reports
    • Tagged rows need not be present in tree when reported
  • Row/Column Rearrangement & Column Hiding
    • Rearrange rows at runtime using up/down buttons
    • Renumber rows at runtime
    • Rearrange columns at runtime
    • Hide and reveal columns at runtime
    • Column arrangement saved and restored for next session
  • Stylesheet
    • Define named styles ala word processing
    • Lets you apply complete styles to cells by name reference instead of number
    • Mix fonts, font sizes, and font styles in one tree
    • Also supporets style colors
    • Allows easy localization of fonts to end user environment
    • Supports runtime end-user configuration of fonts if desired (User style configuration is saved to an INI file)
    • Named styles may optionally be shared among procedures and/or applications by name using special INI files) -  Easy way for your end user to customize a whole suite of applications
  • Drag and Drop
    • Drag entire branches from one parent to another
    • Move branches to previous or next parent using buttons
    • Handles all file updates automatically
    • Performs all necessary validity checking
    • Fuzzy drop targeting allows dropping anywhere under a valid target for maximum end user friendliness
    • When used with the Recursive Views optional feature, allows moving branches up and down in the hierarchy

To Top of Chart