Flexible TreeView

RSS: Flexible TreeView

http://www.flexibletreeview.com/rss.html

Publisher: ARMSoft

Flexible TreeView

Windows Forms and WPF most flexible and fastest .NET TreeView-ListView-Grid control for C# or VB.NET. Provides powerful solution for presentation of hierarchical data.
Black Friday discounts
Thu, 17 Nov 2016 05:00:47 -0500

Black Friday is going to come while our 50% discounts already here. Go get it!

Black Friday is always been a magic day for the whole world when something special comes true.

We want to be a part of this 'special' and provide you 50% discount to any new license or Subscription renewal right now! Just use BF2016 coupon when placing your order.

Hurry up, the deal ends on 26 Nov.

 

Thank you for staying with us.

Best regards, Flexible TreeView Team.

Flexible TreeView v5.1
Mon, 17 Oct 2016 10:54:18 -0400

We are happy to deliver v5.1. A lot of changes and improvements!

This release brings some useful features and fixes, so here is what we've delivered so far:

 

Nodes selection improvements

Previously, by clicking a node with Control or Shift keys pressed the treeview didn't look at Options.Selection.SelectionMode treeview option value that could lead to a situation when this option allows to select only one node while treeview allowed to select many nodes. This was confusing to the end-user.

It is now fixed and treeview respect the Options.Selection.SelectionMode treeview option while selecting nodes.

 

Data binding behavior improvements

In previous versions, if new data object has been added into the bound data source the treeview silently adds a new node for this object. This behavior made the treeview changes monitoring harder and spread this monitoring across many places. With new version, the NodePopulating treeview event will be fired for each added data object which allows to monitor such changes in one place, in this event's handler.

 

Possible freeze on parent form dispose

A bug was discovered that could freeze the application for some time if a treeview's parent form was disposed and treeview has a lot of nodes. It was fixed now.

 

Nodes visibility issue when clearing the treeview

There were rare cases when the treeview parent form was needed to close from within the treeview's event handler what lead to an unhandled exception. Flexible TreeView is handling this now and parent form could be closed successfully.

 

Nodes visibility issue when clearing the treeview

Previously, hidden children nodes were not detached from the parent node when treeview was cleared which leads to phantom bugs. It is fixed now.

 

Documentation update

As usually with each release, this release bring some updates to our documentation:

 

{include_content_item 157}

Flexible TreeView v5.0
Sun, 24 Apr 2016 07:02:22 -0400

v.5 is here! Just one but significant feature - the nodes visibility filtering, is here!

We proud to make Flexible TreeView v.5 public to our users. It brings one major but significant and long awaited feature - the nodes visibility filtering.

 

Nodes visibility filtering

The feature's title says what is intended for - to filter nodes in a treeview, i.e., hide or show the treeview nodes depends on some criteria. As always, it is designed to be super flexible, you can control the nodes visibility on many levels, depending on your project requirements and architecture.

node_visibility_b

One of our top priority goals was to make the visibility filtering engine as blazing fast as Flexible TreeView is, and we did this! No matter, either you enable or disable the nodes visibility filtering, it won't hurt your application performance at all.

By incorporating this feature into your project, it will help you to provide a much better user experience to your end-users and deliver more features faster by your developers.

Read our updated Knowledge Base to understand how the nodes visibility filtering is working.

 

Documentation update

Also, we've done quite a big update in our documentation. Now all recently changed or added topics are marked with a check mark over their icon on the left, so you can quickly find out the documentation changes in every new release. Take a look at it now and see what we've added or changed in this release!

 

{include_content_item 157}

Flexible TreeView v4.3
Mon, 04 Jan 2016 14:00:20 -0500

Happy New Year! New version is here with VS 2015 and .NET 4.6 support, two new node controls and many improvements.

While Flexible TreeView is a feature-rich and stable product our team is eager to listen our users' feedback and provide more features to make you daily work easier.

With this release, we deliver Visual Studio 2015 and .NET Framework 4.6 support, two new and cool node controls and many other changes as described below.

 

Visual Studio 2015 and .NET 4.6 support

