Table of Contents

TMS FNC DataGrid Release Notes

Source: FMX.TMSFNCDataGrid.pas version history Current version: 1.9.0.0

1.9.0.0

  • New : RendererSource support to assign external data and renderer layers at design-time or runtime
  • New : Column and row calculations automatically refresh when cell data changes (Options.Calculations.AutoUpdate)
  • Improved : CSV loading, sorting, grouping and ungrouping performance
  • Improved : Auto-size calculations compensate existing row heights and column widths in merged cells
  • Improved : Multi-column sort indicators show their sort priority number
  • Improved : AutoFill clears cells that are removed when dragging the fill handle back over the selected range
  • Fixed : Issue with combo edit inplace editor not accepting text property
  • Fixed : Issue deleting a column in TTMSFNCDataGridDatabaseAdapter moving the following column to the end
  • New : getTimePicker inplace editor support

1.8.1.2

  • Fixed : Reverted RealToDisplayRow / DisplayToRealRow to sort-only mapping. The v1.8.1.1 filter-aware behavior conflicted with the rest of the grid (OnCellClick, Cells[], hit-testing, selection) which use the sort-only display index regardless of filter.
  • New : RealToVisualRow / VisualToRealRow map physical rows to/from the 0-based row index in the currently rendered output (sort + filter + hidden applied). Use these when you need the position the user sees on screen.
  • New : RealToVisualColumn / VisualToRealColumn — column-side counterparts: map physical columns to/from the 0-based column index in the currently rendered output (reorder + hidden applied). Hidden columns return -1; fixed left/right columns map through unchanged.

1.8.1.1

  • Fixed : RealToDisplayRow / DisplayToRealRow now return correct display indices when a filter is active (filtered rows return -1; visible rows map to consecutive display slots). RealToDisplayCell / DisplayToRealCell delegate to the row/column variants for consistent behavior under filter + sort.
  • Fixed : Hidden columns remain hidden after visual grouping changes when Options.Grouping.HideColumns is enabled
  • Fixed : OnCellEditSetData values are applied before the database adapter writes edited cell data back to the dataset
  • Fixed : Rows with equal values in all sort columns preserve their relative order and produce the same result when sorted repeatedly with the same direction.

1.8.1.0

  • Improved : Export now able to directly export to a pdf lib instance
  • Improved : JSON import
  • Fixed : Issue with filtering

1.8.0.6

  • Fixed : Access violation clearing cells with controls assigned through Controls[] and ManagedObjects[]
  • Fixed : Access violation when switching adapters when grouping.
  • Fixed : Access violation when FixedColumnCount is > 0 in combination with a database adapter
  • Fixed : Filter Clear button styling
  • Fixed : Grid disappears after OnCellCheckBoxChange / OnCellRadioButtonChange when handler shows a modal dialog (e.g. ShowMessage)
  • Fixed : Events are now deferred until after DecUpdateCount and Display to prevent modal message pump from triggering Calculate while UpdateCount > 0

1.8.0.5

  • New : OnGetCellControlExtraProperties event - supply extra RTTI property names that extend the cell control bitmap cache key
  • New : OnGetCellSupportsRealControl event - override per-cell whether a real (live) control or a cached bitmap is used

1.8.0.4

  • Fixed : Filter dropdown checked-state for multi-item gftEqual filters (including quoted values and values with spaces)
  • Improved : Banding now correctly alternates based on visible row position when rows are hidden or filtered
  • Improved : Cell object pool instead of continuous create/destroy improves performance

1.8.0.3

  • Fixed : Issue filtering master rows when DetailControl is assigned and LoadMode = almAllRecords in TTMSFNCDataGridDatabaseAdapter

1.8.0.2

  • Improved : DynamicRecordCount property to dynamically fetch records
  • Improved : Support for external scrollbars (implement ITMSFNCDataGridExternalScrollBar interface)
  • Fixed : Issue navigating cells with hidden columns & rows
  • Fixed : Issue with extra delimiters when exporting CSV with hidden columns

1.8.0.1

  • Fixed : Issue with TryIso8601ToDate in older IDEs
  • Fixed : Hidden columns still exported to CSV
  • Fixed : Issue with default icons stored in form file blowing up size
  • Improved : Options.Keyboard.DeleteKeyHandling extended with an option to clear selected cells

1.8.0.0

  • New : AutoFill feature
  • Improved : Loading performance
  • Improved : Paging controls now remain visible, but are disabled when only having one page
  • Fixed : Performance issues with many hidden columns
  • Fixed : Linker error in C++ with Objects[] property

1.7.2.0

  • New : Footer.Paging.PageInfoFormat & Footer.Paging.PageSelectorFormat to change the formatting of the text

1.7.1.1

  • Fixed : Issue with displaying filter editors in certain conditions
  • Fixed : Issue with date-time detection in Delphi 11 and older
  • Fixed : Issue with clearing datetimepicker in VCL

