How is Virtual Tree different from other Tree Controls?

Unlike most other tree controls, Virtual Tree is designed from the ground up to be data driven. Most other tree controls have a basic "unbound" mode in which the tree representation is built manually. If they support data binding, it is typically built on top of this "unbound" mode and simply generates the in-memory representation (consisting of tree nodes) when the Data Source is set. For large Data Sources this approach can be both extremely slow and resource hungry.

The Virtual Tree approach is radically different. It does not have a separate "unbound" mode at all. This allows the design to leverage the power of data binding to extract only the information from the Data Source required to display the current state of the tree representation. This means that, regardless of the size of the Data Source, Virtual Tree only initially needs to build a display of the first 30 or so items (ie the typical number of rows displayed on a screen). As the user browses the tree, Virtual Tree extracts the information required on-demand from the Data Source. This approach greatly improves initial load times and reduces the memory footprint.

Most other data binding solutions provide only limited ability to customize the appearance or behaviour of the control. If you want to do anything more advanced you have to revert to the "unbound" mode. Because Virtual Tree is designed from the ground up to be data driven it does not suffer from this problem. You can customize just about every aspect of it's appearance and behaviour without having to sacrifice the ability to use data binding. Virtual Tree can do anything possible with a traditional "unbound" tree control plus a whole lot more.

Our data binding model allows you to bind to real data sources - not just artificially constructed samples. But don't just take our word for it - try it out. Our sample projects include binding to very large data sources and the standard MS Northwind sample database.

Download Version 4 Trial | Purchase

Virtual Tree is a combined Tree/ListView .NET control written in C# to use the power of the .NET framework. You can use Virtual Tree as a simple tree, a standard list view, or you can combine the best features of both and provide your users with a dynamic interface that allows them to explore a hierarchical view of their data while displaying and editing all the relevant information in columns.

Virtual Tree's unique support for context sensitive columns allows you to display only those columns relevant to the currently selected item (see example below). This makes it possible for the first time to meaningfully display heterogeneous data in a combined Tree/ListView control.

Version 4 of Virtual Tree is compatible with Visual Studio 2005, 2008, 2010 and 2012 and includes sample projects for each of these development environments.

Virtual Tree Features

  • Advanced data binding to ADO.NET Datasets, DataViews or any class that supports the IList interface
  • True virtual loading of data on demand to support very large data sources
  • Automatic Column and Binding Generation - columns and data bindings can be automatically generated from ADO.NET table definitions or Object type definitions
  • Runtime column customization using drag and drop
  • Runtime column resizing (manual and automatic)
  • Auto Fit Columns mode - automatically sizes the displayed columns to fit the available space eliminating the need for a horizontal scrollbar.
  • Column sorting - no code required when using an ADO.NET Datasource or Infralution's Virtual Data Objects
  • Pinnable columns - columns can be pinned allowing them to act as headers when scrolling through a large number of columns.
  • Context sensitive columns - those columns not relevant to the currently selected item can be hidden automatically.
  • Variable Height Rows - row height can be set on an individual basis and even calculated automatically by Virtual Tree to fit the displayed data
  • Row Headers - provide runtime resizing of row height and display of data errors
  • Save/Load user customization - changes made by the user at runtime can be saved and loaded to/from standard .NET XML streams
  • In-place editing of cell values using any .NET editing control.
  • Full Accessibility Support - Virtual Tree implements Microsoft Active Accessibility (MSAA) interfaces to enable the use of screen readers and other accessibility aids.
  • Rich Text Support - display cell text containing multiple fonts and colors using Rich Text Formatting (RTF).
  • Infralution Controls Library - this library of useful controls is included with your purchase of Virtual Tree. The library contains a range of useful controls including:
    • UniversalEditBox - an editor control that uses the standard UITypeEditor and TypeConverter interfaces to allow editing of images, enumerations, dates and just about any other type that has a TypeConverter
    • VirtualListBox - a replacement control for the standard ListBox control that provides true virtual loading of data and outstanding performance with large data sources.
    • VirtualDropDownList - a replacement control for the standard ComboBox control that provides true virtual loading of data and outstanding performance with large data sources.
  • Checkbox support - check boxes (or any other control) can be displayed immediately following the row icon by specifying a PrefixColumn.
  • Modeless Error Indicators - data errors can be flagged using error icons in both the row header and cell. Support for the standard IDataErrorInfo interface means that errors in ADO.NET Data Rows are shown automatically.
  • Full drag and drop support allows rows to be moved or copied within the tree hierarchy - no code needed for ADO.NET Datasets.
  • Multiple selection support - standard and multiple selection modes as well as support for drag selection
  • Selection Modes - Full Row selection, Main Cell selection or individual Cell selection.
  • Right to Left Language Support - Virtual Tree provides full support for localization including Right to Left languages such as Arabic and Hebrew. Right to Left layout can be specified for the whole tree and on individual columns.
  • XP-Theme support
  • Alpha Blended background images - give your products a visual edge
  • Visual Styles - easy customization of the visual appearance of headers, rows and cells using hierarchical styles
  • Style Templates - allow you to change the default appearance of Virtual Tree with one setting. Choose from a range of templates including Classic, XP and Vista.
  • UITypeEditor support - allows the display of a graphical preview of values. This is the same infrastructure used by the Visual Studio designer to display previews in the property editor. Provides instant support for all the standard types (bitmaps, icons, enumerations). Makes it easy to provide graphical display and editing for your own types.
  • Fully customizable - all aspects of the appearance and behaviour of visual elements can be customized using the Virtual Tree widget framework.
  • Builtin printing support - no additional libraries required. Printing works out the box - or you can customize using visual styles.
  • Royalty Free - Virtual Tree is licensed per developer. You can build as many applications as you want and distribute them without paying any further royalties.
  • Source Code Available - you can optionally purchase full source for a reasonable price to guarantee support for your development needs into the future.
  • Free minor updates and support

Download Version 4 Trial


Infralution's Virtual Tree clearly defeated all competitors in the categories of functionality, quality, support, object model, data binding and price. Performance is outstanding due to its virtual functionality

Giuseppe Falce - 1eEurope



Virtual Tree is versatile, easy to work with and, very important, consistent with .NET practices. These guys know not only what end-users want, but also what programmers need!

Kees Pieters - Eco Chemie



Even though it is small and fast, it provides functionality that rivals most if not all other commercial and open source competitors out there. I would know because I have tried many if not all of them. Their technical support is both skilled and timely.

Jarrad Waterloo


Copyright 2005-2015 Infralution