Filemaker中的动态布局

cod*_*mer 4 layout filemaker dynamic

首先,我是FM新手,但我对基础知识有很好的掌握.我需要做的是 - 在联系信息类型布局中,我希望能够根据特定字段更改布局.防爆.当记录显示​​时,布局的背景将改变客户端的颜色,供应商的另一种颜色等.

我试图根据字段更改标签,但没有成功.我的猜测是布局是静态的,只有数据字段会改变.

我们使用FM Pro.

谢谢,马克

pft*_*221 8

FileMaker布局是静态的,但您仍可以根据字段值更改布局:

计算字段

如果要更改区域中显示的数据,可以使用"计算"​​字段.一个典型的例子是状态字段.要执行此操作,您需要在表中添加一个新字段,然后在该字段上输入计算,如:

Case (
     IsEmpty(myTable::myField) ; "Please enter a value for myField." ;
     myTable::myField = "wrong value" ; "Please enter a correct value for myField." ;
     "Everything seems okay."
 )
Run Code Online (Sandbox Code Playgroud)

条件格式

要使背景颜色更改,您可以使用有条件格式的字段.我通常会添加一个空的数字字段(对于此示例,我们将其称为emptyField)并将其设置为在修改期间无法编辑.

如果将emptyField放在布局上,在所有其他字段下面并禁止用户在"浏览"或"查找"模式下输入字段,则可以使用条件格式来更改字段的颜色.

门户隐藏

当您希望UI的某些元素在不需要时消失时,可以使用此技术.例如,如果您希望仅在填写字段上的所有记录时才显示"提交"按钮.

要使用这种技术,我通常会在原始表上创建一个名为ReadyForSubmit的计算数字字段,并给它一个逻辑计算,如:

not IsEmpty(field1) and ... and not IsEmpty(fieldN)
Run Code Online (Sandbox Code Playgroud)

(注意上面函数的值是1或0)

然后,我将在我的数据库中创建一个新的Support表,并向其添加一个计算值设置为1的字段One.

然后我将在myTable :: readyForSubmit和Support :: One之间建立关系.

在布局上,创建一行的门户.将"提交"按钮放在该布局中.现在,当readyForSubmit计算为1时,将出现按钮.当它计算为0时,按钮将被隐藏.

隐藏的选项卡浏览器

最后,您可以使用选项卡浏览器将标题字体大小设置为1磅,隐藏边框,并以编程方式控制浏览器.您可以使用它为不同类型的记录进行不同的字段排列.要执行此操作,您首先要为选项卡浏览器的每个选项卡指定一个对象名称,例如Tab1,Tab2,Tab3.

然后,您将添加一个脚本goToTab,其中包含您希望转到每个选项卡的逻辑.说:

If (myTable::myField = "corn")
    Go to Object (Tab1)
Else If (myTable::myField = "squash")
    Go To Object (Tab2)
End If
Run Code Online (Sandbox Code Playgroud)

然后,您将使用脚本触发器在On Record Load时运行goToTab.

  • 条件格式也可以应用于文本; 这可能比仅为此目的有一个空场更清洁. (2认同)