Listview Filemaker 2013,动态更改列表

Listview Filemaker 2013,动态更改列表,listview,foreach,filemaker,Listview,Foreach,Filemaker,FM脚本noob在这里,给自己买了一个Filemaker的副本,到目前为止,我发现它非常有趣 然而,我想知道当增量超过一定数量时,是否有可能限制列表中显示的内容 例如,假设我有一个任务列表,并附有会议记录 理想情况下,我希望保持运行的总分钟数,当它们达到450分钟(平均工作日的分钟数)以上时,它将停止显示更多的记录 基本上,这样我就可以快速了解我今天可能完成的任务 或者换句话说,是否可以在Filemaker中复制以下PHP代码 <?php $foo=0; //running total

FM脚本noob在这里,给自己买了一个Filemaker的副本,到目前为止,我发现它非常有趣

然而,我想知道当增量超过一定数量时,是否有可能限制列表中显示的内容

例如,假设我有一个任务列表,并附有会议记录

理想情况下,我希望保持运行的总分钟数,当它们达到450分钟(平均工作日的分钟数)以上时,它将停止显示更多的记录

基本上,这样我就可以快速了解我今天可能完成的任务

或者换句话说,是否可以在Filemaker中复制以下PHP代码

<?php

$foo=0; //running total of mins

foreach($tasks as $task){

$foo=$foo + $task['mins'];

if($foo > 450){break;}else{echo "Task: ".$task['name']."<br>";}

}

?> 

您可以在已排序的任务列表上循环,并将符合条件的任务的主键添加到返回分隔的全局字段中。超过小时数时退出循环。然后将此全局字段用作指向任务的关系中的源

Set Variable [ $hours = 0 ]
Set Variable [ $MaxHours = 8 ]
Loop
    Exit Loop If ($hours > $maxHours)
    Set Field [ myTable::globalKeyField ; myTable::globalKeyField & "¶" & task::id ]
    Set Variable [ $hours = $hours + myTable::duration ]
    Go To Record/Request [ Next ]
End Loop

我首先在任务数据库中创建运行总数。如果您有一个按现有排序定义排序的自引用对象(无论您在初始堆叠列表中使用什么),则为TotalMinutes创建一个计算字段,定义为Min+sum(totalpriorrecords)。为了简洁起见,我在这里略读了一下指南,但totalpriorrecords将通过关系和您使用的现有排名来实现

然后,您可以通过创建任务的TO来实现这一点,并与布局的表上下文建立关系,其中布局表的calc或set字段MinutesInDay设置为450,然后使用task::minutes 在FM13中,我认为您还可以使用一些针对现有TO的sql查询技巧来更轻松地实现这一点,并保存多个TO以获取所需内容

一旦您有了要执行的有限任务,您就可以创建价值列表或门户,该列表或门户仅显示总计450个项目的任务列表

基本上,这样我就可以快速了解我的大致任务 可能今天就完成了

在Filemaker中,可以找到要显示的记录(或忽略不显示的记录)

然而,不可能在总结的基础上得出结论。IMHO,解决问题的最简单方法是显示所有任务并有条件地格式化您感兴趣的组。条件格式的公式是=

Tasks::sRunTotal < 450

然后使用“省略多个记录[]脚本”步骤来省略其余的记录。

这听起来像是我的想法,所以我需要使用一个按钮,当按下该按钮时,运行您提到的脚本吗?啊,我明白您的意思,但我如何创建摘要字段?这是我的想法,只需要在我现有的摘要字段中勾选running total框。
Tasks::sRunTotal > 450