With this release, Flexible TreeView does support Visual Studio 2015 and .NET Framework 4.6. Just select 'VS2015' while installing Flexible TreeView to install it into Visual Studio 2015 Toolbox.

To target Flexible TreeView for .NET 4.6 you need to add the $INSTALL$\Bin\NET4.6\ARMSoft.FlexibleTreeView.dll assembly reference to your project, where $INSTALL$ is the folder where Flexible TreeView was installed to.

 

New NodeMarker node control

New and useful NodeMarker node control added with this release, which allows do draw vertical, colored lines on the left side of each node. Data binding supported as always. Flexible customization supported as always.

Here is an example of how it could look like in the treeview:

nodemarker

Read NodeMarker documentation for details.

 

New NodeComboBoxString node control

Flexible TreeView already has the NodeComboBox node control that allows to bind an integer value to a list of possible items to select. However, its limitation is that only integer data type could be used which is not a case sometimes.

With this new release, we deliver NodeComboBoxString node control, which allows to bind to a string property and select its value from a pre-defined list of strings.

Read NodeComboBoxString documentation for details.

 

NodeDateTime improvements

Previously, NodeDateTime node control allowed to enter any valid data while being edited. With this release, we added a possibility to limit the possible entered value with min and max date ranges. To change these limits the treeview.EditorRepository.DateTimeEditor.MinDate and MaxDate properties should be used respectively.

In addition, the Nullable<System.DateTime> data type is now supported by NodeDateTime node control. If date value is NULL then the newly added PlaceholderText string property value is drawn in the node control to guide the user of what is expected to enter into this field.

 

Data binding improvements

Earlier, if System.Data.DataTable was bound to the treeview each column's title was equal to the corresponding column name. With this release, Flexible TreeView inspects the DataColumn.Caption property and uses it if it is specified. The DataColumn.Caption property allows to give the column more human readable title while holding its name more business specific.

 

Hope you will find this release useful for your projects. Please, share with us your feedback.

Read the change log for release notes.

{include_content_item 51}

{include_content_item 157}

Flexible TreeView v4.2
Mon, 25 May 2015 13:14:30 -0400

The maintenance version 4.2 has been released.

The maintenance version of Flexible TreeView 4.2 has been released.

Note that starting from this release, the SamplesSuite samples project will target Visual Studio 2008 and .NET 4.0 instead of Visual Studio 2005 and .NET 2.0.

Read the change log for release notes.

{include_content_item 51}

{include_content_item 157}

Flexible TreeView v4.1
Fri, 06 Mar 2015 15:18:38 -0500

The long-awaited update is here. Completelly rewritten knowledge base has been merged with developer reference and is now available both on the site and with the installation; treeview transparent background support; new HTML tag support and much more...

The long-awaited update is here and below is what we have done so far.

 

Knowledge base changes

With this release we improved our Knowledge Base by merging it with Flexible TreeView developer reference which was only available with local installation, restructured it and make it available both on the site online and with Flexible TreeView installation locally.

New Knowledge Base is available online here. To open it locally just open the Help\FlexibleTreeView.chm help file.

While working with new Knowledge Base you have a possibility to search it by keywords.

 

Treeview transparent background support

Previous versions of Flexible TreeView could not be used on a semitransparent forms because treeview could have only a solid background color. With this release we added the transparent background support which allows to use Flexible TreeView in wider scenarios.

 

background-color HTML tag support

We extend the supported HTML tags list with the background-color tag which allows to change the background color for the inner tags. Read this topic for details.

 

Track treeview horizontal scrolling

The new ScrollXShift treeview property has been exposed to monitor the treeview horizontal scroll shift. It could be useful when creating own custom node controls.

 

DataProvider for each summary item

Previously, the created summary item's DataProvider property was read-only, the data provider was retrieved from a global data providers repository, and changing the data provider for single summary item was impossible. With this release we added the possibility to change the data provider for each summary item just by changing its DataProvider property.

 

Control the expandable control expansion state

Previously, you was not able to control when the expandable node control (like NodeExpandabletextBox) became expanded or collapsed and the node control solely owned this logic. With this release the IsExpanded expandable control property became virtual, so you could override it and customize the expansion logic as you need. For example, it could be useful if you want to prevent some parent nodes expansion while keep their children nodes expandable.

 

