0

我有三个 DBGrid 和三个表,其中两个与主字段链接并按预期工作。当用户点击 grid-1 时,它会在 grid-2 中显示三个项目。

当用户单击 grid-2 时,我想使用 Locate 来选择 grid-3 中的行

问题是在数据更改为适当的行之前触发了 grid-2 OnCellClick 事件。例如

Grid-2
Flowers  <-- this has focus and Dirt has focus in grid-3
Weeds    
Trees    <-- then I click here

Grid-3
Dirt
Water
Gum     <-- and using Locate in the grid-2 OnCellClick I
            want it to show Gum but grid two is still 
            internally on Flowers and stays on Dirt

在 OnCellClick 事件之后,网格似乎不会更改为 Row。

我需要一个 AfterCellClick 事件。

有人可以说明如何去做吗?

谢谢

4

1 回答 1

5

你不应该使用OnCellClick. 改为使用TDataSet.OnAfterScroll。移动完成后,当记录(行)指针移动时会自动调用它。这意味着当单击附加到第二个表的网格并将记录指针从 移动Flowers到 时Trees,第二个表的OnAfterScroll事件将在行更改后触发,并且在该事件处理程序中您可以Locate在第三个表中执行相应的操作。

于 2013-04-01T01:54:22.913 回答