如何在没有屏幕闪烁的列表视图中显示顶部附近的特定记录?

时间:2015-09-29 21:34:08

标签: filemaker

我有一个脚本(在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与目标记录的关系

3 个答案:

答案 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 ]