We have finally released a new version of .Net Grid! New 2.5.0 version contains significantly improved and newly added features that greatly simplify architecture of .Net Grid-based applications. It provides a convenient and well-designed API that makes these features more user-friendly. The main changes concern data editing, data validation, data binding and drag & drop features. The grid is now more user-friendly as it supports a convenient lasso selection feature.
- .Net Grid now supports data validation enabling the programmer to specify whether user value is valid and pick one of the possible actions - cancel editing results, apply new value, ask user to enter a new value, display an error icon or switch to editing another cell.
- Navigation between editors with Enter, Tab, Shift+Tab keys has been added.
- Grid interaction with data sources has been completely refactored. As the result, the grid can now work in thread-safe mode with different data sources including IList, IBindingList, IListSource and with BindingSource and CurrencyManager.
- Ability to bind any row to data sources via Row.DataSource property has been added.
- It is now possible to bind .Net Grid to multiple data sources simultaneously via IListSource interface (e.g. to multiple IBindingList at the same time).
- Data binding can now be combined with Grid.Rows.Add() / Row.Add() methods.
- Ability to build a hierarchy when data objects in one or several properties return collections of other objects has been added.
- It is now possible to create a hierarchy with multiple IBindingList containing objects of different types.
- It is now possible to subscribe to IBindingList events and to objects in IBindingList collections if they implement INotifyPropertyChanged interface. Their thread-safe processing, sorting, filtering, grouping and painting are maintained.
- Conditional binding feature has been added. With this feature the grid asks how the data should be added. For example, if a data object contains a collection of other objects, the programmer can add its collection instead of the object itself, thus skipping a whole hierarchy level in hierarchical binding.
Drag & drop
- A feature of dragging data within a grid and between grids has been added.
- It is now possible to move data on the same hierarchy level and to perform hierarchical dragging of rows while preserving state and hierarchy of dragged objects.
- Full customization of drag & drop process supporting choice of content and various effects, place of insertion and hierarchy is now available.
- Features for dragging and dropping data to external applications (Excel, Word.) and importing data from external applications providing an interface to deserialize data and insertion methods have been added.
- Intuitive automated scrolling where needed during data dragging has been added.
- The grid now supports a new method of user-friendly data selection. When the user moves the mouse with left button pressed, the grid displays a semi-transparent area, and all rows within this area become selected. Various effects are supported when Ctrl or Shift keys are pressed
Other new features of the grid
- A new Header.StretchMode property enables stretching width of all columns so that they evenly occupy the available space.
- Column configurator has been changed.
- The design mode has been completely revamped. Now it is much more programmer-friendly and makes programming much simpler.
- Grid.RowExpanding event has been added.
- It is now possible to adjust height of the group panel.
- Memory consumption while binding to data sources has been reduced and performance has been increased.
- Memory consumption has been reduced by 20% for operations with simple data including objects of arbitrary classes.
- +70 new data binding tests for have been added.
- New RoundButton control has been added.
The following bugs have been fixed:
- Loss of focus when editing data in a control above a cell.
- Many data binding errors have been fixed.
Dapfor .Net Grid continues to be the most productive component on the market. Our developers are constantly adding new features and thinking about performance improvement. Here are the key parameters of the grid:
- Dapfor .Net Grid benchmarks
- High insertion rate: > 100 000 rows/second
- High removal rate: > 600 000 rows/second.
- High grouping rate: > 60 000 rows/second
- High real-time regrouping rate: > 10 000 rows in a grid of 5 000 rows per second
- High real-time filtering rate: > 7 000 rows in a grid of 5 000 rows per second
- Productive sort algorithms: > 5 000 sorts in a grid of 5 000 rows per second
- High updating speed with highlighting > 50 000 cells/second in a grid of 5 000 rows
- Low memory consumption: The grid of 100 000 rows will consume < 16 MB
We pay a lot of attention to quality of our products. With the components becoming more and more complex and broad functionality expansion we can’t continue improving our software without a reliable quality control mechanism. By now we have over 370 tests that automatically verify code of our components. Testing code accounts for more than 30% of all software code. All main algorithms such as sorting, grouping, serialization, etc are covered with tests.
Professionals working with complex systems will surely appreciate our efforts that make the code simpler and improve its reliability. Let's create the best applications together!
Dapfor development team.