View previous topic :: View next topic |
Author |
Message |
Infralution
Joined: 28 Feb 2005 Posts: 5027
|
Posted: Wed Apr 05, 2006 9:21 am Post subject: Version 2.5.0 Released |
|
|
Version 2.5.0 of Virtual Tree has now been released. This release includes the following fixes and new features:
* Added EnableRowCaching property (defaults to true). This allows you to control the caching of rows by Virtual Tree. If this is true then Virtual Tree will cache items retrieved from the Data Source and their associated child collections in a Row object. If set to false then Virtual Tree will only keep those rows needed for the current state of the tree. Typically this is the visible rows and any expanded or selected rows. Using the default value of true will typically give much better scrolling performance at the expense of some memory usage.
* Added support for RightToLeft layouts to Virtual Tree and Controls library (by simply setting the control RightToLeft property). This allows you to change the layout of Virtual Tree to support RightToLeft languages such as Arabic and Hebrew. RightToLeft layout can also be set for individual columns, cells or column headers using the Style.RightToLeft property.
* Fixed drawing flicker issue when scrolling a Virtual Tree with pinned columns. With large number of columns there was a visible delay between the drawing of the pinned columns and the scrollable columns. This effect was particularly noticeable when moving a selection using the keyboard arrows. All painting is now done on the main window control surface allowing it to be fully buffered and synchronized.
* Fixed problem with Customize columns window not scrolling when the number of available columns is greater then can be displayed in the window
* Fixed disabled appearance of VirtualDropDownList control when running under .NET 2.0 framework
See the Release Notes for full details. _________________ Infralution Support
Last edited by Infralution on Mon Apr 10, 2006 1:40 am; edited 1 time in total |
|
Back to top |
|
|
flc.net
Joined: 21 Jun 2005 Posts: 89 Location: Switzerland
|
Posted: Wed Apr 05, 2006 1:14 pm Post subject: |
|
|
Hello Infralution Team
The version 2.5 rocks! We have huge trees and this new version performs great. The "Pinned Flicker" problem is now solved too.
We have just one problem. We change a lot of data directly within the DataSet (add/remove rows, changing values of columns and so on).
But the changes are not visible on the tree. We have to call vt.UpdateRows() to refresh the data. Version 2.4 works fine.
Do you have an idea what's wrong? I tried to reproduce the error in a sample app... but you know Murphy
Thanks and best regards
Giuseppe |
|
Back to top |
|
|
Infralution
Joined: 28 Feb 2005 Posts: 5027
|
Posted: Wed Apr 05, 2006 11:14 pm Post subject: |
|
|
I'm glad you like it - a lot of work went into restructuring to allow for RightToLeft layout and fix the flicker issue.
I've just done some playing with our DataSet sample (adding, deleting and changing items) but haven't been able to replicate the problem. Until you can give us a bit firmer idea about what the conditions in your app are that give rise to the problem we may be a little stuck.
One change that may be having an effect is that in this version we bracket the OnLayout method with calls to SuspendDataUpdate and ResumeDataUpdate. This allows Virtual Tree to handle the case where a Data Source raises ListChanged events from within code called by OnLayout. Previously this would cause errors due to the code not being re-entrant. _________________ Infralution Support |
|
Back to top |
|
|
flc.net
Joined: 21 Jun 2005 Posts: 89 Location: Switzerland
|
Posted: Fri Apr 07, 2006 7:09 am Post subject: |
|
|
Hello Support
I got it
I inherit VT like this:
Code: |
public class MyTree : VirtualTree
{
public MyTree()
{
base.ShowRootRow = false;
}
[DefaultValue(false)]
public override bool ShowRootRow
{
get{return base.ShowRootRow;}
set{base.ShowRootRow = value;}
}
}
|
Setting the base.ShowRootRow to false in the Constructor, invokes PerformLayout()
PerfomLayout() invokes OnLayout()
OnLayout() invokes SuspendDataUpdate()
In the OnLayout() you check the ClientSize. If it is 0;0 you exit the Method, without calling ResumeDataUpdate()
Regards, Giuseppe |
|
Back to top |
|
|
Infralution
Joined: 28 Feb 2005 Posts: 5027
|
Posted: Fri Apr 07, 2006 9:03 am Post subject: |
|
|
Yes you are right - we'll fix that ASAP. _________________ Infralution Support |
|
Back to top |
|
|
Infralution
Joined: 28 Feb 2005 Posts: 5027
|
Posted: Mon Apr 10, 2006 1:42 am Post subject: |
|
|
OK we've now released Version 2.5.1 which fixes this issue. _________________ Infralution Support |
|
Back to top |
|
|
|