What's new in Flexible TreeView 5.1.3
Dec 1, 2016
- New features:
- The Ctrl+click and Shift+click behavior now respects the Options.Selection.SelectionMode option.
- Improvements:
- The NodePopulating treeview event is now firing as well when a new data source item has been added in bound mode.
- Handle the case when parent form is closed from a treeview event handler.
- Bug fixes:
- A child node's ControlContainer is not shown if child node was attached to a detached parent node.
- Application freeze on disposing the treeview with many nodes.
- Hidden nodes were not detached from parent node when treeview was cleared.
- An ArgumentException is thrown in case both parent and children nodes are shown and hidden sequentially.
- The CreateBoundNode treeview method has not been called in bound mode when a new data object is added to the data source.
New in Flexible TreeView 4.3 (Jan 6, 2016)
- New features:
- Visual Studio 2015 and .NET 4.6 support added.
- NodeMarker node control added.
- NodeComboBoxString node control added.
- NodeDateTime's editor min & max values support added.
- NodeDateTime support of Nullable data type added.
- NodeDateTime.PlaceholderText property added.
- Improvements:
- Use DataColumn.Caption value, if defined, for auto-generated column while data binding.
- Treeview rendering performance improvements while handling non-IConvertible data types in bound mode.
- NodeImage node control now support more generic System.Drawing.Image data type instead of System.Drawing.Bitmap.
- Bug fixes:
- HtmlTextHelper.TextToHtml has produced an incorrect result when converting HTML text with both < and & tags.
- NodeDateTime crashes when trying to edit a dummy 1/1/1001 date.
New in Flexible TreeView 4.2 (Jul 7, 2015)
- NodeCheckBox node control now supports boolean properties in bound mode.
- Documentation update.
- Switch the SamplesSuite project to Visual Studio 2008 and .NET 4.0
- An unhandled exception raised when trying to edit.
New in Flexible TreeView 4.1 (Mar 9, 2015)
- New features:
- Knowledge Base was merged with developer reference and available both online and in the installation.
- Treeview transparent background support.
- The background-color HTML tag support.
- Ability to track the treeview horizontal scrolling.
- Ability to override the DataProvider for each summary.
- Ability to override the condition of when an expandable control became expanded.
- Allow to substitute the tree column instance on data binding by overriding the CreateBoundColumn treeview method.
- Ability to show the columns choose form from code.
- Improvements:
- Regex support for FindChildNodeByText and FindChildNodesByText node methods.
- Bug fixes:
- Memory leak while disposing the treeview.
- The bound DataTable changes tracking produced duplicate nodes when the DataTable was re-bound multiple times.
New in Flexible TreeView 4.0 (Dec 16, 2013)
- New features:
- The column controls was added to decorate the column header with quick action buttons.
- The NodeButton node control was added to display a button inside the node.
- The ability to clone the BindableNode class instance was added to support the copy-paste functionality in bound mode.
- Now on the node can be expanded even if it was not added to the treeview or has no children nodes.
- The eNodeControlFilterMode.UseVisibility mode was added to filter node controls visibility using their Visibility property.
- The Node.Tag property was added to hold any user-defined data bound to the particular node.
- The NodeCheckBox node control support of boolean and Nullable data types in the unbound mode was added.
- The Node.FindChildNodesByText method was added to search for the children nodes by their Text.
- The NodeEditorAdjust treeview event was added to manually adjust the node editor location when user starts the node field edit.
- Improvements:
- The double and byte data types are now supported in the bound mode.
- The treeview databinding major improvements when using DataBindingElementAttribute attribute.
- When the text wrap mode is enabled the 'new line' delimiters (\r\n, \r and \n) are supported now and wrap the text behind them to the new line.
- The treeview columns search possibilities improvements. The treeview.Columns.Find(point) and treeview.Columns.GetColumnAt methods were added.
- An unbound node control not retrieves values from the bound object instead of BindableNode directly.
- The MouseActionArgs.Column property was added that holds the column on which the mouse cursor was located at the time of the event.
- Bug fixes:
- Treeview freeze when children nodes being added dynamically to a lazy loaded parent node and having the mouse over the treeview.
- The NullReferenceException is thrown when binding a sortable data source.
- Treeview crashes when the node controls list is cleared while mouse is moving over the treeview.
New in Flexible TreeView 3.7 (Mar 8, 2013)
- New features:
- Visual Studio 2012 support added.
- .NET 4.5 support added.
- The IMG HTML tag support added.
- The NodeComboBoxEnum node control added to display and edit enum data fields with no additional coding.
- The MinHeight and MaxHeight node properties were added to limit node maximal and minimal allowed height when the AutoNodeHeight mode is enabled.
- The Colors.SummaryColorCollection treeview colors collection added to override summaries` theme colors in design-time.
- Ability to inject a custom node control when binding the data source.
- Improvements:
- The bound fields of Enum data type out-of-the-box support has been added.
- The node now would not change the mouse cursor to the Hand under a HTML link if node is disabled.
New in Flexible TreeView 3.6 (Feb 11, 2013)
- New features:
- The NodeColumnBackground node control has been added to customize node background.
- The NodeProgressBar.StartColorFieldName and EndColorFieldName properties have been added to be able to bind and customize the progress bar colors per node.
- Improvements:
- The Node.Find method has been added to search nodes of the specified type with a predicate.
- Posibility to inject a data converter between the bound data source and treeview for bidirectional auto-conversion of the treeview unsupported data types back and forth.
- Added possibility to override the NodeProgressBar node control`s bar colors per theme for all nodes in the treeview.
- Bug fixes:
- The NullReferenceException exception is thrown when refreshing the data source and mouse is staying over the treeview.
- Newly created node`s Id property is not filled with the corresponding value from the data object when a new data object added to a bidirectional data source.
- The NodeComboBox.MaxDropDownItems property value was not used properly.
- The value of the field which name is specified in the DataBinding.ParentFieldName wasn`t updated when moving the node between other child nodes in the new parent in data-bound and bidirectional modes.
- New data objects are created in the attached data source if BoundMode=false but BidirectionalMode=true instead of updating existing object.
- Not all children nodes were moved to the new parent node when removing old parent node and treeview is bound to a data source.
New in Flexible TreeView 3.5 (May 22, 2012)
- New features:
- The DataBindingElementAttribute.ReadOnly property has been added to bound readonly properties to the treeview.
- Improvements:
- The CurrentEditor treeview property has been exposed to get a node control that is currently shows the editor.
- The TreeColumn.Bounds property was exposed to get the column bounds.
- Breaking changes:
- The Node.IsVisible property has been renamed to IsRowVisible.
- Bug fixes:
- The NodeColorPicker node control requests the node property instead of bound data object in the bound treeview.
- The treeview cursor is not restored sometimes after the column resize.
- The treeview layout broken when last visible column is hidden.
- The NodeComboBox node control`s editor commits changes right after the selected item has changed, not awaiting for confirmation from user.
- The InvalidOperationException exception may be thrown when treeview is intensively redrawn and has a NodeControlContainer node control.
- The HtmlTextHelper.TextToHtml method does not convert symbol '&' within supplied text into a correct html representation.
- Bound data row become in 'Deleted' state when moving the node by d&d or from code.
- Bad performance of a bound treeview in debug mode.
- The KeyDown and KeyUp treeview events` IsBeforeAction argument always has value TRUE.
- Compilation error in the C++ projects.
- The Samples Suite project starts slowly under VS debugger.
New in Flexible TreeView 3.4 (Dec 17, 2011)
- New features:
- Interactive check state in data bound mode now is supported.
- The NodeCheckBox node control now supports binding to bool, Nullable, int, Nullable and eCheckState property types.
- Improvements:
- The Interactive check state calculation algorithm now doesn`t take into account nodes with hidden NodeCheckState node control.
- Bug fixes:
- .NET 4.0 Client Profile application build error when Flexible TreeView is referenced.
- Hidden node control still appear in the drag & drop thumbnail image.
- The Node.AddRange method throws NullReferenceException exception when called for a node that is not added to the treeview.
- Exception thrown when an attached control that cannot receive focus was clicked.
- The treeview throws NullReferenceException exception when his structure being changed and redraw operation occurs simultaneously.
New in Flexible TreeView 3.3 (Sep 24, 2011)
- New features:
- Separate built assemblies for .NET 2.0, 4.0 and 4.0 Client Profile.
- NodeCheckBox node control now shows highlighted icons when the mouse hovers over the node control.
- Possibility to override hot icons used by the NodeCheckBox node control by custom images has been added.
- The new HTML markup tag has been added to insert tabs into a HTML formatted text.
- Improvements:
- NodeComboBox node control now automatically shows the drop down list when node edit started.
- Bug fixes:
- The treeview.Nodes.Clear method didn`t clear SelectedNode/FocusedNode values.
- Node control`s custom cursor was not taken into account and changed to default when the node control was clicked.
New in Flexible TreeView 3.2 (Aug 24, 2011)
- New features:
- Bidirectional (two-way) data binding.
- The DataBindingElementAttribute.AutoSizeColumn property added to autosize generated columns in bound mode.
- Breaking changes:
- All data source fields with the same DataBindingElementAttribute.DisplayName value now shown in one column.
- Treeview.Columns.GetColumns method was renamed to FilterColumns to clearly reflect the method purpose.
- Bugs:
- The node with an attached user control didn`t clear current selection when this control is clicked.
New in Flexible TreeView 3.1 (Jul 18, 2011)
- New Feature:
- Treeview.PageScrollRowCount property has been added to define the amount of rows to scroll when the PageUp or PageDown keys was pressed.
- Improvement:
- Possibility to override the column header text and icon appearance by overriding the DrawText and DrawImage TreeColumn methods.
- Bug:
- Flexible TreeView with animated NodeImage node control hangs when disposed.
- Wrong width calculation of the auto-sizable column.
- Exception is raised when node is collapsed while the mouse was under a child node.
- Wrong node controls layout when they span columns and a node control before the plus-minus sign is present.
- Child nodes are invisible for a parent with load-on-demand enabled in some cases.
- Treeview do not expand the node with the load-on-demand enabled when the Right key is pressed.
- Node editor is not hidden when a modal window was displayed from the NodeEdited event handler.
- The plus-minus sign was displayed in the drag&drop thumbnail image while should not.
New in Flexible TreeView 3.0.1 (May 5, 2011)
- New Feature:
- SmartVerticalScrollSpeedFactor treeview property added to be able to control the smart vertical scroll speed.
- NodeIndexChanged treeview event has been added to notify about node index changes.
- The Find(Func predicate) node method has been added to search for nodes with a predicate.
- Improvement:
- Performance improvements when adding many nodes to the treeview.
- Performance improvements when working with big data sources in the treeview.
- NodeInserted and NodeRemoved treeview events now raised when node parent has changed.
- NodeCheckBox node control now raises the NodeEditValidate and NodeEdited treeview events when user changes node check state.
- 'Node. Load on demand' Knowledge Base topic has been added.
- 'Treeviews performance comparison' Knowledge Base topic has been added.
- Bug:
- Wrong node editor position when user interaction take in place before editor was shown.
- 'Access to the disposed object' exception raised if start edit node in the recreated treeview.
- Broken nodes layout in the treeview with many node levels.
- Row background incomplete update when using Node.Invalidate method.
- Error when many treeviews bound to data simultaneously.
- Error when many data bound treeviews created simultaneously.
- Wrong an image property data binding result in some cases.
- Wrong scroll position when scrolling using the mouse wheel in the unfocused treeview.
New in Flexible TreeView 2.8 (Nov 21, 2010)
- New Feature:
- An ability to move the plus-minus sign into other non-first columns has been added.
- An ability to display node controls on the left side of the plus-minus sign has been added.
- NodeImage.HoverDataFieldName property has been added to auto-display other image when node control is under the mouse cursor.
- NodeImage.UseHoverImageForSelectedNode property has been added to use hover images for selected/focused nodes.
- eEditStartMode.ClickOnSelected (option for the EditStartMode node control property) mode has been added to start edit only when an already selected or focused node has been clicked.
- Improvement:
- NodeEdited treeview event contract has been expanded and now provides node member`s old and new values.
- Double click on the editable node control do not starts edit of this node control now.
- Treeview performance has been increased when node controls are bound to non-existing node`s members.
- Breaking change:
- Treeview.DragDropOptions.AutoMoveNodes property has been replaced with the DropAction property with Notify, AutoMove, AutoCopy, AutoMoveOrCopy modes.
- The DragDropState.RealNode treeview property has been renamed to RealTargetNode.
- Bug:
- Color editor didn`t apply color changes automatically when the mouse cursor hovers over the color box.
- Exception thrown in the MouseUp event handler when mouse down logic is customized by user.
- Exception thrown when a non-selected node is focused in the treeview with selection validation activated.
- Node control`s editor doesn`t update own location properly when other node was highlighted.
New in Flexible TreeView 2.7 (Aug 4, 2010)
- New Feature:
- Data binding support completelly reimplemented.
- Improvement:
- NodeCheckBox node control now can be bound to a boolean field as well as to a eCheckState.
- Breaking changes:
- Now treeview doesn`t clear selection if mouse has clicked on a selected node.
- Bug:
- Exception thrown when user right clicked on the non-column space.
- Exception thrown in some cases when disposing the treeview control.
- Expandable control doesn`t store the title font style properly.
- Treeview crashes when the Home/End key is pressed in the treeview without focused node.
New in Flexible TreeView 2.6 (May 14, 2010)
- New Feature:
- Visual Studio 2010 support and integration has been added.
- Bound data access speed has been greatly improved.
- The NodeDateTime node control has been added to display and edit date/time in the treeview.
- The FillFreeSpace column property has been added to auto-stretch the last column to fill all available treeview free space.
- The NodeEditorHidden treeview event has been added.
- Improvement:
- The node control edit, started by an edit hot key (NodeControl.EditHotKey), now begins without delay, specified in the EditStartDelay treeview property.
- Bug:
- The treeview doesn`t start edit if data is empty.
- Wrong nodes order when sorting data by the NodeNumeric node control.
- The NodeNumeric edit control shows entered digits incorrectly.
New in Flexible TreeView 2.5 (Mar 14, 2010)
- New Feature:
- NodeProgressBar new node control has been added to show the progress bar in the treeview.
- CreateDragDataObject treeview method has been added to be able to customize the drag & drop data type and content to drop nodes into external applications.
- IAttachableControl interface has been added to dynamically interact with attached through the ControlContainer custom controls.
- Invalidate node method has been added to update only the specific node in the treeview.
- AllParentNodes node property has been added to easily enumerate all node`s parent nodes.
- IsChecked node property has been added to quickly check whether the node is checked.
- Improvement:
- HotNodeChanged treeview event`s contract has been extended to provide information about both previous and new hot nodes.
- Bug:
- HotNodeChanged treeview event raised twice when the mouse hover over the column header.
- NodeCheckBox doesn`t update the bound property when check state has changed.
- Treeview crashed when the node with attached controls is detached.
- StackOverflowException exception raised on drag & drop from an external application.
- Treeview doesn`t scroll by the mouse wheel with some mouse settings.
- Treeview doesn`t hide the node editor when scrolls by scroll bars.
- Breaking changes:
- IsSimpleSelection treeview property has been renamed to HasSimpleSelection.
New in Flexible TreeView 2.3 (Jan 6, 2010)
- New Feature:
- ColumnSpan node control property added to allow node control to span the specified columns count.
- Wrap node control property added to allow to move node control under all previous node controls.
- Options.NodeControl.DynamicColumnSpan treeview property added to dynamically control the node control`s column span value.
- NodeControlColumnSpan treeview event added to dynamically set the node control`s column span value.
- Visibility and VisibilityManager node control properties added to define the node control`s visibility within a node in different states.
- ImageAlign column property now has the eColumnImageAlign type and new alignment Center has been added to center the column image.
- IsHot node property added to check whether the node is under the mouse cursor.
- IsVisibleForNode node control method added to manually control the node control visibility for every node in the treeview with many nodes.
- eObjectVisibility.GeneralNode mode added to be able to display a node control or control container for a node that`s not selected, not focused, not hot and not soft selected.
- IHtmlTagInspector interface has been added to be able to control every html tag`s appearance shown in the treeview.
- Improvement:
- Performance improvements when using a visibility manager in the treeview with many nodes.
- Bug:
- Node doesn`t display summaries correctly.
- Unwanted 'License violation' message in some conditions.
- Cannot deselect the last selected node when the AllowEmptySelection treeview option is enabled.
- The SelectionChanged treeview event isn`t raised when an already selected node has been focused in the treeview with multiselection enabled.
- Breaking changes:
- 'TreeView' node, node control and column properties was renamed to 'Treeview' to maintain consistency with other classes.
New in Flexible TreeView 2.1 (Jan 6, 2010)
- Bug:
- Hosted custom controls is not visible in the treeview.
New in Flexible TreeView 2.0 (Nov 26, 2009)
- New Feature:
- Summary support has been added to display an aggregation operation result.
- NodeSeparator node control added to show the separator line in the node.
- PaintRowBackground treeview event added to allow to override every node`s background.
- IndexableNode node added to easily create the node with an identifier.
- Improvement:
- SelectionChanged treeview event now raises when the node has been detached from the parent node as well.
- NodeControl.ExcludeFromSelection option now can be applied in the Partial highlight mode as well.
- Bug:
- Empty node instance in the NodeControlPopupShowing event parameter.
- Node controls in the hidden column taken into account when calculating the node height.
- Wrong node index in some cases when reorder nodes by drag & drop.
- Arithmetic overflow exception on Windows 7 when treeview is scrolled by the mouse wheel.
- The color/gradient property designer raises exception in some cases.
- Breaking changes:
- eNodeControlVisibility type has been moved from the ARMSoft.FlexibleTreeView.Nodes to the ARMSoft.FlexibleTreeView.NodeControls namespace.
New in Flexible TreeView 1.4 (Oct 16, 2009)
- New Feature:
- DragDropOptions.AllowReorder property added to allow user to simply reorder nodes by drag & drop (multiselection is supported) when AutoMove is enabled.
- Column context menu added.
- HTML tag support to show the strikeout text.
- Node.Deselect method added to deselect a selected node.
- DoDragDropNodes treeview method added to start drag & drop programmatically.
- Popupable node control improvements:
- NodeControl.AutoFocus property added to auto-focus the popup`s control when it has been shown.
- Treeview.NodeControlPopupShow event has been replaced by NodeControlPopupShowing and NodeControlPopupShown events which are raised before and after popup show respectively.
- Treeview.Select(Node[]) method added to select many nodes by one method call.
- Treeview.LocalizeText event added to allow easily localize a text, used in the treeview.
- Treeview.Options.Node.FocusOnControlClick property added to focus the node when an attached custom control was clicked.
- Node.Checked property added to easily change the node`s check state.
- Improvement:
- When an attached custom control got focus, the unfocussed parent node, where this control is hosting, will be focused.
- Treeview.OnDragDrop event now raises anyway even if the node auto-move feature is enabled to notify about drag & drop finish.
- API improvements:
- Node.Selected property has been renamed to IsSelected and setter removed. To select node use the Select node method.
- Node.Focused property has been renamed to IsFocused and setter removed. To focus node use the Focused node method.
- Bug:
- Wrong text size calculation in some cases.
- Wrong NodeCombBox dropdown items retrieving when interactive dropdown list is enabled.
- NodeControl.MouseMove didn`t call properly on node drag & drop.
- Wrong selection state of other selected nodes after node detach.
- NodeControlContainer shows the attached control in a wrong place on drag & drop start.
- Treeview doesn`t allow to drag many selected nodes if there`s no focused node.
- Treeview keeps the 'deny' cursor after drag & drop if the nodes drop has been denied.
- NodeComboBox throws an exception on edit start when it is bound to the unknown class`s member.
New in Flexible TreeView 1.3 (Jun 6, 2009)
- Custom controls hosting support
- Popups to popup any content in the node
- Built-in color picker
- New demo application
New in Flexible TreeView 1.2 (Mar 10, 2009)
- HTML text tags support
- Text auto-wrapping
- Treeview performance improvements. Now loading 10 000+ nodes takes less than 0.5 second!
- TextComboBox control - pay for one component to get two!
- Drag & drop improvements
- Node selection improvements and much-much more...
New in Flexible TreeView 1.1 (Dec 9, 2008)
- New state-of-the-art demo "Multimedia Explorer" which is demonstrates how easy to build an image files preview application.