Do you have a WPF project and want to use Flexible TreeView there? No problem!
Do you have a WPF project and want to use Flexible TreeView there? No problem!
Though Flexible TreeView is a WinForms component, it can be easily used in the WPF project right now by using WinForms controls host facility with the help of WindowsFormsHost class. At the same time all rich Flexible TreeView functionality is available to you as in the WinForms version.
Please read this topic for details of how to use Flexible TreeView in the WPF project.
Flexible TreeView v3.4 maintenance release has been released.
Flexible TreeView v3.4 maintenance release has been released. All users need to upgrade to this version.
Please read change log for release details.
Flexible TreeView v3.3 maintenance release has been released. Separate assemblies for .NET 2.0, 4.0 and 4.0 Client Profile, HTML markup extension, etc.
Flexible TreeView v3.3 maintenance release brings some long awaiting features and fix a fee bugs.
Until this release Flexible TreeView was represented
by a single assembly targeted .NET 2.0 which can be used either
in .NET 2.0-3.5 applications or in .NET 4.0 applications
but with installed .NET 2.0 framework.
Starting from this release we`ll ship separate assemblies for
every such targets so Flexible TreeView can be used in .NET 4.0
native applications.
Please note that our demo
application (Samples Suite) that you can run right after
installation is targeted only .NET 2.0 in this
release. So if you have .NET 4.0 installed only
you cannot run it out-of-the-box. Instead, you need to open the
Samples Suite source project
(.SampesCSSamplesSuite.csproj), change his target to
.NET 4.0, replace references of
ARMSoft.FlexibleTreeView.dll and
ARMSoft.FlexibleTreeView.Design.dll from the
.BinNET4.0 directory and rebuild it.
With next release we will provide separate binaries targeted
all supported .NET framework versions.
With this release NodeCheckBox node control will show highlighted icons of the checkbox or radio button when the mouse hovers over the node control. Current system theme icons supported as well so Flexible TreeView will look like a system control in your application.
Old behavior:
New behavior:
Moreover, users can override any or all such icons using the
Images treeview property.
This release extends our HTML markup support and bring new tag support - TAB that allows to display tabs inside HTML formatted text:
<</span>tab/>Lorem ipsum dolor sit amet, consectetur adipisicing elit.
By default, width of the tab is 20 pixels but you can change it by using the 'width' tag attribute:
<</span>tab width='50'/>Lorem ipsum dolor sit amet, consectetur adipisicing elit.
Please read change log for release details.
Flexible TreeView v3.2 has been released. Bidirectional data binding delivered!
We are happy to announce Flexible TreeView v3.2 which brings new useful features to our users.
This version provides new and useful feature - bidirectional data binding mode. With this feature you don`t need to monitor treeview or bound data source changes. Instead you just enable the DataBinding.BidirectionalMode treeview property and Flexible TreeView will synchronize the treeview or data source for you automatically.
Please, refer to the topic Bidirectional mode for details. Topics Data Binding. Get started, Prepare data source and Inspection was updated as well with new information and samples.
With previous versions our users was able to use the DataBindingElementAttribute attribute to tune the data binding result. The new version of Flexible TreeView expands this attribute to provide more options to decrease the amount of additional code that users need to write manually.
Now, if data source fields have this attribute applied with the same values of the DisplayName property, all of them will be automatically displayed (grouped) under one column with the caption indicated in DisplayName property. In this case the order they are displayed in the column will be identical to a sequence order of the fields in a data object class.
The AutoSizeColumn property has been added. When enabled, the width of a generated column calculated automatically based on the content in this column.
Please read change log for release details.
Flexible TreeView v3.1 maintenance release has been released. All users need to upgrade to this version.
Flexible TreeView v3.1 maintenance release has been released. All users need to upgrade to this version.
Please read change log for release details.
Need more time to try all Flexible TreeView features but trial period has expired?
Have a popular web resource for developers?
Get up to 20% discount for Flexible TreeView licenses
and every Subscription renewal!
For additional information on discounts, please
contact us.
Flexible TreeView v3.0 has been released with impressive performance improvements. Now Flexible TreeView is the fastest treeview control on the market!
After a long period of development, we are pleased to offer you the new major release. This release doesn`t contain many visual changes, instead it has great internal changes, making it possible for users to work with data on a new, much better level.
The redesigned control architecture is a key upgrade in this release. This makes it possible to increase operating speed by 90% with a high number of nodes, in both bound and unbound modes. Working with Flexible TreeView, your users will be able to accomplish their tasks as quickly as possible.
With these changes, Flexible TreeView now is the
most fastest among all tree-like controls on the market.
In some cases, Flexible TreeView 150 times faster than
other controls.
Below there are the results of comparing node addition speed
(unbound mode) and data source loads (bound mode) for Flexible
TreeView and some other treeview controls from the best-known
vendors on the market.
Used pseudo code for bound mode:
tree.ClearAllNodes(); object dataSource = GenerateDataSourceItems(itemsCount); StartTimer(); tree.BeginUpdate(); tree.DataSource = dataSource; tree.EndUpdate(); StopTimer();
Used pseudo code for unbound mode:
tree.ClearAllNodes(); StartTimer(); tree.BeginUpdate(); for(int i=0; i<</span>nodesCount; i++) { Node node = new Node("Node"+i); Tree.Nodes.Add(node); } tree.EndUpdate(); StopTimer();
The table below shows how quick treeviews can add the specified amount of nodes.
| Product | 1000 nodes, sec. | 10.000 nodes, sec. | 100.000 nodes, sec. | 1.000.000 nodes, sec. |
|---|---|---|---|---|
|
Flexible TreeView bound mode |
0.013 |
0.047 |
0.39 |
5.18 |
|
Flexible TreeView unbound mode |
0.055 |
0.25 |
2.16 |
21.7 |
|
Microsoft .NET Treeview unbound mode |
0.054 |
1.38 |
86.16 |
unacceptable long |
|
DevExpress XtraTreeList bound mode |
0.017 |
0.23 |
51.23 |
unacceptable long |
|
DevExpress XtraTreeList unbound mode |
0.03 |
1.75 |
321.09 |
unacceptable long |
|
Telerik RadTreeListView bound mode |
0.45 |
5.05 |
205.12 |
unacceptable long |
|
Telerik RadTreeListView bound mode |
0.45 |
5.1 |
209.49 |
unacceptable long |
* The table shows average performance calculated
for many iterations.
** Tests was
executed on the same hardware.
Also, please check the 'Huge data source' new sample in the supplied Samples Suite demo application where you can test the Flexible TreeView performance manually.
In fact, the availability of columns influences the speed of
adding and deleting nodes in Flexible TreeView. If there are
columns in the tree, when changing node content, it
doesn't need to recalculate maximum width of all
nodes in order to show a horizontal scroll, meaning that its work
is significantly accelerated.
If the treeview contains no columns, with each change the
treeview must recalculate maximum width of all nodes,
which can slow work down if there are many nodes.
Therefore, in order to accelerate your work with nodes, you should add at least one column, if possible.
Flexible TreeView also offers a very useful feature - Smart Vertical Scroll. When selecting a node,
smart vertical scroll feature scroll the treeview automatically
in a horizontal direction, in order to show user the selected
node (in a multi-level treeview), meaning that there is no need
to scroll manually. At the same time, scrolling speed was
formerly constant and some users found it to be fast, others
found it too slow.
In this release, we offer the developer the opportunity to adjust
the speed of auto-scroll, using
the SmartVerticalScrollSpeedFactor treeview
property. This makes it possible to adapt to user preferences.
Also, some bugs have been fixed. Please read change log for details.
Flexible TreeView v2.8 has been released with the possibility to move the plus-minus sign into other non-first column; display other node controls on the left side of the plus-minus sign and much more.
We are pleased to present you with the new version 2.8 of
Flexible TreeView, which provides more flexibility when dealing
with hierarchical data.
We thank our users for their feedback. We always trying to review
each feedback individually and implement it in the next new
versions if possible.
Currently we are working hard to port Flexible TreeView to
Silverlight and WPF platforms;
alongside we are considering the possibility of implementing
Flexible TreeView on ASP.NET and Windows
Phone 7. Thus, you will get the opportunity to work with
hierarchical data on the desktop platforms as well as in the Web.
The main new feature of this release is that now you get the possibility to move the plus-minus sign into other columns and to display node controls on the left side of the plus-minus sign – these give you even more flexibility when displaying hierarchical data.
From the developer's point of view nothing has changed – all
node controls on the left side of the plus-minus sign
work as before, i.e. support editing, alignment, animation,
etc.
From the user's point of view, now the information is perceived
even more easily since you can quickly and non-intrusively
display any data on the left side of a node to attract user's
attention; at the same time the interface is still
user-friendly.
Please check this topic for details.
In the previous versions there was the DragDropOptions.AutoMoveNodes property which let automatically move nodes in a tree on drag & drop. The new version extends the aforementioned possibilities and replaces DragDropOptions.AutoMoveNodes property by the DragDropOptions.DropAction property where you can choose various automatic actions on drag & drop. Now it is sufficient to modify only one property to let the tree perform complex operations.
Available actions:
Please check this topic for additional details.
Before NodeImage node control allowed to display only a static image. This release expands the possibilities for an interaction with a user and allows to display another image when the mouse cursor hovers over the node control.
You just need to set a node class member in the HoverDataFieldName property where such an image is stored.
Please check this topic for additional details.
Usually, Flexible TreeView license can be installed using Visual Studio. If Visual Studio isn't installed on the computer or build machine you can install your License Key using the supplied License Manager console application located in the ToolsLicenseManager.exe file in the Flexible TreeView installation folder.
Please check this topic for additional details.
We would appreciate your feedback concerning new and existing possibilities of Flexible TreeView. In case you could not find some features in Flexible TreeView, please inform us about it and we shall consider the possibility of implementing them in new versions.
Flexible TreeView v2.7 has been released with completely reimplemented data binding support.
Download the trial now to see all new features in action in the complete demo application.
See the Change log for complete list of changes.