First of all, we want to say thank you to all our users, customers and beta-testers for your commitment into Flexible TreeView present and future! We really appreciate that! So, after a hard work we happy to provide you these new and unique features. Hope you`ll find them very useful for your applications and users.
The core and useful new feature is the possibility to span columns by a node control that allows you to merge columns and display a node control in that merged area like the HTML <colspan> tag does. No one treeview-listview component on the market has this feature, so use it now to provide your users and customers unique and outstanding user interface.
To span columns by a node control, use the ColumnSpan node control property. See this topic for details. This feature allows you to create a very professional and useful user interface in a minute. For instance, treeview may display general data in the columns while displaying some additional content like text, an image or your custom control under all these data. You can set the static columns count to span or define it dynamically through the NodeControlColumnSpan treeview event for every node and for every node control! This feature is very useful in conjunction with the node control wrapping feature, stated below. See Node control/ColumnSpan/* samples in the supplied demo application.
Node control wrapping
The next new feature is an ability to wrap the node control to the next level, i.e. display it under all previous node controls.
Here`s the Name column has three node controls: text box (displays '04.jpg' for the hot node), separator (horizontal divider line) and image (displays the image preview) and each of them placed on a separate level.
To wrap the node control, use the Wrap node control property. You are free to have as many levels as you need. See this topic for details. It is very useful in conjunction with the column span node control feature, described above. See Node controls/Wrap/* samples in the supplied demo application.
Node control visibility
The next very useful new feature is the ability to define nodes` states for which to show the node control. For example, some node control you won`t want to display in a general (not selected, not focused, etc.) node because it may display a custom control with an resource-heavy data. If so, you can define it to display that node control only for a selected node to retrieve data only when you need it. To define the node control visibility inside a node, use the Visibility or VisibilityManager node control properties. See this topic for details. They act like the ControlContainer similar properties.
Note that these node states may be combined. For example, to display a node control for a selected or focused node, use this code:
See Node controls/Visibility/* samples in the supplied demo application.
New visibility mode
Object`s new visibility mode has been added - eObjectVisibility.GeneralNode. It allows you to display an object for a general node that is not selected, not focused, not under the mouse cursor and not soft selected. This new mode can be used to control the node control or ControlContainer visibility.
The IsVisibleForNode node control protected and virtual method has been added to be able to override the node control visibility for every node. See this topic for details.
The IsHot node property has been added to check whether the node is under the mouse cursor right now.
New column`s image alignment
The eColumnImageAlign.Center column image alignment mode has been added to center the column image within the column header.
Html tag inspector
The IHtmlTagInspector interface has been added to provide a method to override the appearance of html tags that`re displayed in the treeview.
Download trial now to see all new features in action in the complete demo application.