Regex support while searching the nodes

With this release the FindChildNodeByText and FindChildNodesByText node methods are able to search the nodes by a regular expression. Just wrap the passed search pattern parameter with ^ and $, that is all.
For example, to find all children nodes with numbers in their text use this code: node.FindChildNodesByText<Node>("^\\d$");
Note that if the passed search pattern does not start with ^ or does not end with $ characters the old search logic by a text part will be used.

 

Substitute the column instance on data binding

With previous versions, while binding a list to the treeview the corresponding columns were created automatically and user had no access to the changing columns there. With this release you can override the CreateBoundColumn treeview method and create own custom column instances while binding a data source to your treeview. It adds more flexibility in the data-bound scenario.

 

Show the columns choose form manually

Tiny but quite useful feature that was requested many times was added in this release. Now you can show the column shooser dialog from the code by calling the ShowColumnChooseForm treeview method.

 

Hope you will find this release useful for your projects. Please, share with us your feedback.

Read the change log for release notes.

{include_content_item 51}

{include_content_item 157}

Flexible TreeView v4.0
Sun, 15 Dec 2013 23:00:00 -0500

Fourth version of Flexible TreeView went public with a lot of new features and improvements. New node control, useful column controls, dozen of improvements and bug fixes to bring our users' productivity to the new level.
Stay tuned! 

Fourth version of Flexible TreeView went public with a lot of new features and improvements. New node control, useful column controls, dozen of improvements and bug fixes to bring our users' productivity to the new level.

So, below is what we've done and happy to present to our dear users.


Column Controls

Column controls are kind of node controls but for columns and they are shown in the column header. You can add as many different column controls to each column as you need, align them, tweak their behavior or appearance or even create custom controls. Your imagination is not limited.

columncontrols_contextmenu

In first release we deliver only DropDownColumnControl column control that allows to display some content in a popup by clicking on its dropdown button. The popup content could be either a context menu, a custom control or you can handle the button click and display what you need manually.

Please read our updated Knowledge Base to know more about new column controls. We would be happy if you will share your feedback about column controls with us.


NodeButton node control

You don't need to implement a custom control to show the button in the treeview anymore! The NodeButton new node control was added to display a button and handle its clicks with the couple lines of code:

nodebutton_sample

All the power of node controls like data binding, node control filtration, node control content alignment/wrapping/trimming, HTML tags support (even for System theme!) and much more is available out of the box!

Please read this new Knowledge Base topic to know more about NodeButton node control.


NodeCheckBox node control improvements

The NodeCheckBox node control was improved to support both bool and Nullable<bool> data types in either bound and unbound modes. So, now just bind a data object with the boolean property and get the checkbox control with no additional effort. The original ARMSoft.FlexibleTreeView.Nodes.eCheckState data type is still supported. 


Data binding improvements

The DataBindingElementAttribute attribute has received a massive update to make the data binding even easier. Now with a single line of code you can control which type of node control will be generated to display the bound data, the generated column width or whether to fill whole column space by a generated node control.

Also, double and byte data types are now supported out-of-the-box and will show the NodeNumeric node control for the bound property of that type.


New node control filtration mode

Till this release Flexible TreeView had the static and dynamic node controls filtration modes. They cover most of the needs but require a bit of additional coding when you just need to adjust the node control's Visibility property and go. For the last case we added new UseVisibility filtration mode which looks only at the node control's Visibility property and shows or hides the node control respectively.

Read this updated Knowledge Base topic for details.

 

{include_content_item 157}

v4 is coming
Tue, 19 Nov 2013 23:00:00 -0500

After a long development we are happy to unveil what we are going to include into the forthcoming Flexible TreeView v4.

After a long development we are happy to unveil what we are going to include into the forthcoming Flexible TreeView v4.
All the new or improved features are directed to make our users' experience with Flexible TreeView easier and to save their time, so here's what we've done in this direction:

Column Controls

Column controls are kind of node controls but for columns and they are shown in the column header. You can add as many column controls to each column as you need, align them to the left or right sides of the column, etc.
Here is how to add the column control:

