【问题标题】:Select Alias isn't changing to the proper alias选择别名未更改为正确的别名
【发布时间】:2018-04-26 18:27:55
【问题描述】:

我在网格中有一个组合框。该表单有很多表(在 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

....

我遇到的问题是,除非我单步执行代码,否则 alias() 永远不会进入 RELAY。无论它从哪个别名开始(通常是 HEAT),如果我在 GO TOP 处设置一个断点,则 alias() 将显示为 EVENT。它到达 RELAY 的唯一方法是我单步执行代码。

关于为什么选择别名实际上没有选择别名的任何想法?

【问题讨论】:

  • 当您在网格中时调用该代码,不是吗?
  • 基本上是的。该代码是从网格内组合框中的单击事件调用的。
  • 然后,只要您的代码结束,别名就会被设置回网格的别名。通过步进,您正在创建等待状态。

标签: visual-foxpro


【解决方案1】:

通常在这种情况下,我将焦点设置到网格以外的控件上。问题是由于网格有焦点,它总是会选择绑定到网格 RecordSource 的别名。

因此,在您的 SELECT 之前,您可以执行类似“Thisform.cmdOK.SetFocus()”之类的操作(它可以是除网格之外的任何表单控件)。这应该可以解决问题。

【讨论】:

  • 做到了!天才!
  • 请务必将此标记为答案。这将使社区受益。谢谢!
  • @EJulian,我不是从一开始就这么说的吗?
猜你喜欢
  • 2020-10-26
  • 1970-01-01
  • 2012-03-23
  • 2013-04-01
  • 2016-02-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多