1.7.1.0

  • New : gstmProportional stretch mode
  • New : Options.Mouse.ColumnSizingMode, Options.Mouse.RowSizingMode to support two way sizing
  • New : Options.Selection.RangeType with the ability to keep initial focused cell (Excel like) in TTMSFNCDataGrid
  • Improved : OnSelectCell & OnSelectingCell event handlers have a new parameter FocusedCell (breaking change)
  • Improved : OnExit event attached to inplace editor to automatically stop editing
  • Improved : OnBeforeEditorExit event attached to determine the behavior when exiting the inplace editor
  • Improved : VCL DPI scaling
  • Fixed : Issue with direct editing via arrow keys in VCL
  • Fixed : Issue with selection modes in combination with a database adapter
  • Fixed : Issue with OnCellClick event triggered when releasing the mouse after a touch scroll operation

1.7.0.1

  • Fixed : Access violation when navigating edit with arrow keys

1.7.0.0

  • New : Paging support (BETA)
  • New : Events to handle inplace editor cell to value and value to cell behavior
  • Improved : consistent selection behavior between various modes
  • Improved : mixed compare of numbers types for sorting
  • Improved : scrolling performance with larger number of rows/columns
  • Fixed : Issue with ArrowKeyDirectEdit and caret position
  • Fixed : Issue with duplicated filter row when switching the Row property
  • Fixed : Access violation clicking between cells

1.6.1.0

  • Improved : column & row size detection
  • Improved : gsmDisjunctColumn & gsmDisjunctRow allow CTRL + SHIFT to expand selection
  • Improved : scrolling behavior when connected to a dataset
  • Improved : performance in WEB when stretching is enabled
  • Fixed : Issue changing spinbox values in filter row in TMS WEB Core
  • Fixed : Issue displaying proper editor for string values in TMS WEB Core
  • Fixed : Issue with clearing filter row editors not calling OnRemoveFilter

1.6.0.1

  • Fixed : Issue with grouping and sorting with 2 rows
  • Fixed : Issue with calculating row banding
  • Fixed : Issue with asynchronous cell control creation in TMS WEB Core
  • Fixed : Issue with precision when selecting float editor

1.6.0.0

  • New : Footer with bar buttons & optional custom controls
  • Improved : non fixed freeze & normal cells can be merged together
  • Fixed : Issue with resizing fixed columns / rows

1.5.0.4

  • Improved : mouse wheel scrolling stops editing
  • Fixed : Issue with properly moving dictionary data when filtering causing unwanted side-effects on TMS WEB Core
  • Fixed : Issue with mouse up and touch-scrolling in TMS WEB Core
  • Fixed : Issue parsing filter in TMS WEB Core

1.5.0.3

  • Improved : Calculation format now has a type for column and row calculations
  • Fixed : Cell Layout did not take over global layout at the time of creation
  • Fixed : Issue with Control not being properly cleaned up when deleting rows

1.5.0.2

  • Fixed : Regression with mouse handling in combination with column sizing

1.5.0.1

  • Fixed : Issue with scroll position when scroll mode is cell based
  • Fixed : Issue with OnCellDblClick eating focus
  • Fixed : Issue with SelectAllCells, now including all rows outside of the view
  • Fixed : Issue with font color not being applied when adding cell layouts

1.5.0.0

  • New : Header visual grouping
  • Improved : SelectAllCells parameter to include visible cells, only applicable for disjunct selection modes
  • Improved : Entering date/time when pressing keys if the inplace editor is a date picker
  • Improved : (Empty) option in filter drop down list
  • Fixed : OnSelectCell triggered only when selection is effectively changed
  • Fixed : Issue selecting empty / not empty in drop down does not apply filter

1.4.1.0

  • New : Filter actions
  • New : Appearance based filtering
  • Improved : support for moving columns at column collection
  • Fixed : Issue with mouse wheel & keyboard scrolling when filtering

1.4.0.1

  • Improved : Banding now properly applied when filtering
  • Fixed : Typo in event parameter OnRowDropped
  • Fixed : Issue persisting width when swapping columns
  • Fixed : Issue with font scaling at column level
  • Fixed : Issue setting comments

1.4.0.0

  • New: Events to further customize column and row calculations
  • New: FilterBuilder support
  • Improved: scrolling performance
  • Fixed : Invalid pointer updating cells from control events

1.3.1.0

  • New: RowViewMode, ColumnViewMode to configure where fixed rows and columns are positioned.
  • Fixed: Issue with formatting TDate & TTime values when exporting to CSV

1.3.0.1

  • Fixed: Issue managing controls when scrolling

1.3.0.0

  • New : AcceptDropFiles & OnDropFiles event
  • New : Columns Editor
  • Fixed: Issue sorting order with multiple columns
  • Fixed: Issue applying default filter type
  • Fixed: Properly rooting OnRemoveFilter event
  • Fixed: Incorrect timing of calling OnRemoveFilter event
  • Fixed: Issue updating focused cell when swapping cells

1.2.0.7

  • Improved: OnCustomizeFilterPopupEditor

1.2.0.6

  • Fixed: Issue setting width at column level when connected with a database adapter
  • Fixed: Issue persisting width at column level when changing DPI
  • Fixed: Issue with OnColumnSized and OnRowSized not called when double-clicking to auto-size columns

