FireMonkey - TPopupColumn中缺少的OnSetValue事件的解决方法

时间:2013-11-18 20:52:21

标签: delphi firemonkey delphi-xe5 tgrid

TPopupColumn(TGrid)中的更改不会触发OnSetValue事件,因此我无法从用户设置的值中获取该值(GetValue正常工作)。 质量问题已在QualityCentral中报告:http://qc.embarcadero.com/wc/qcmain.aspx/qcmain.aspx?d=113448

有没有人找到解决方法? 有没有其他方法可以从TPopupColumn中获取值以便将其与例如OnMouseDown事件相结合?我尝试了TPopupColumn的众多属性但没有效果。

我会很感激任何建议,因为我真的希望将TPopupColumn保留在我的项目中。

我正在使用Delphi XE5和Update 1.

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

根据Mike Sutton发布的指南,我最终将以下行添加到FMX.Grid.pas文件中的TPopupColumn.CreateCellControl函数。

TPopupCell(Result).OnChange := DoTextChanged;

我保存了该文件的副本并将其添加到我修复问题的项目中。

1 个答案:

答案 0 :(得分:1)

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

另请查看http://monkeystyler.com/guide/Custom-Grid-Columns