FireMonkey - workaround for missing OnSetValue event in TPopupColumn

Changes to TPopupColumn (TGrid) do not fire the OnSetValue event, so I cannot get the value set by the user (GetValue works fine). The issue has already been noted in QualityCentral: http://qc.embarcadero.com/wc/qcmain.aspx/qcmain.aspx?d=113448

Have any of you found a workaround? Is there any other way to get a value from TPopupColumn to combine it, for example, with the OnMouseDown event? I tried with numerous TPopupColumn properties, but without effect.

I will be grateful for any suggestions since I really would like to keep TPopupColumn in my project.

I am using Delphi XE5 with Update 1.

========================= SOLUTION ========================== ==

Based on a guide published by Mike Sutton, I end up adding the following line to the TPopupColumn.CreateCellControl function in the FMX.Grid.pas file.

TPopupCell(Result).OnChange := DoTextChanged;

Than I saved a copy of the file and added it to my project, which fixed the problem.

+4
source share
1 answer

Creating grid columns is pretty simple. I suggest you look at the source in FMX.Grids, copy it into your own class and fix the broken bit (s).

Also see http://monkeystyler.com/guide/Custom-Grid-Columns

+1
source

All Articles