ExpertTree Overview |
 |
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.
|
 |
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.
-
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.
|
 |
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:
-
Looks are highly specialized. They contain only the necessary properties.
They are easily configurable and object oriented.
-
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.
-
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.
|
 |
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.
|
 |
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.
|
 |
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).
|
 |
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.
|
 |
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.
|
 |
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.
|
 |
ExpertContextMenu provides ExpertTree with
context menus that can be defined
for the whole tree or for a separate node.
|
 |
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.
|
 |
You can choose between Single or
Multiple nodes selection.
Multiple nodes can also be
Drag&Dropped.
|
 |
ExpertTree supports editing node labels both
on the server and
client side.
|
 |
Rich look design allows building treeviews in the style of
Expandable Panels.
|
 |
ExpertTree can keep
only single branch
expanded within the hierarchy.
|
 |
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.
|
 |
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.
|
 |
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.
|
 |
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.
|
 |
Nodes expanding and collapsing can be animated with cross-browser or IE-specific effects.
|