Editor/Focus Issue when using etComboEdit

Hey folks,

When using TTMSFMXLiveGrid (and TTMSFMXGrid) we're experiencing an odd UX issue with etComboEdit column types.

When a cell that is an etComboEdit is selected, and then you press a key (e.g. the letter 'X') while focused on that cell, the combo editor is invoked with the key entered selected (i.e. FMX internally calls Edit.SelectAll and the letter 'X' is selected in the editor portion of the combo edit).  However, subsequence keypresses clear the currently selected text in the combo editor, then proceeds to work normally.

Basically, this requires 2 keypresses before the combo edit works "normally" (By normally, I mean in the same fashion as a standard TComboEdit dropped on a TForm)

Steps to reproduce (menu options may differ slightly - we're using Delphi XE10)

1) Create a new Multi-device/Firemonkey application
2) Drop a TTMSFMXGrid on the default TForm
3) Set Column1 to EditorType = etComboEdit, and add 3 or 4 items to the ComboItems property
4) Run the application, then highlight the first editable cell (if you invoke the editor via the click event, just hit escape to make the cell highlighted, but not in edit mode)
5) Press an alphanumeric key on the keyboard, which begins editing in the combo edit (notice that the key you entered has caused a "SelectAll" on the editor portion)
6) Press another alphanumeric key, and the editor contents will clear and the editor will behave as expected

We would like the first keypress to start editing immediately in the combo edit (standard TComboEdit behaviour).  For a use case example, when users start typing on the field we want to start matching item codes immediately.

We've tried the following:

1) Grid.Options.Keyboard (Arrow/Enter/TabKeyHandling => True/False has no effect)
2) Assigning TComboEdit(CellEditor).OnEnter => too late to address because internally Edit.SelectAll is called after the assigned OnEnter handler of an object; (re)setting .Text and/or calling .SetFocus on the editor during this method was our attempted workaround

Thanks in advance for your assistance!


We have been able to reproduce this and have applied a fix, the next version will address this.

Kind Regards, 

Much appreciated Pieter - thanks!