ASP.NET Tree. ExpertTree - XML and CSS based DHTML Server-Side Tree Control for ASP.NET

Examples Quick Start ExpertTree Designer Contact Us
ExpertTree Overview
What is ExpertTree?
ExpertTree is an ASP.NET web control for building hierarchical tree views in the web applications built with Microsoft ASP.NET technology versions 1.1 and 2.
Design patterns
ExpertTree is heavily based on industry proven design patterns and principles that allow it to achieve great flexibility and acquire the rich set of features.
  • Model-View separation
    In ExpertTree the most widely known MVC pattern is used to separate the tree hierarchy (Model) from its presentation (View) by introducing specialized objects - Looks - that are responsible for presentation of tree nodes and node sub-trees. A tree node, node's sub-tree or treeview itself doesn't contain any presentation properties except a single reference to a specialized look object. Moreover, a look can be automatically bound to a tree node based on criteria defined for a look. In the last case a node is unaware of its view until look binding occurs and it acquires a look.
Original ExpertLooks© technology
Presentation of controls and their elements in ExpertControls suite is based on a concept of Look. There is a hierarchy of specialized Looks that are responsible for presentation of a control and its structural elements. The main advantages of ExpertLooks© over existing Style-like approaches are:
  • Low coupling and High cohesion
    Looks are highly specialized. They contain only the necessary properties. They are easily configurable and object oriented.

  • Looks inheritance avoids duplication
    Any look can inherit another look by referencing the base look with Base property. This allows you to define a hierarchy of looks where all common presentation attributes are defined in a small number of base looks. Absence of duplication causes easy configuration changes and small control rendering size.

  • Declarative Look Binding
    You can declaratively define how a Look is bound to a tree node by defining simple bind criteria. There is no need to set any presentation properties in the node because a Look contains all necessary information about how to bind itself to the object and how to render the object.
Light-weight Rendering
Only tree nodes and looks are rendered on the page by the server control. Full tree HTML code is rendered in place on the client side. This causes small control output and good performance both on the client and server side.
Easy configuration
A tree can be configured through inline code in the containing aspx page or through an external XML file. ExpertTree Designer makes it easy to define a tree. You can freely select any pre-defined Tree Skin (Classic, Windows XP, MSDN, Gray 3D) and fully base your tree on it or tune a built-in skin to satisfy the specific needs.
CSS and JavaScript free configuration
All tree presentation attributes can be fully defined within Looks. CSS classes are also supported in Looks. JavaScript libraries are integrated into the assembly and automatically processed by the custom http handler (in ASP.NET 1.1) or standard resource handler (in ASP.NET 2).
Templated Nodes
Specialized TemplateLook allows defining an arbitrary content within its template. Therefore, a node can contain other web controls, user controls or plain HTML as its content.
Keyboard Support
ExpertTree supports keyboard navigation and tree activation with access keyboard shortcut.
Tree nodes can be dragged and dropped within a tree, between trees, or onto another HTML or web control with full programmatic control over this process.
ComboBox Mode
ExpertTreeComboBox is a specialized sub-class that allows functioning the treeview in the ComboBox Mode. By default, dropdown treeview overlaps select elements and other windowed elements in IE.
Context Menus
ExpertContextMenu provides ExpertTree with context menus that can be defined for the whole tree or for a separate node.
Populate On Demand
ExpertTree can be populated on demand that ensures loading only the necessary data when they are needed.
ExpertTree supports checkboxes for all or separate nodes with full programmatic support both on the server and client side.
Multiple Nodes Selection
You can choose between Single or Multiple nodes selection. Multiple nodes can also be Drag&Dropped.
Node Label Editing
ExpertTree supports editing node labels both on the server and client side.
Panels Design
Rich look design allows building treeviews in the style of Expandable Panels.
Single Branch Expanding
ExpertTree can keep only single branch expanded within the hierarchy.
Keep Tree State while navigation across pages
When you have a number of pages with the same layout that includes ExpertTree, PassTreeStateOnChangeLocation will help to keep tree state across all navigated pages.
Rich Server and Client API
You can control every aspect of tree creation and behavior on the server and client side using supplied server and client API. See installed documentation for mode details.
Cross-browser support
ExpertTree supports a wide variety of modern browsers. IE5+, NN6+, Mozilla 1+, FireFox, Opera 7+ and others are supported. With using CSS classes in Looks you can achieve supporting old down-level browsers.
Data Binding
ExpertTree can be transparently data-bound to ASP.NET 2 DataSource controls, both XmlDataSource and SiteMapDataSource. In the next release data binding will also be perfomed on datasets.
Expand / Collapse animation effects
Nodes expanding and collapsing can be animated with cross-browser or IE-specific effects.
Copyright © 2003-2021 ASP.NET Expert Group. All rights reserved.