4

Changes in the TPopupColumn (TGrid) do not trigger the OnSetValue event so I cant get the value from it set by the user (GetValue works fine). The problem was already reported in the 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 the value from TPopupColumn in order to combine it with for example OnMouseDown event? I tried with numerous properties of TPopupColumn but with no effect.

I will appreciate any suggestions since I would really like to keep the TPopupColumn in my project.

I'm using Delphi XE5 with Update 1.

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

Based on the guide posted by Mike Sutton I end up adding the following line to the TPopupColumn.CreateCellControl function in 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

1 回答 1

1

创建网格列非常简单。我建议您查看 FMX.Grids 中的源代码,将其复制到您自己的类中并修复损坏的位。

也看看http://monkeystyler.com/guide/Custom-Grid-Columns

于 2013-11-20T20:30:56.090 回答