选择别名未更改为正确的别名

时间:2018-04-26 18:27:55

标签: visual-foxpro

我在网格中有一个组合框。表单有很多表(在init中打开并分配了别名)。网格具有属性

LinkMaster=EVENT

RecordSource设置为HEAT

网格中的列将controlSource设置为Heat.Event_no,当前控件为CmbEvent。 CmbEvent控件源设置为heat.event_no。一切都在网格中工作,除了......

当我从组合框中选择一个项目时,以下代码作为从Click事件调用的过程运行:

IF event.relay
 SELECT RELAY
 GO TOP IN RELAY
 SET ORDER TO 
GO OrigRelayRec IN RELAY

...

我遇到的问题是,除非我单步执行代码,否则别名()永远不会转到RELAY。无论它起始于什么别名(通常是HEAT),如果我在GO TOP中设置了一个断点,别名()显示为EVENT。如果我单步执行代码,它进入RELAY的唯一方法就是它。

为什么选择别名实际上没有选择别名?

1 个答案:

答案 0 :(得分:2)

通常在这种情况下,我将焦点设置为网格以外的控件。问题是,由于网格具有焦点,因此它将始终保持选择的别名绑定到网格RecordSource。

所以在你的SELECT之前,你可以做类似" Thisform.cmdOK.SetFocus()" (除了网格之外,它可以是您表单上的任何控件)。这应该可以解决问题。