0

在 Filemaker Pro 11 中,我编写了一个脚本,该脚本由脚本触发以在 OnRecordLoad 的每个实例上运行,但是我不希望它在用户在列表或表视图中工作时运行。

是否有一些代码可以放在脚本的开头,这些代码可以按照以下逻辑进行操作:

“如果当前视图不 = 表单视图,则结束脚本”

这将在脚本运行之前有效地结束脚本。

我是使用 FM 的新手,我想不出一种方法来检查脚本中的当前视图状态。如果这不可能,有没有办法根据用户当前所在的视图(表单、列表或表格)来限制启用某些脚本触发器?

感谢您的任何帮助,您可以提供!

4

2 回答 2

2

使用 Get(LayoutViewState) 函数 ( http://www.filemaker.com/12help/html/func_ref2.32.50.html )

If[ Get ( LayoutViewState ) = 0 ]
    //They're in form view, do stuff
Else
    //They're in list view or table view, skip
End If
于 2013-02-05T18:36:04.950 回答
1

您的脚本应在开头包含以下几行:

If[Get(LayoutViewState)<>0]{
    Exit Script[]
}

这基本上确保了脚本只会在用户的布局在表单视图中时运行。

Get(LayoutViewState)返回:

  • 0用于表单视图,
  • 1用于列表模式
  • 2用于表格视图。

类似的函数是 Get(WindowMode),它返回:

  • 0表示浏览模式
  • 1用于查找模式
  • 2用于预览模式

希望这可以帮助。

于 2013-02-05T18:38:44.043 回答