我有一个脚本(在FileMaker 14中),它根据特定条件将变量$_record_number
设置为Get ( RecordNumber )
。一旦设置完毕,我想将该记录带到列表视图的顶部。 (可能永远不会满足标准且$_record_number
为空。)
执行此操作的脚本部分如下所示:
Go to Record/Request/Page [ Last ]
Refresh Window []
Go to Record/Request/Page [ No dialog ; Max ( $_record_number ; 1 ) ]
当Refresh Window
步骤不存在时,脚本无法正常工作。它不是将记录带到列表视图的顶部,而是将其带到底部。
不幸的是,当脚本重绘布局时,Refresh Window
步骤会导致窗口闪烁。
有没有办法在不使用Refresh Window
的情况下复制上述步骤的最终结果并避免重绘屏幕?
我尝试过的失败技术:
Refresh Object
代替Refresh Window
定位对象Go to Related Record
与目标记录的关系答案 0 :(得分:1)
如果您使用的是FileMaker 13或更高版本,则可以尝试Refresh Object
脚本步骤而不是Refresh Window
。有关该特定步骤的详细信息,请参阅http://www.filemaker.com/help/13/fmp/en/html/scripts_ref2.37.62.html。
我有时会在没有Refresh Window
的情况下刷新门户网站时出现问题,但是如果您只需要在变量执行时更新标签或按钮上的文本,那么它应该可以正常工作。
答案 1 :(得分:0)
Chuck,一个简单的选择是在门户表中添加一个未存储的calc字段,其计算结果为Get(RecordNumber)= $ _record_number。您可以设置门户网站的排序以对此calc字段进行反向排序。由于只匹配字段应匹配,因此应始终将所需记录(如果有)弹出到顶部,否则将忽略此条件。
另一种选择是在循环中手动逐步浏览您的门户网站,并在找到匹配项时停止。
最后,我想知道存储和测试门户网站表的主键而不是其记录号是否更清晰,但这当然超出了这个问题的范围。祝你好运: - )
答案 2 :(得分:0)
我在FM14,我觉得这很有效:摆脱去往最后一条记录和刷新窗口的行,然后插入'Scroll Window [End]',例如
Scroll Window [ End ]
Go to Record/Request/Page [ No dialog ; $recordNumber ]