The grid columns can be configured to use an etNumeric or etSignedFloat Editor type but the E character is not numeric. You could however use a etSignedFloat editor type and then convert the value with FloatToStrF.
ARow: Integer; var CellEditorType: TTMSFMXGridEditorType);
begin
CellEditorType := etSignedFloatEdit;
end;
Please note that with this approach, the value in the editor will be shown as a normal float, while the grid cell will show the scientific notation. We will investigate if we can add a mode to allow scientific notation inside the editor.
Your reply was helpful and educational. But I do need the user to be able to enter the value in scientific notation. Ideally, the user would be able to input the value in scientific or decimal notation, whichever was more convenient. If TMS can extend the editing modes available, that would be great. Perhaps in the interim, I could create a custom editor for this purpose, but I have very little idea how to go about it.
Pieter, Coming back to your code above, I should like to allow the E character to enable scientific input so prefer not to use the etSignedFloat Editor type. If I use etEdit, it works nicely if the user enters a valid string in scientific format. If the user enters invalid characters, the entire string eventually gets rejected but it is nicer to prevent entry of invalid characters in the first place. Is there any way to specify valid characters for use with etEdit? I have tried using the editor etValidCharsEdit which correctly suppresses invalid characters but seems to always give zero for the floating point value at the code step
CellString := FloatToStrF((CellEditor as TTMSFMXEdit).FloatValue, ffExponent, 8, 4);