2011-10-20 59 views
4

首先我对FM很陌生,但我对基本知识有很好的把握。我需要做的是 - 在联系信息类型布局中,我希望能够根据特定字段更改布局。防爆。当记录被调出时,布局的背景会改变客户端的颜色,供应商的另一种颜色等。Filemaker中的动态布局

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

我们使用FM Pro。

谢谢, 马克

回答

8

的FileMaker布局是静态的,但仍然有一些事情可以做,基于字段的值来改变布局:

计算领域

如果你想显示的区域中的数据发生变化时,可以使用Calculation字段。一个典型的例子是状态字段。要做到这一点,你将新的字段添加到您的表并使用该字段输入的计算,如:

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

条件格式

为了让事情像你可以使用条件格式化字段背景的颜色变化。我通常会添加一个空的数字字段(在这个例子中,我们将其称为emptyField),并将其设置为在修改过程中无法编辑。

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

门户隐藏

,当你想你的用户界面的一些元素是不需要的时候消失,您可以使用这种技术。例如,如果您希望只有在字段中的所有记录都已填写时才显示“提交”按钮。

要使用原始表这项技术,我通常会创建一个计算数字字段,称为ReadyForSubmit,并给它像一个逻辑运算:

not IsEmpty(field1) and ... and not IsEmpty(fieldN) 

(请注意,上面的函数的值会1或0)

然后我会在数据库中创建一个新的支持表,并给它添加一个字段中的一个设置为1

计算的值,那么我会为myTable之间的关系:: readyForSubmit和支持::一个。

在布局上,创建一行门户。将您的提交按钮放入该布局中。现在,当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 

然后,您将使用脚本触发器运行goToTab时,在记录加载。

+2

条件格式可应用于文本以及;这可能比仅仅为了这个目的而具有空的域更清洁。 –

+0

谢谢!我会尝试这些! – codeHammer

+1

另一件事 - 如果仅用于显示,“数据,文本/ HTML”类型的Web查看器有时只是工作。也可以使用webviewer进行数据输入,但它有点烦琐。 – Dycey