Shown below is a complete history of the public releases of this product. Sections highlighted in blue represent maintenance releases that do not
generally introduce any new features but address existing issues. Where available, you can view the release notes for a particular build.
9 November 2010
NEW: Sprung column resizing improved; original setting of Width property is now maintained leading to greater precision.
NEW: MinimumWidth property is now respected for sprung columns.
FIX: It was possible with a combination of no live resize, scrolling and hidden columns to drag a column edge such that an exception would be thrown.
FIX: EmptyText was not displayed if rows were present but filtered out.
FIX: Invoking the UpDownEditor by starting to type would fail to relay the first typed character into the editor.
6 January 2010
FIX: IMEs can now be used in SandGrid editors, making it friendly to Japanese, Chinese and other such character sets.
FIX: A bug introduced in the previous build could result in the enter key failing to commit edits when in cell selection mode.
10 November 2009
NEW: Tooltips are now rendered with system themes.
FIX: The active editor no longer attempts to commit changes when a message box is shown in the DataError event.
FIX: Invalid images encountered in a GridImageColumn will no longer cause an exception to be thrown.
FIX: An exception could be thrown when re-adding rows to a datasource after previously clearing it, when virtual mode was enabled.
FIX: Pressing enter to commit an edit when the grid was dispayed in a dialog would also dismiss the dialog.
FIX: A row checkbox would be hidden by a cell if the cell's BackColor property was set.
FIX: A textbox editor with Multiline and AcceptsReturn set to true would still not have the return key delivered.
1 May 2009
FIX: CommitOnLoseFocus has been updated to support more complex editor controls, including ones with subcontrols.
FIX: Unfiltering a large number of rows could take a long time.
FIX: Trying to group when the datasource to which the grid is bound does not support sorting properly results in an exception rather than incorrect layout.
FIX: Setting a sorted datasource before adding any columns to the grid could result in an exception.
FIX: Grouping was not included in grid state serialization.
FIX: Altering the properties of a column at design time could result in the SortColumn and GroupColumn properties of the grid being reset.
FIX: Tooltips are now shown when a column is partially clipped by the sides of the grid.
9 December 2008
NEW: SortBox control allows the user to visually define a complex grouping and sorting system for the grid.
NEW: GridCheckBoxColumn presents bool or nullable bool types as an interactive checkbox, supporting indeterminate state.
NEW: Right-to-left layout of columns is now supported.
NEW: EnableSortWithinGroup property added to GridDateTimeColumn; sorting within groups is now possible.
NEW: ColumnsReordered event added.
NEW: Copying to the clipboard copies in CSV format (was tabbed format). Only in .NET 2.0+ version.
NEW: Images are now allowed in a center-justified column header providing there is no text specified.
FIX: An exception could be thrown when removing a row from a nested grid that was itself not parented to a grid.
FIX: The grid would attempt to draw tree buttons and lines even with an invisible primary column.
FIX: When dynamically changing the datasource of a grid, sorting information is updated based on the new datasource.
FIX: Inserting a row at a specific point in a hierarchy after specific previous additions could result in the row not immediately showing.
FIX: A tooltip could be shown over a GridImageColumn.
5 August 2008
NEW: EmptyTextForeColor and EmptyTextHorizontalAlignment properties added, for more control over the text drawn when the grid is empty.
NEW: GridConditionalImageColumn now has TrueGroupText and FalseGroupText properties for specifying the text used when the column is grouped.
NEW: GridFileSizeColumn makes it easy to display and group file sizes in a friendly way.
NEW: HorizontalInsertionMarker and VerticalInsertionMarker properties exposed.
FIX: The background color of a button or hyperlink cell was not drawn.
FIX: The re-entrancy check in the AfterEdit event has been relaxed, allowing operations such as removing the row being edited during the event.
FIX: When using a grid with an offset primary column, the rightmost portion of a nested grid could be unclickable.
FIX: When double-clicking a column border to autosize it, the ColumnResized event was not raised.
FIX: When double-clicking a column border to autosize it, the MinimumSize property was not respected.
FIX: When rapidly clicking between rows to change the selection, multiple SelectionChanged events could be raised for the same row.
13 June 2008
NEW: The EditorType of a column can now be set at design-time.
FIX: When using rubber-band selection in a small grid with StretchPrimaryGrid set to false, the coordinates of the rectangle could be incorrectly restricted.
FIX: A tooltip was shown on GridConditionalImageColumn.
FIX: When dynamically filtering rows with the SetFilteredOut method, a measure and layout cycle was not always triggered.
FIX: Assigning to the EditorType property of GridChooseEditorEventArgs could fail.
8 April 2008
NEW: GridButtonColumn and GridHyperlinkColumn added.
NEW: AutoSort property on columns replaced with AutoSortType; interactive multi-column sort is now possible.
NEW: SandTreeView control added, a simpler control designed to mimic a TreeView without the SandGrid features irrelevant to such a task.
NEW: Rubber-band selection of items is now possible and automatically works when multiple selection is enabled.
NEW: Selection of group heading objects with the mouse is now possible.
NEW: ShowRootLines property added to InnerGrid and SandGrid classes.
NEW: SetFilteredOut method added to GridRow: rows can now be selectively filtered out from view.
NEW: GridFriendlyGroupNameColumn added for easy creation of arbitrary groups at design time.
NEW: ShrinkToFit property added to SandGridPrintDocument.
NEW: The Office 2007 renderer now allows you to choose between Excel-like and Outlook-like column headers.
NEW: The Office 2007 renderer now allows you to choose between divider and button group header styles, to facilitate emulating the collapsible Outlook TreeView.
NEW: ChooseEditor event added to SandGrid: you can now dynamically select which editor is used for a cell.
NEW: HScrollOffset and VScrollOffset properties exposed in the grid.
NEW: CellVerticalAlignment property added to columns.
NEW: Generic GridColumn<T> and GridCell<T> types added.
NEW: Cells have a BackColor property.
NEW: StandardTab property allows the Tab key to work in a standard way even in a grid with cells, if necessary.
NEW: ColumnResized event added to SandGrid.
NEW: HideSelection property introduced.
IMPROVED: Exporting facilities improved to better handle strings and newlines.
FIX: The PrimaryColumn property could be reset in the designer.
FIX: Ctrl-A could be used to select all elements within the grid even when multiple selection was disabled.
FIX: Cell images are now accounted for in automatic measurement of rows.
CHANGE: Group property replaced with GroupColumn and GroupDirection properties, separating grouping from sorting.
CHANGE: Ctrl-A, Ctrl-C and Ctrl-V are caught differently, meaning if you have menu items that attempt to catch these, the menu items will now succeed in doing so. We have exposed the ClipboardOperations class so your application can call our default functionality.
9 January 2008
NEW: Build machine activation is supported.
NEW: Office 2007 renderer now included with the product.
NEW: AllowPaste property added; grid now supports automatic pasting from the clipboard in either plain text or CSV format.
NEW: FlatRows property added to SandGrid class.
NEW: The grid itself draws a themed border when themes are enabled in the operating system.
FIX: Only enter by itself activates a row, alt-enter, shift-enter and control-enter do not.
FIX: When using large nested grids mouse messages could fail to get through to the child grids.
FIX: More characters included in the list of characters that can initiate an edit operation.
FIX: Showing a modal dialog in the AfterEdit event could result in another spurious AfterEdit event firing.
6 October 2007
NEW: GetFirstVisibleRow method exposed on InnerGrid class.
NEW: EnableSearching property (default true) allows disabling of interactive searching as the user types characters.
FIX: Rows added dynamically to an empty but already-expanded parent row could appear blank.
FIX: Shrinking a grid with row headers visible so that no columns were shown could result in an exception.
FIX: A grid containing sprung columns could flicker visually if resized continuously.
FIX: An exception could be thrown in virtual mode after interacting with the grid in a specific way.
FIX: With multiple grids tied to each other, certain selection actions could result in an exception.
CHANGE: Double-clicking a column header to size to contents only looks at the onscreen rows (performance enhancement).
25 July 2007
FIX: The renderer would incorrectly query visual styles information in an environment where visual styles were disabled, leading to an exception.
23 July 2007
NEW: Groups are now collapsible.
NEW: Virtual mode allows row data to be loaded on demand and discarded when not needed, meaning instant binding and population.
NEW: SortExpression property added to GridForeignKeyColumn so that the list of suggested values for a cell can be sorted appropriately.
NEW: All rendering is done by visual styles where possible, so the grid appears correctly in Windows Vista.
NEW: WhitespaceClickBehavior property introduced on InnerGrid.
NEW: HorizontalAlignment property on GridColumn replaced with separate HeaderHorizontalAlignment and CellHorizontalAlignment properties.
NEW: CommitOnLoseFocus property determines whether an edit operation is committed upon loss of focus to the editor.
NEW: GetEditedColumnForRow virtual method added to SandGrid for controlling which column's value is edited when starting an edit operation on a row.
NEW: GridStateSerializationOptions added for more control over which grid properties are restored when calling DeserializeState.
NEW: ExpandAll and CollapseAll methods introduced on InnerGrid.
NEW: Columns have a ToolTip property.
ENHANCED: DrawGroupHeading is now passed a GridGroup object to draw, making it possible to display summaries in headings.
FIX: Pressing Ctrl-C during an edit operation would copy the row to the clipboard rather than the contents of the editor.
FIX: SelectionChanged event could be raised when the control was being disposed.
FIX: Changing the font of a GridCell would not trigger a column resize when a column's AutoSize was set to Contents.
FIX: Using text search to select a row would not update the row reported in the RowActivated event.
FIX: Pressing the zero key on the numeric keypad would not start an edit operation when it should.
FIX: Clicking on whitespace in the grid would not set focus to the grid.
BREAK: Calling BeginEdit when an edit operation is already active will throw an exception.
9 February 2007
NEW: GridForeignKeyColumn now understands a binding to a BindingSource which is bound to a DataSet.
FIX: Changing bound data sources when sorting could result in the row indices failing to be correctly updated.
FIX: A NestedGridRow with checkboxes shown would display the grid slightly smaller than it should.
FIX: In rare circumstances an InvalidOperationException could be thrown when clicking on a grid after a certain series of operations.
12 November 2006
NEW: AfterCollapse event added.
NEW: GridProgressBarColumn renders with Visual Styles where available.
NEW: EndEdit method exposed on SandGrid.
NEW: User moving of rows with multiple selection is now supported.
NEW: Multiline column headers are now supported.
NEW: CopySelectedCellsToClipboard method enhanced to optionally include header text.
NEW: ExportToDelimitedText method enhanced to optionally include header text.
NEW: RowsMoved event added for notification when a user has dragged rows to a new location.
NEW: CalculateExpandButtonBounds virtual method added to GridRow for customization of the location of the expand button.
NEW: CalculateIndentation virtual method added to GridRow for customization of the amount of indent a row gets due to a tree hierarchy.
FIX: Pressing enter to commit an edit operation could fail in some circumstances.
FIX: Changing the enabled state of the control immediately after removing rows could result in an exception.
FIX: A single line of text rendered with GDI with support for wrapping turned on would render at a different Y position that one rendered without.
FIX: The HeaderText property of GridColumn is now localizable.
FIX: When the BindingContext of a SandGrid was changed (e.g. with dockable windows) with nested grids being used, an exception could be thrown.
FIX: When adding a complex hierarchy of nested grids to a toplevel grid, the toplevel grid could fail to be correctly propagated down the hierarchy causing an exception to be thrown later.
FIX: GridBooleanColumn now draws its background and foreground in keeping with other columns when viewing check marks.
CHANGE: The expand and collapse related events are now fired for programmatic alteration of the Expanded property as well as user interaction.
CHANGE: When exporting to delimited text, a value is treated as a string even if its unformatted value is not a string, if the formatted value contains the delimiter.
30 August 2006
NEW: Pressing tab while editing a cell value commits the edit operation and starts an edit operation on the next cell.
NEW: AutoSizeIncludeHeader property on GridColumn determines whether header text is included in autosizing calculations.
FIX: Adding or removing grid items from within SetCellValue could result in an exception from the grid.
FIX: Mouse dragging of rows could sometimes fail with an exception on completion.
FIX: Removing a row in the double click event could result in an exception upon a subsequent click.
FIX: When a row was selected in cell selection mode, shift-arrow keys could result in an exception.
FIX: Calling Rows.Clear during an edit operation could result in an exception.
FIX: Calling the ScrollElementIntoView method now automatically performs a full measure and layout if needed.
FIX: Nested grids that extended beyond the boundaries of available columns are no longer clipped and can be scrolled to.
23 July 2006
NEW: The SelectedElementCollection class now exposes a ToArray() method.
NEW: GridDecimalColumn and GridDecimalCell classes are now available.
NEW: The row autosize feature (setting a row's Height to zero) has been added, forcing a row to size itself based upon multiline text in columns.
FIX: The SelectionChanged event could potentially be called during a call to Dispose().
FIX: Removing a column that was selected would not correctly remove it from the SelectedElements collection.
FIX: Removing rows when the grid got the focus could result in an exception.
FIX: The row highlight with Partial row highlighting, with an invisible primary column, could be calculated incorrectly.
FIX: A grid with nothing but invisible columns could throw an exception on load.
FIX: Removing the sort column from a grid would not always disassociate it from the SortColumn property.
FIX: Setting GridCell.Text to "" when already so would not reset IsNull to false.
FIX: Setting the DropDownStyle of a ComboBox editor to DropDownList would result in the editor not saving its value properly
CHANGE: GetCellValue and SetCellValue methods on GridRow made public.
4 June 2006
NEW: Tooltips property offers the opportunity to disallow tooltips.
NEW: ParentRowDoubleClick property added to control the behavior of a double click on a parent row (expand/collapse or activate).
NEW: AlternateRowBackgroundColor and AlternateRowOpacity properties exposed on WindowsXPRenderer.
NEW: VisibleRows and VisibleColumns properties on SandGrid expose a way to enumerate through visible elements.
NEW: NewRowType property exposed for customization of the row type used in databinding.
NEW: DrawVirtualCell method exposed on GridRow for further customization of the drawing process.
NEW: DataBindingComplete event allows customization of elements as they are created due to databinding.
FIX: When repeatedly binding to different datasources SandGrid could take longer and longer to do so.
FIX: Multiline GDI tooltips are now supported.
FIX: Databound nested grids with row headers on could cause an exception to be thrown.
FIX: Checkboxes in rows would not be clipped properly when their column was shrunk.
FIX: Programmatically removing a row with an active editor would throw an exception.
FIX: Selected columns did not redraw as they should when focus entered and left the control.
26 April 2006
NEW: PointToGrid method exposed on SandGrid for converting client coordinates to grid coordinates.
NEW: Editing of any cell in row highlight mode is now possible via the RowEditMode property. This means that customers using virtual rows can now edit any value.
FIX: Having an invisible column in a grid with no rows present could cause an exception.
FIX: Customizing a GridComboBoxEditor then committing the edit could cause an exception.
FIX: Typo fixed in enumeration "ColumnAutoSideMode".
23 April 2006
NEW: Checkbox support in rows.
NEW: GroupHeadingClickBehavior property added to grids (default changed).
NEW: AfterEdit event added to SandGrid class offering opportunity to cancel or change an edited value.
NEW: YesText and NoText properties added to GridBooleanColumn for localizable customization of the YesNo value display.
NEW: NullBehavior property added to choose whether SandGrid interprets null references or DBNull.Value as null when formatting and parsing values.
NEW: SelectedElements now returns an instance of SelectedElementCollection rather than an array.
FIX: The column resizing cursor was not shown during a resize operation.
FIX: The HorizontalAlignment property of columns is now applied to both the header and cell contents including image.
FIX: When dragging a column header and scrolled to the right, the ghost header could be drawn in the wrong place.
FIX: A SelectAll operation when there were no rows in the grid would result in an exception being thrown.
FIX: Nested grids whose bounds exceeded their parents would not have mouse messages passed to them correctly.
FIX: Native sorting with null values now works in a more consistent manner.
FIX: Sorting indicator glyphs were not shown over text, reducing their visibility prematurely.
FIX: It was not possible in the BeforeEdit event to customize the contents of an editor, for example populating a GridComboBoxEditor.
FIX: The Paint event was never fired.
FIX: When right-clicking on a row when a context menu was displayed, the row would not always be selected.
2 April 2006