首先,我是FM新手,但我对基础知识有很好的掌握。我需要做的是 - 在联系信息类型布局中,我希望能够根据特定字段更改布局。防爆。当记录显示时,布局的背景将改变客户端的颜色,供应商的另一种颜色等
我尝试根据字段更改标签,但没有成功。我的猜测是布局是静态的,只有数据字段会改变。
我们使用FM Pro。
谢谢, 标记
答案 0 :(得分: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."
)
要使背景颜色更改,您可以使用有条件格式的字段。我通常会添加一个空的数字字段(对于此示例,我们将其称为emptyField)并将其设置为在修改期间无法编辑。
如果在布局上放置emptyField,在所有其他字段下面并禁止用户在“浏览”或“查找”模式下输入字段,则可以使用条件格式来更改字段的颜色。
当您希望UI的某些元素在不需要时消失时,可以使用此技术。例如,如果您希望仅在填写字段上的所有记录时才显示“提交”按钮。
要使用这种技术,我通常会在原始表上创建一个名为ReadyForSubmit的计算数字字段,并为其提供如下逻辑计算:
not IsEmpty(field1) and ... and not IsEmpty(fieldN)
(注意上述函数的值为1或0)
然后,我将在我的数据库中创建一个新的支持表,并向其添加一个计算值设置为1的字段。
然后我将在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
然后,您将使用脚本触发器在On Record Load时运行goToTab。
答案 1 :(得分:0)
随着filemaker 13的发布,可能还有另一种方法可以做到这一点。您可以使用滑动控件,在控件中命名面板,并根据记录类型有条件地切换到正确的面板。
您可以在每个面板中删除记录类型的相应字段。