columncontrols_howtoadd


In first release we will deliver the DropDownColumnControl column control that allows to display some content in a popup by clicking on the dropdown button. The popup content could be either a context menu, a custom control or you can handle the button click and display what you need manually.
Here is what could be done with help of DropDownColumnControl column control:

columncontrols_contextmenu

columncontrols_customcontrol

More column controls will be available in next releases.

 

NodeButton node control

You don't need to develop a custom control to show a button in the treeview! Well, anymore. The NodeButton new node control was added to display a button and react to its clicks with the couple lines of code:

nodebutton_sample

All the power of node controls like data binding, node control filtration, node control content alignment/wrapping/trimming, HTML tags support (even for System theme!) and much more is available out of the box!

 

NodeCheckBox node control improvements

The NodeCheckBox node control was improved to support both bool and Nullable<bool> data types in either bound and unbound modes. So, now just bind a data object with the boolean property and get the checkbox control with no additional effort. The original ARMSoft.FlexibleTreeView.Nodes.eCheckState data type is still supported.

 

Data binding improvements

The DataBindingElementAttribute attribute has received a massive update to make the data binding even easier. Now with a single line of code you can control which type of node control will be generated to display the bound data, the generated column width or whether to fill whole column space by a generated node control.

 

Also, we have fixed some bugs and added dozen of smaller improvements. Stay tuned, the new release will be available soon.

{include_content_item 157}

Flexible TreeView facts
Sun, 02 Jun 2013 06:26:52 -0400

Some interesting facts about Flexible TreeView we would like to share:
- 4.5 years of development.
- 1129 source files.
- 50 000 lines of code.
- 4.73 Mb of source code.
- 43 releases.

 

We glad to share some interesting facts about Flexible TreeView:

  • 4.5 years of development or improvements and continue.
  • 1129 source files.
  • 50 000 lines of code.
  • 4.73 Mb of source code.
  • 43 releases.

We would like to take this opportunity to express our gratitude and appreciation to our dear users for your trust and support you provided to us within all these years. It is an honor for us and this would not have been possible without you.

Stay tuned!

{include_content_item 157}

Flexible TreeView v3.7
Fri, 08 Mar 2013 00:54:46 -0500

Flexible TreeView v3.7 is live. VS2012 and .NET 4.5 support, new node control added, data binding improvements, Enum data type support and much more.

Flexible TreeView v3.7 has been released. It bring some long-awaited features as well as some improvements that would make it even more flexible.

 

Visual Studio 2012 and .NET 4.5 support added

Now, along with available support of .NET 2.0-3.5, 4.0 and 4.0 Client Profile we have added the separate version that target .NET 4.5 which you can find in \Bin\NET4.5 installation directory. Also, when installing Flexible TreeView, the integration with Visual Studio 2012 is available now as an installation option.

 

New node control: NodeComboBoxEnum

To minify amount of additional code that should be written to adapt Flexible TreeView to the project`s requirements we`ve created new node control NodeComboBoxEnum that allows to bind the treeview to an Enum data property and display list of the target enum`s items in a combo box when node edit started.

 

The IMG tag support

New HTML tag, IMG, support has beed added in this release. Now you can embed images from any source (the node`s property, a static property or dynamically received though the GetDynamicImage treeview event) into the node text.

 

Data binding: Inject custom node controls

Previous version of Flexible TreeView had a strict link between the bound data type and created node control which displays and manages such data. With new version this link can be broken and custom node control could be created for any bound data object`s property when binding the data source. It allows, for example, for any particular bound property to change its behavior or appearance by creating custom node control with minimal additional code.

 

Node enhancements: MinHeight and MaxHeight

This release extends the Node class possibilities to control the node height with the MinHeight and MaxHeight new properties. Using them you can limit minimal and maximal height of any particular node when the treeview.Options.Node.AutoNodeHeight property is enabled.

 

The Summary colors access in design-time

The treeview.Colors.Summary color collection has been exposed to allow to override the treeview summaries colors in design-time. All color`s design-time editors are accessible when changing those colors.

 

Please read change log for complete list of changes in this release.

{include_content_item 157}