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