Below is a list of main features in the XtraTreeList control.
è	Data Specifics 
·	Support for Hierarchical Data Relationships - With the XtraTreeList, you can represent any self-referenced data structure without hassle... In bound or un-bound mode. 
·	Full ADO+ Support - The XtraTreeList takes full advantage of ADO+. By using this data access architecture and separation of internal data modules from data presentation, the XtraTreeList does not use any extra buffers, thus greatly improving performance and reducing memory use. 
·	Advanced Unbound Mode Support - The XtraTreeList works with any source which supports an IList or ITypedList interface, along with all inherited interfaces.
·	Dynamic Loading - Allows you to load only root nodes (rows) on start-up. Child nodes are loaded when their parents are expanded. 
·	Binding to a Business Object - With this feature, you are able to bind the TreeList control to any object that represents a tree structure. You can do this by implementing the DevExpress.XtraTreeList.IVirtualTreeListData interface for the business object or via the TreeList's VirtualTreeGetChildNodes and VirtualTreeGetCellValue events. 
è	Data Representation Specifics 
·	Automatic Sorting against Multiple Columns - With the XtraTreeList, you can sort against an unlimited number of columns, without writing a single line of code. 
·	Filtering Nodes - This feature allows you to flexibly control the visibility of nodes. You can filter nodes based upon the contents of a column. It's also possible to handle the FilterNode event to dynamically specify which nodes need to be currently displayed or hidden. Or you can change a node's visibility directly via the node's Visible property. 
·	Custom Sorting - Allows you to implement a custom sorting algorithm by handling the CompareNodeValues event. 
·	Custom Node Height and Runtime Node Resizing - You can implement a custom algorithm that sets different heights for different nodes or you can allow end-users to freely change the heights of nodes at runtime. 
·	Incremental Searching - This allows end-users to quickly locate the required information within the XtraTreeList by typing a search string within a non-editable column. 
·	Auto Preview Pane - Permits you to display long text fields within the TreeList. 
·	Runtime Column Customization - The XtraTreeList provides a quick method of customizing the control's layout at runtime. End-users can hide specific columns and then restore them using drag and drop.
è	In-place Editing 
·	XtraEditors Library Integration - No more hassle or limits when it comes to using editors within a treeview. The XtraTreeList works in concert with our XtraEditors Library allowing you to use all our field editors (from date controls to combo boxes) directly within your TreeList. 
·	Editor Repository - You can setup a single in-place editor, for instance a pick image edit as an editor for a payment type field, and use it for as many TreeLists or other Developer Express controls as you wish. When you use the repository and have to add a different credit card payment type, you only need to change it in one in-place editor.
è	Painting Specifics 
·	Support for Multiple Painting Schemes - WindowsXP, Flat, Style3D, Office2003, etc. 
·	Skins Support - Skins will bring a striking look and feel to your applications, far beyond the normal painting standards. 
·	Appearances - A powerful mechanism to control the entire look and feel of the TreeList, allowing you to customize appearance settings of almost any visual element. 
·	Style Conditions - You can apply appearances to cells conditionally to reflect certain states such as errors. 
·	Alpha Blending & Background Images - You can greatly improve the look & feel of your TreeList control by assigning a background image to it and using transparent element colors. 
·	Custom Painting - The XtraTreeList provides a set of events that enable you to perform custom painting of control elements. Using this feature, you have no limits in adjusting the control's look & feel. 
è	Design-Time 
·	Advanced XtraTreeList Designer - The XtraTreeList control's designer provides access to the control's settings by categorizing them into separate pages. Thus you can quickly find appropriate options that control different aspects of the XtraTreeList.
·	Nodes Editor - This is an easy-to-use editor that allows you to add nodes at design time (used in unbound mode). 
·	Design-time column selection - Not only can you select columns in the Properties grid but also select them directly in the XtraTreeList at design time.
è	Miscellaneous 
·	Context Menus - Context menus provide end-users with quick access to the most common customization tasks: apply footer and row summaries, invoke column customization, apply best fit to columns and more. It's also possible to extend the built-in menus by implementing custom features via an event. 
·	Column Header and Cell Hint Support. 
·	ErrorInfo Support - The XtraTreeList permits you to mark specific cells or entire nodes with error icons and so indicate the cells that contain invalid data. 
·	Save and Load Layouts - By default, the XtraTreeList control enables end-users to customize the control's layout at runtime. To save the changes made into the layout by end users between application runs you can use the SaveLayoutTo... and RestoreLayoutFrom... methods. 
·	Printing (via the XtraPrinting Library). 
·	Localization of Every Interface Element. 
·	Export and Import from XML.