We have released a new version of .Net Grid! This version contains data binding improvements, support for Microsoft themes and styles and also fix for some minor bugs.
- Added a threadsafe implementation of IBindinList - Dapfor.Net.Data.ThreadSafeBindingList<T>. It protectes internal data and fires IBindingList.ListChanged notifications without acquiring a synchronization object to prevent from the deadlock.
- Performance improvements while receiving updates from IBindinList.
- Added an optimization, when IBindingList connected to a grid could notify subscribers via IBindingList.ListChanged event if user editing data in grid cell left the data unchanged.
- Support of various themes including XP/Vista/Windows 7 themes.
- Added feature of saving and restoring grid layout to XML file in design mode.
- Column.Sortable behavior has been changed. This property no longer blocks column programmatic sorting, however it prevents user from sorting columns by clicking a header.
- Behavior of Grid.Highlighting.Enabled property has been changed. Now, if this property is set to false, it doesn’t prevent cell highlighting with Cell.Highlight() method. However, it blocks automated highlighting upon notificaton via INotifyPropertyChanged interface.
- A feature of deleting content upon pressing DEL key has been added. This feature can be enabled with Grid.Navigation.RemoveSelectionOnDelete property.
- Added new examples of theme use and display of summaries in columns or docked rows on various hierarchical levels.
- Editor background color is now consistent with background color of the edited cell.
- Added a support for composite objects in .Net Inspector
The following bugs have been fixed:
- An error causing Grid.HitTests.ColumnTest() to return null when user clicks on grid cell has been fixed.
- An error preventing header and column context menu from displaying during use of context menu has been fixed.
- An error with Row.Adjust() working only for visible rows has been fixed.
- An error with edited row not being in focus has been fixed.
- An error with ValueEqualityCheckBoxFilter column filter sorting data incorrectly has been fixed.
- Cell editor doesn't finish editing if the parent form has an 'Accept button' and the user presses Enter .
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. Don’t hesitate to visit our site and learn more about .Net Grid.
To ensure application performance a programmer has to think over its architecture, pick necessary components and use them correctly. This tutorial will give developers a better understanding of how best to apply the .Net Grid in high performance trading applications.
How Dapfor products differ from competitor products
- High performance. It means not just performance of adding data that is approximately the same for all grids and rendering data that change in real time. Dapfor's grid is designed for processing huge volumes of information and it can process many times more information than competitor products.
- Thread safety. Upon receiving notifications from INotifyPropertyChanged and IBindingList, the grid performs thread synchronization and safely displays data separating business model from presentation both on functional and multi-threading level. This means that data sources can be safely bound to the grid disregarding thread they use.
- Trading-related features (such as cell highlighting for specified amount of time, semi-transparent selection preserving row and cell background, etc) significantly simplifying code and reducing development time.
- Unlike competitor grids that are mainly intended for working with static data, Dapfor's grid provides high performance services for automated sorting, filtering, regrouping and highlighting of dynamic data.
- Expanded data binding features that enable simultaneous connection of the grid to multiple data sources, building various hierarchies, binding to data sources on grid and row level.
- Simultaneous work with bound and unbound data of different types.
- The grid provides unique means of working with composite objects enabling programmers to avoid creation of intermediate classes that copy properties of one or many business objects.
- The grid has a unique feature for building hierarchies with hierarchical fields. This convenient tool enables significant reduction of code volume and makes the application simpler. It also enables use of hierarchical binding with IBindingList.
- Powerful conditional binding enables the programmer to customize data binding, build any hierarchy or skip whole hierarchical levels while connection to data sources.
- The grid is a component that can work as treelist with a single header or have multiple independent headers. This simplifies application development without forcing the programmer to modify components upon adding new features or changing data presentation hierarchy.
- To simplify deployment, all Dapfor components are stored in a single DLL that contains almost no images and therefore it 1 Mb size is reduced even more.
- Support of runtime application debugging, support of inspecting entire application business logic and modification of business object values without reloading application and stopping it for breakpoints in IDE.
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!