.Net Grid Release notes
.Net Suite, v2.10.3 (Build 2.10.3.24917) [2016-09-09]
A new version contains support for Windows 10, as well as bug fixes.
The following improvements have been made:
- [NEW] .Net Grid/Suite is now compatible with Windows 10
The following bugs have been fixed:
- [BUG] Fixed a bug where in some rare cases .Net Grid could cause an exception during the redrawing data.
- [BUG] Fixed bug in DecimalFormat when .Net
Grid incorrectly displayed data equal to zero.
.Net Suite, v2.10.2 (Build 2.10.2.23812) [2016-04-11]
A new version contains bug fixes.
The following bug has been fixed:
- [BUG] Fixed a bug in UITypeEditorEx when .NetGrid prevents from custom painting in non-editable cells.
.Net Suite, v2.10.1 (Build 2.10.1.23453) [2016-03-25]
A new version contains improved support for 64-bit platforms, as well as bug fixes.
The following improvements have been made:
- [NEW] Significantly increased .NetGrid initialization speed at runtime. This will reduce the time to start an application that uses a large number of grids.
- [NEW] Improved support for 64-bit platforms.
- [NEW] .NetGrid/.NetSuite are now correctly installed in Windows 10.
- [NEW] Changed installation location for 64-bit systems from 'C:\Program Files (x86)\Dapfor' to 'C:\Program Files\Dapfor'.
- [NEW] Improved support for .NetGrid in design-time.
The following bugs have been fixed:
- [BUG] Fixed an issue where .NetGrid painted text 'True/False' over images in boolean-type cells.
- [BUG] Fixed row moving bug when .NetGrid under certain conditions, could throw an exception.
.Net Suite, v2.10.0 (Build 2.10.0.20816) [2015-08-27]
A new version contains new features to move rows in the grid, bug fixes as well as additional events for determining the beginning and end of the data filtering.
The following improvements have been made:
The following bugs have been fixed:
.Net Suite, v2.9.6 (Build 2.9.6.11292) [2014-09-03]
A new grid version containing error fixes has been released.
The following improvements have been made:
The following bugs have been fixed:
- [BUG] Fixed serialization bugs of column filters.
- [BUG] Fixed a bug where column filters can incorrectly filter the content.
- [BUG] Fixed a bug where column filters keep their old states after filtering has been canceled.
- [BUG] Fixed minor bugs in the grid.
.Net Suite, v2.9.5 (Build 2.9.5.10152) [2014-02-10]
A new grid version containing error fixes has been released.
The following improvements have been made:
- [NEW] Improved the Grid’s disposal algorithm.
The following bugs have been fixed:
- [BUG] Fixed an error when a red line indicating droping position stays on the screen until closing the application.
.Net Suite, v2.9.4 (Build 2.9.4.8314) [2013-11-04]
A new grid version containing minor error fixes has been released.
The following bugs have been fixed:
- [BUG] Fix for the grid's verbosity in the console of the VS IDE while painting.
.Net Suite, v2.9.3 (Build 2.9.3.7883) [2013-10-15]
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 olumn is hidden or non-existent.
- [NEW] Improved the Grid’s disposal algorithm. Handling of the situation when a grid can be disposed in the main thread and receive notifications from a non-GUI thread at the same time has been fixed as compared to the previous version.
The following bugs have been fixed:
- [BUG] Fixed an error when a grid smaller than 20 pixels sometimes could generate exceptions on cell painting.
- [BUG] Fixed rendering error when paining merged columns in RTL mode.
- [BUG] Fixed header painting error with freezed columns in RTL mode.
- [BUG] Fixed an error when moved rows stopped receiving notifications from data
source when a grid unsubscribed a row from a datasource with drag&drop operations. - [BUG] Fixed a CheckBoxEditor error when the grid could generate exceptions on partial editor visibility.
.Net Suite, v2.9.2 (Build 2.9.2.4913) [2013-08-05]
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.
.Net Suite, v2.9.1 (Build 2.9.1.2472) [2013-06-12]
The following bug has been fixed:
- [BUG] Fixed an error where the grid does not correctly deserialize columns without filters from xml file.
.Net Suite, v2.9.0 (Build 2.9.0.1522) [2013-06-06]
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 features have been added:
- [NEW] Added column filter serialization
- [NEW] Reengineered grid designer introducing intuitive and convenient user interface.
- [NEW] Significantly improved grid performance with selection large data volumes.
- [NEW] Overall performance improvement.
The following bugs have been fixed:
- [BUG] Fixed an error with the grid not unsubscribing from objects with composite properties when objects are removed from the grid.
- [BUG] Fixed an error with Dapfor.Net.dll not appearing in the list of available assemblies in Visual Studio.
- [BUG] Fixed an error with ?olumn.Appearance property hiding cell highlighting.
- Minor bug fixes
.Net Suite, v2.8.5 (Build 2.8.5.51019) [2012-12-19]
The new version includes several bug fixes and new features added to Dapfor’s framework.The following features have been added:
- [NEW] added new DecimalFormat and a corresponding DecimalFormatAttribute for declarative formatting.
public class Product
{
private decimal price;
[DecimalFormat(Precision = 3, ShortForm = true, ShowZero = false)]
public decimal Price
{
get { return price; }
}
}
- [NEW] Added new Grid.FocusedColumnChanged event.
- [NEW] Added a section for grid painting system.
- [NEW] Added a section for cell highlighting system.
- [NEW] Added a new example that demonstrates design of Backet component that is used for measuring weight of financial instruments in the basket. Contains detailed explanation of main principles of developing high-performance application with intensive computing operations. Describes specifis of painting system in Windows OS.
The following bugs have been fixed:
- [BUG] The standard editor drop-downs do not appear on the correct monitor, if the main monitor is the right monitor, and the editor is being hosted on a monitor to the left of it.
- [BUG] The grid didn’t start editing data if nullable types existed.
- [BUG] If Grid.DataObjects were used, the grid didn’t clear collection on calling Grid.Rows.Clear() method.
- [BUG] Change of focused columns was displayed incorrectly in FocusMode.Cell focusing mode.
- [BUG] The grid was hiding some rows when binding data in grid with existing grouping.
- Minor bug fixes
.Net Suite, v2.8.4 (Build 2.8.4.49131) [2012-10-29]
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.
- [BUG] Fixed a bug where merged columns were drawn with artifacts.
- [BUG] Fixed a bug when the grid incorrectly draws cells if there are simultaneously visible grouped rows and child header.
- [BUG] Fixed a bug when the grid incorrectly displays a vertical scrollbar if there are simultaneously visible grouped rows and child header.
- Minor bug fixes
.Net Suite, v2.8.3 (Build 2.8.3.48568) [2012-09-13]
This version contains minor bug fixes and some improvements.
The following bugs have been fixed:
- [BUG] Under certain conditions, the .Net Grid can draw artifacts in editable cells.
- [BUG] Fixed a bug where column filters do not work correctly on the second level of the hierarchy.
- [BUG] Fixed a bug where column filters are able to filter only string values.
- Minor bug fixes
.Net Suite, v2.8.2 (Build 2.8.2.48171) [2012-08-22]
This version contains minor bug fixes and some improvements.New .Net Grid features:
- [NEW] Added a Tag property for headers and columns.
The following bugs have been fixed:
- [BUG] If the user wants to edit multiple cells and he clicks on the second cell, the content in the editing cell becomes selected.
- Minor bug fixes.
.Net Suite, v2.8.1 (Build 2.8.1.47986) [2012-06-11]
The main new feature in this version is support for hierarchy building from tables linked with DataRelation.
New .Net Grid features:
The following bugs have been fixed:
- [BUG] A newly created theme may share the same appearance object with other theme. The impact is that all changes made in one theme are replicated to other.
- Minor bug fixes.
.Net Suite, v2.8.0 (Build 2.8.0.47743) [2012-05-15]
The main new feature in this version is RTL support in the grid and in editors, context menu, tooltips, and reports.
New useful tutorials were added to improve understanding and usage of the grid, including a very useful
tutorial based on the experience of developing high-performance applications and practical recommendations on do’s and don’ts.
New .Net Grid features:
- [NEW] RTL support (in the grid, editors, context menus, tooltips, reporting).
- [NEW] Added support of merged columns for combining columns in groups with common header. Within these groups users
may move columns, change column size and run sorting. Full customization of header appearance is supported including insertion
of images, changing background color or fonts.
- [NEW] Added Grid.Nodes.Insert() method enabling inserting data, not only at the end of the grid, but also in any position.
- [NEW] Added Row.Insert() method enabling inserting data at any hierarchical level in any position.
- [NEW] Foreground color blinking: Cell.Highlight(TimeSpan interval, Color backColor, Color foreColor) method was added.
- [NEW] Public toolstrip items ToolStripGridColumn, ToolStripGridGroupBoxPanel,
ToolStripGridHeaderConfigurator and ToolStripGridRemoveSort were added.
Now a programmer can subscribe to Grid.HeaderContextMenu.ItemClicked event and get information of header and column where
the click was made. - [ENH] Drag&drop support in grouped rows
- [ENH] Significantly improved performance of ThreadSafeBindingList<T> with objects implementing
INotifyPropertyChanged interface. Look here for more details on
performance issues of BindingList<T>
with such objects. - [ENH] Added AllowNew, AllowRemove, AllowEdit setters in ThreadSafeBindingList<T>
- [ENH] Possibility of using IFormat objects in unbound columns was added.
- [ENH] Removing highlighting of entire row upon receiving notification from INotifyPropertyChanged with non-existent field.
- [ENH] Support of themes in column filters
- [ENH] Significantly increased binding speed of sorted grid
The following bugs have been fixed:
- [BUG] A tooltip bug where part of the text was not displayed.
- [BUG] An error with Grid.Selection.Count returning value greater than 0 after removing all rows
- [BUG] Image alignment to text during painting of columns and cells
- [BUG] Image padding error
- [BUG] An error where the grid is constantly adding data to the end despite a IBindingList.Insert(int index, object data) method call.
- [BUG] An error with the grid incorrectly grouping rows upon receiving IBindingList.ListChanged notification with Reset type
- [BUG] An error when some rows could stay invisible when grouping and filtering were applied simultaneously.
- [BUG] An error when it was possible to cancel column sorting in header context menu through such changes should have been forbidden for users.
- [BUG] The grid no longer shows sorting-related items in header context menu if sorting is forbidden in the grid.
- [BUG] An error when a form containing grid has been modally displayed several times and the grid incorrectly displayed horizontal scroll bar at that time.
.Net Suite, v2.7.0 (Build 2.7.0.46034) [2012-02-20]
Starting from version 2.7.0 grid functionality has been expanded with reporting and printing features. Programmers get simple and convenient interface for implementing new features and can significantly expand capabilities of target applications.
Reporting features:
- Software control of reporting with full customization support.
- Possibility of adding any images or text to printed pages.
- Page spanning: If there are too many fields to fit on one page, the fields can span two or more pages.
- Repeating headers: to improve document readability the grid can insert headers to every printed page.
- Reports for top-level headers and child headers with relevant content.
- Hiding headers in reports
- Repeating selectors: if content has many columns, the grid can span it over multiple pages. This feature can insert row selector to every page.
- Print preview feature
- Portrait or landscape page orientation
The following bug has been fixed:
- [BUG] .Net Grid wrongly filters the content if two filters (Grid.Filter and Column.Filter) are set simultaneously.
.Net Suite, v2.6.2 (Build 2.6.2.44912) [2012-01-06]
Enhancements:
- [ENH] Threading model improvements. Unlike previous versions, the new version of the Grid no longer uses IDispatcher,
shared among all grids. Instead, it uses an individual instance of this
dispatcher that allows programmer to create grids in different message
loops. - [ENH] Added a Grid(IDispatcher) constructor enabling to specify an arbitrary model of cross thread synchronization.
.Net Suite, v2.6.1 (Build 2.6.1.43867) [2011-11-09]
Enhancements:
- [ENH] Added Grid.BeginUpdate and Grid.EndUpdate methods that can be used to prevent the grid from excessive updates.
- [ENH] Added Grid.LassoSelectionBegin, Grid.LassoSelection and Grid.LassoSelectionEnd events enabling to customize the lasso selection.
- [ENH] Added Grid.PrevEditableCell and Grid.NextEditableCell events enabling to customize the navigation between editors with Tab and Shift + Tab keys.
- [ENH] Increased speed of column configurator displaying when the grid configures a large number of columns.
- [ENH] Added getters to Preferences.Grid.RowDefaultHeight and Preferences.Grid.GroupRowDefaultHeight properties.
.Net Suite, v2.6.0 (Build 2.6.0.42981) [2011-10-07]
Enhancements:
- [ENH] Added a threadsafe implementation of IBindinList - Dapfor.Net.Data.ThreadSafeBindingList. It protectes internal data and fires IBindingList.ListChanged notifications without acquiring a synchronization object to prevent from the deadlock.
- [ENH] Performance improvements while receiving updates from IBindinList.
- [ENH] 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.
- [ENH] Support of various themes including XP/Vista/Windows 7 themes.
- [ENH] Added feature of saving and restoring grid layout to XML file in design mode.
- [ENH] 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. - [ENH] 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.
- [ENH] A feature of deleting content upon pressing DEL key has been added. This feature can be enabled with Grid.Navigation.RemoveSelectionOnDelete property.
- [ENH] Added new examples of theme use and display of summaries in columns or docked rows on various hierarchical levels.
- [ENH] Editor background color is now consistent with background color of the edited cell.
- [ENH] Added a support for composite objects in .Net Inspector.
.Net Suite, v2.5.2 (Build 2.5.2.41516) [2011-07-22]
Enhancements:
- [ENH] Added ICustomSort interface enabling to customize row sorting in .Net Grid.
- [ENH] Enabled Control.DragEnter and Control.DragDrop events.
- [ENH] Added X, Y and KeyState properties to the DragContentEventArgs class.
- [ENH] Changed public visibility of the ColumnConfiguratorForm class.
- [ENH] Added Grid.EndEdit() method to stop cell editing before closing a modal window.
- [ENH] .Net Grid doesn't throw MDA (managed debugging assistant) exceptions any more.
.Net Suite, v2.5.1 (Build 2.5.1.40258) [2011-07-05]
Enhancements:
- [ENH] Significantly improved sorting speed by columns, when cells have identical or similar values.
- [ENH] Added MeasureCellWidthEventArgs event for adjusting column width for custom-drawn content.
.Net Suite, v2.5.0 (Build 2.5.0.40128) [2011-06-13]
Data editing
- [ENH] .Net Grid now supports data validation,
where the programmer may 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 a new cell. - [ENH] Navigation between editors by pressing Enter, Tab, Shift+Tab has been added.
Data binding
- [ENH] 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. - [ENH] Ability to bind any row to data sources via
Row.DataSource
property has been added. - [ENH] 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). - [ENH] Data binding can now be combined with Grid.Rows.Add() / Row.Add() methods.
- [ENH] Ability to build a hierarchy when data objects in one or several properties return collections of other objects has been added.
- [ENH] It is now possible to create a hierarchy with multiple IBindingList containing objects of different types.
- [ENH]
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. - [ENH] 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 missing a whole hierarchy level while hierarchical binding.
Drag & drop
- [ENH] A feature of dragging data
within a grid and between grids has been added. - [ENH]
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. - [ENH] Full customization of drag
& drop process supporting choice of content and various effects,
place of insertion and hierarchy is now available. - [ENH]
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. - [ENH] Intuitive automated scrolling where needed during data dragging has been added.
Lasso selection
- [ENH] 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
.Net Suite, v2.4.0 (Build 2.4.0.36245) [2011-01-19]
Enhancements:
- [ENH] Added composite data objects support that will significantly reduce the amount of code and will make the application simpler.
- [ENH] Double-click on column separator adjusts width to widest column string.
- [ENH] Double-click on row separator adjusts row height.
.Net Suite, v2.3.2 (Build 2.3.2.30412) [2010-11-22]
Enhancements:
- [ENH] Added Grid.DataConnection.HandleCurrentChangedEvent property to handle CurrencyManager.Current row.
.Net Suite, v2.3.1 (Build 2.3.1.29461) [2010-11-01]
Enhancements:
- [ENH] Added Grid.Sort event and removed Grid.ScrollManager.VerticalScrollChanged event.
.Net Suite, v2.3.0 (Build 2.3.0.28216) [2010-10-14]
Enhancements:
- [ENH] Added row grouping in the Grid.
- [ENH] Grouping features for data populated from IBindingList, IListSource, IList, etc...
- [ENH] Added binary and XML serialization.
- [ENH] Added column filters. A programmer can write his own filter based on the UITypeEditor class and put any controls to this filter.
- [ENH] Added Row.Update() method, enabling sorting, grouping, filtering and refreshing of rows in the non event-driven mode.
- [ENH] Added support of non-event business model and event-driven model.
- [ENH] Added support for asynchronous and synchronous synchronization when notifications from INotifyPropertyChanged interface arrive from non-GUI thread. Settings are available through the Grid.Threadsafety property.
- [ENH] Added support for the TypeConverter in properties. If a property of a data object has a TypeConverter, declared with the TypeConverterAttribute,
then the .Net Grid uses this converter to format values to strings and
to parse text into these values (it the converter supports conversion
from strings). More about data formatting. - [ENH] Significantly improved row removal rate and performance of the entire Grid.
- [ENH] By default the Grid navigates to the first Row in the hierarchy when a user presses Key Left and to the last row when he presses Key Right.
- [ENH] Added the Column.Adjustable property that prevents the end user from adjusting the content.
- [ENH] Added the Row.Adjustable property that prevents the end user from adjusting the content.
- [ENH] Removed the Row.EnsureVisible() call while adding data from IBindingList.
- [ENH] Initial sorting order in columns changed to SortDirection.Ascending.
- [ENH] Renamed Column.Rezisable to Column.Resizable, Grid.RowSelector.Rezisable to Grid.RowSelector.Resizable.
.Net Grid, v2.2.0 (Build 2.2.0.25854) [2010-08-06]
Enhancements:
- [ENH] Added reverse search of Rows by data objects, already inserted to the .Net Grid via Grid.DataObjects.Find and Grid.DataObjects.FindFirstRow methods.
- [ENH] Added Grid.SelectionChanging event that is called before changing row selection.
- [ENH] Added Header.Configurable property to prevent the end user from configuring headers.
- [ENH] Added ability to edit headers with a custom editor (Header.ColumnEditor property).
- [ENH] Added ability to set the orientation of tooltip against the cell via Grid.Tooltips.Orientation property.
- [ENH] Now it is possible to measure optimal cell via Cell.OptimalHeight property. This is useful for long wrapped text.
- [ENH] Added the Row.Adjust() method to set optimal row height.
- [ENH]
Added ability to change column width not only via column separators,
but also by placing the cursor between the two cells. This enables user
to resize columns, if the header is not visible. - [ENH] Added
ability to change row height, not only via row separators, but also by
placing the cursor between the two cells. This enables user to resize
rows, if the row selector is not visible. - [ENH] .Net Grid can now display the vertical and horizontal lines between cells. These lines and their color are defined in the Grid.Appearance properties.
- [ENH] .Net Grid doesn't call the Row.EnsureVisible() method any more when loading data from a DataSource
- [ENH] Default values for Grid.DataConnection.AllowNew and Grid.DataConnection.AllowRemove changed to false.
.Net Grid, v2.1.0 (Build 2.1.0.22409) [2010-06-18]
Enhancements:
- [ENH] Support for complex data binding through Grid.DataSource and Grid.DataMember properties.
- [ENH] Support for datasources IListSource, IBindingList, IList.
- [ENH] Enables adding and editing rows through the user interface.
- [ENH] Support for datarelations in DataSet.
- [ENH] Design-time support for datasources.
- [ENH]
Row docking. Even when rows are sorted, they remain in their docked
places at any hierarchical level. For example you can dock any UITypeEditor rows that act as filters or a row that calculates an average value for the column. - [ENH]
If a user clicks on another cell after editing, the grid automatically
goes into edit mode of the new cell. Users no longer have to click
multiple times on the new cell to start editing. - [ENH] Added support for primitive types such int, bool... Ex: grid.Rows.Add(1);
- [ENH] Added methods to find the next and previous editable cell: Cell.NextEditableCell and Cell.PrevEditableCell
- Added support for dynamically created UITypeEditor that can be specified through the Grid.CellEditor event.
- [ENH] Added Grid.FilterRefresh() method to re-check all rows for filtering. Usually it is called when filter conditions in IFilter interface change.
- [ENH]
Added very nice and useful feature - pop-up tooltips in cells. NetGrid
provides a very simple API for implementing this ability. By default,
all cells that have pop-up tooltip have a red exclamation mark to the
right of the cell's value that makes such cells immediately
identifiable. Using this feature a programmer can mark some cells and
provide explanation text in pop-up balloons.
.Net Grid, v2.0.2 (Build 2.0.2.19337) [2010-05-03]
Enhancements:
- [ENH] A new tutorial
- [ENH] Improved design mode
.Net Grid, v2.0.1 (Build 2.0.1.18731) [2010-03-22]
Enhancements:
- [ENH] Improved header configuration dialog
- [ENH] Improved column serialization into InitializeComponent() method in Design mode
- [ENH] License registration on 64-bit version of Windows
.Net Grid, v2.0.0 (Build 2.0.0.18056) [2010-03-08]