1.2.0.5

  • Improved: Exposed and improved row & column hidden, displayed and visible functions
  • : Displayed: Is being rendered, ignores boundaries of the visual range
  • : Visible: Is being rendered, inside the boundaries of the visual range
  • : Hidden: Is not being rendered (hidden or filtered rows, hidden columns)
  • Fixed: Issue with Excel Export clearing Layout settings
  • Fixed: Issue with checkbox and radiobutton control size on mobile

1.2.0.4

  • New: OnRemoveFilter event
  • Improved: Filter.Clear now also effectively clears filter status
  • Fixed: Issue selecting (All) clears all filters when Options.Filtering.MultiColumn true

1.2.0.3

  • Improved: filter behavior mixing list & edit in dropdown filter
  • Fixed: ACanShow changed to ACanExecute for clipboard events
  • Fixed: OnLoadCellData & OnSaveCellData not called for clipboard actions
  • Fixed: Size of bitmaps in combination with Control settings

1.2.0.2

  • Improved: added DefaultFilterType property at column level

1.2.0.1

  • Improved: Loading performance in TMS WEB Core (related to storing icons)
  • Fixed: Breaking change: CellAppearance icons are now stored under the property Icons, click ignore when opening your project
  • Fixed: Issue with high DPI calculations
  • Fixed: Issue with PasteFromClipboard missing characters
  • Fixed: Issue in TMS WEB Core web designer

1.2.0.0

  • New: Filter Row (Options.Filtering.Controls := [gfcEditor]);
  • New: OnBeforeCreateCustomFilterEditor, OnCreateCustomFilterEditor, OnAfterCreateCustomFilterEditor events
  • New: FirstPage, LastPage, NextPage, PreviousPage, PageIndex and PageCount
  • Improved: Performance
  • Improved: Filtering algorithm and combinations of AND / OR
  • Improved: Exposed EditingCell, IsEditing
  • Improved: Layouts[] priority only for normal cells by default overridable with OnGetCellLayoutHasPriority
  • Improved: Options.IO.TrimSpaces to trim spaces around text while importing from CSV
  • Fixed: Issue with mouse wheel scrolling selecting last row
  • Fixed: consistent prefix for TTMSFNCDataGridRowType values
  • Fixed: Issue with text clipping
  • Fixed: respect spaces around text while importing from CSV
  • Fixed: Rounding issue stretching Columns and Rows on VCL

1.1.0.0

  • New: Options.Keyboard.HomeKeyHandling, Options.Keyboard.EndKeyHandling
  • New: Options.Filtering.HideEmptyGroups
  • Fixed: Issue with disappearing cell controls when updating grid in VCL

1.0.0.4

  • Fixed: Issue with stretching index based & scrolling
  • Improved: Cell merging able to overwrite and extend existing merges

1.0.0.3

  • Fixed: Issue updating grid through editable cell controls
  • Fixed: Issue with selection count when there is no selection
  • Fixed: Issue calculating stretch in VCL with indexes

1.0.0.2

  • Fixed: Issue with column settings related to cell controls not being transfered properly
  • Fixed: Issue focusing filter edit on iOS & Android
  • Improved: Strings[Col, Row] property is writable now

1.0.0.1

  • Fixed: Issue with modal dialogs in combination with double-click events

1.0.0.0

  • first release
  • Fixed: Issue with DisplayToRealCell function not returning a value
  • Fixed: Issue with TAB key causing exception in TMS WEB Core

0.9.1.0

  • New: Sides property at cell Layout
  • New: Options.URL.AutoDetect (automatically detects HTTP, HTTPS, FTP, FILE, WWW, MAILTO as links)
  • New: Options.URL.AutoOpen (automatically opens URLs in the default application)
  • Fixed: Issue with progressbar rendering in VCL
  • Fixed: Issue toggling Booleans property in OnCellCheckChanged event
  • Fixed: Issue handling mouse wheel in detail grid in a master-detail relationship

0.9.0.2

  • New: gsmDisjunctCellRange mode to select items like in Windows Explorer (selection types & mode might change in future BETA updates)
  • Improved: Ability to mark filter items with TStringList objects in OnNeedFilterDropDown event (filter items might change in future BETA updates)
  • : - Sample: AValues.AddObject(">= 10", TMSFNCDataGrid1.Filter.CommonDoubleQuotedItem);
  • : - 1) CommonItem (counts towards global check all item)
  • : - 2) CommonDoubleQuotedItem (counts towards global check all item, double quoted)
  • : - 3) UniqueItem (does not count towards global check all item)
  • : - 4) UniqueDoubleQuotedItem (does not count towards global check all item, double quoted)
  • Improved: Removed DataGrid property to avoid circular references in TTMSFNCDataGridDatabaseAdapter
  • Fixed: Issue with mouse wheel scrolling in combination with sub grid in VCL
  • Fixed: Issue updating sub-grid in VCL

0.9.0.1

  • Fixed: Access violation while expanding in connection with TTMSFNCDataGridDatabaseAdapter
  • Improved: Added GridColumn & ColumnAtField properties to TTMSFNCDataGridDatabaseAdapter to get easier access to grid column properties

0.9.0.0

  • first beta release