.NetGrid v2.9.3 has been released.
A new grid version containing mostly error fixes and performance improvements has been released. The following improvements have been made: [NEW] Significantly improved cell painting performance. Fixed an error with the grid re-painting the entire row on a notification from a field for which the column is hidden or non-existent. [NEW] Improved the Grid’s disposal [...]
.NetGrid v2.9.2 has been released.
A significant increase in productivity when working with objects that implement the INotifyPropertyChanged interface The following bug has been fixed: [BUG] Fixed a bug where the grid redraw the content of the entire row upon receiving notification from INotifyPropertyChanged interface for missing or hidden column. [BUG] Fixed minor bugs in the designer.
.NetGrid v2.9.0 has been released. New features and bug fixes
We are glad to introduce a new grid version with improved performance and stability. We have added dozens new tests to cover various grid functions. We want to thank our customers for their feedback on products and ease of use and critical comments that help us make our products best on the market. The following [...]
Using Application.DoEvents() in real-time applications is dangerous!
It has been numerously written that Application.DoEvents() method is not desirable, especially for high-performance applications. There are many reasons for this starting from message processing procedure and ending with non-evident problems with application response to user activity and code execution. In most cases programmers use this method without thinking of consequences or its working principle. [...]
.NetGrid v2.8.4 has been released. Improvements when CPU is heavily loaded.
This version contains bug fixes and performance improvements. The following features have been added: [NEW] Greatly improved the reliability and responsiveness of the grid when the CPU is heavily loaded. The following bugs have been fixed: [BUG] Fixed a bug in the column configurator which in some cases does not allow reordering of visible columns. [...]
.Net performance. Practical recommendations
Even the best performing component can be hindered by incorrect use. Below we provide practical recommendations on what should be used or avoided in application programming. Following the tips below you will be able to create applications with the same efficiency as this demo application. We also provide source codes for this example to show [...]
.NetGrid v2.8.0 has been released. RTL support, performance improvements
We are happy to announce that a new grid version is out. The version 2.8.0 of .Net Grid has a lot of new performance improvements and new features. Performance improvements Significantly improved BindingList performance, especially with objects implementing INotifyPropertyChanged interface. Here you may learn about causes of poor performance and methods for performance improvement. Significantly [...]
Why BindingList is slow with objects implementing INotifyPropertyChanged interface
A BindingList<T> is the main tool for binding objects to grids. It is a container that may notify subscribers when data is added or removed. For this purpose it provides public ListChanged event that specifies collection changes with ListChangedType. Besides changing the collection itself (adding, removing, etc) the binding list notifies of data object changes. [...]
Realtime cell highlighting
Financial markets are lately becoming increasingly volatile and this generates a huge volume of information that has to be displayed in trading applications. Any changes of price or the number of sales/purchase offers for various financial instruments have to be displayed at trader’s screen. Visually it looks as highlighting relevant grid fields for specified time. [...]
Performance of synchronization with GUI thread
It is well known that all graphical controls should work in one thread. There are many articles on this subject, so we shall not repeat them. In multi-threaded applications every call should be synchronized with the main thread containing windows message loop. Control is a base class that provides Control.Invoke and Control.BeginInvoke methods. The first [...]