2011-10-20 7 views
4

最初に私はFMを使い慣れていませんが、私は基本をうまく扱っています。私がする必要があるのは、連絡先情報タイプのレイアウトで、特定のフィールドに基づいてレイアウトを変更できるようにしたいということです。 Ex。レコードが作成されると、レイアウトの背景がクライアントの色やベンダーの色などに変わります。Filemakerのダイナミックレイアウト

フィールドに基づいてラベルを変更しようとしましたが、成功しませんでした。私の推測では、レイアウトは静的であり、データフィールドだけが変更されるということです。

FM Proを使用します。

おかげで、 マーク

答えて

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と呼びます)。変更中に編集できないように設定します。

レイアウトに空のフィールドを配置し、他のすべてのフィールドの下にユーザーが参照モードまたは検索モードでフィールドを入力できない場合は、条件付き書式設定を使用してフィールドの色を変更できます。

ポータルあなたは彼らが必要とされていないときに消えるためにあなたのUIのいくつかの要素をしたいときは、この手法を使用することができます

を隠します。たとえば、フィールド上のすべてのレコードが記入された場合にのみ、「送信」ボタンを表示することができます。

原稿台上ReadyForSubmit呼ば普段計算された数のフィールドを作成し、この技術を使用し、それに等の論理演算を与えるためには:

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

(上記関数の値になることに注意してください1または0)

私はその後、私のデータベースに新しいサポートテーブルを作成し、そこに私は、mytableは関係を行います。1.

に設定計算値を持つフィールドの一つを追加します:: readyForSubmitとサポート:: 1。

レイアウトで、1行のポータルを作成します。そのレイアウトにあなたの提出ボタンを入れてください。 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を実行します。

+2

条件付き書式は、同様にテキストに適用することができます。この目的のためだけに空のフィールドを持つよりもきれいかもしれません。 –

+0

ありがとう!私はこれらを試してみよう! – codeHammer

+1

もう1つのこと - 表示専用の場合は、 "data、text/html"タイプのWebビューアが時には仕事になることがあります。データ入力にウェブビューアを使用することもできますが、少し面倒です。 – Dycey

0

ファイルメーカー13のリリースでは、これを行う別の方法があるかもしれません。スライドコントロールを使用し、コントロールのパネルに名前を付け、レコードタイプに基づいて条件付きで正しいパネルに切り替えることができます。

各パネルのレコードタイプに適切なフィールドをドロップします。

http://help.filemaker.com/app/answers/detail/a_id/12012/~/using-slide-controls-and-slide-panels-in-filemaker-pro

関連する問題