Monday, July 16, 2012
Ever since Delphi XE2 was released, we regularly received emails from customers asking when our immensely popular VCL component TAdvStringGrid would be available for FireMonkey. Now, TAdvStringGrid is the result of over 15 years of work. It is built specifically for the Windows platform and many of its features are intricately bound to Windows APIs. The FireMonkey framework is based on a completely different architecture and design, so the only answer we could give to these many questions was to wait till we rebuild a new grid from the ground up. A task that would of course take a significant amount of time.
Our team first set out to explore and get acquainted and experienced with the new FireMonkey framework by taking on the development of some smaller lightweight components.Once the team was past the apprentice stage, we started architecting the foundations of the new grid with following requirements in order of priority:
1) fully respect the design principles of the FireMonkey framework: the grid uses FireMonkey objects everywhere and heavily uses styles.
2) cross-platform: like other FireMonkey components, it should be seamless to use the grid on Win32, Win64, Mac OSX and iOS.
3) high performance: grids with 500.000 rows x 10.000 columns should be perfectly usable.
4) LOB feature-rich: focus on offering a wide range of features for typical data presentation & editing in line of business applications.
5) TAdvStringGrid familiarity: focus on a clean intuitively usable & discoverable programmers interface but where possible, make it familiar for VCL grid developers.
Requirement 1 and 2 were given our earlier experience with other FireMonkey component development straightforward. Requirement 3 was by far the hardest. We literally spent weeks on trying to find implementations for achieving an architecture with a high performance that is at the same time as customizable and style-able as a FireMonkey component is supposed to be. Finally, our long experience with TAdvStringGrid also made working on requirements 4 and 5 a bit easier.
So, what feature set made it for v1.0:
- import and export: CSV, TXT, ASC, HTML, XML, RTF (native),XLS (native), streams
- clipboard support
- printing support: print to printer, print to image file, print preview component
- find & replace including find & replace dialogs
- various built-in inplace editors: edit, combobox, datepicker, dial, spin, ... and customizable
- various built-in cell types: text, bitmap, button, checkbox, radiobutton, progressbar, ... and customizable
- cell merging
- fixed header rows, fixed footer rows, fixed left columns, fixed right columns
- column freezing, row freezing
- cell scrolling & pixel scrolling modes
- various selection modes: single cell, range, column, row, disjunct column, row, cell
- sorting: single column & multi column in normal & in grouped mode
- filtering: programmatic row filtering and filter dropdowns in a column header cells
- grouping: built grouping with group headers, group summary rows
- calculations: column calculation results in fixed footer row
- HTML formatted text in cells, URLs in cells
- Fine grained control over keyboard & mouse interaction
- Lots and lots of smaller features
What is planned for upcoming updates:
Work has already started for adding full live bindings support and we have already several things working internally. We'll also be looking at inter component drag & drop. TMS Grid Filters will be updated to support the TMS FireMonkey grid and will offer this way also support for native .XLSX file import/export and of course, we look forward to all your feedback, comments and wishes to steer the development of upcoming versions of our FireMonkey grid. We'll introduce very soon a new platform for you to help us prioritizing on features you need the most.
With all the buzz around the new grid, we'd almost forget that some other new components were added to the TMS Pack for FireMonkey: TTMSFMXEdit, TTMSFMXEditBtn and TTMSFMXNavBar. The TTMSFMXEdit is an advanced edit control with configurable edit types, auto completion and lookup dropdown. TTMSFMXNavBar is an Outlook style navigation control.
Download the trial version of the TMS Pack for FireMonkey v1.5 now at: http://www.tmssoftware.com/site/tmsfmxpack.asp Registered users of TMS Pack for FireMonkey v1.0 or v1.1 receive this update v1.5 free!
This blog post has received 8 comments.
Previous | Next | Index