カレンダーに独自のフィールドを追加するには、どのようにしますか?
概要
自分のテーブル(1つまたは複数)にあるフィールドを、カレンダーの2か所に表示できます。メインのカレンダーの表示(「日」「週」「月」など)と、イベント詳細のポップオーバー(イベントをクリックすると表示されるもの)です。
表示の属性を変える方法をいくつか概説します:
DayBack for FIleMaker: Customizing the Event Display
SeedCode
チャンネル登録者数 1062人
DayBack for FIleMaker: Customizing the Event Display
<div class="player-unavailable"><h1 class="message">エラーが発生しました。</h1><div class="submessage"><a href="http://www.youtube.com/watch?v=Ky9xeDs6I84" target="_blank">www.youtube.com</a> での動画の視聴をお試しください。また、お使いのブラウザで JavaScript が無効になっている場合は有効にしてください。</div></div>
http://www.youtube.com/watch?v=Ky9xeDs6I84
イベントをクリックした時に、あらかじめ用意されているWebビューアのポップオーバーではなく、独自のイベントのレイアウトを表示することもできます。詳しくは「自分で作ったレイアウト」を参照してください。
メインのカレンダーの表示(「日」「週」「月」など)
カレンダーを構築した際に、「DBk_EventSummaryCalc」という名前のイベントのテーブルにフィールドを作成しました。このフィールドの定義を編集して、カレンダーに追加のフィールドを含めます。「SampleEvents」テーブルで設定しているように、連絡先など関連レコードからフィールドを含めることもできます。
ここにはフィールドをいくつでも含めることができます。ただし、リレーションシップが「深くなる」とカレンダーがFileMakerからそのデータを取得するのが遅くなることを知っておいてください。したがって、イベントのテーブルからのみフィールドを使用するのであれば、動作は高速です。関連フィールドを含めると若干遅くなりますが、関連フィールドはとても便利なので誰もが使っています(サンプル中にある連絡先の電話番号は関連フィールドです)。集計フィールドや集計の計算を含めると、かなり遅くなることがあります。
値の間のセパレータは、現状ではパイプ(「|」)であることに注意してください。セパレータは、「DBk_WebViewerSource」フィールド(これも自分のイベントのテーブルにあります)を編集することにより変更できます。これについては次のセクションで説明します。
イベント詳細のポップオーバー(イベントをクリックすると表示されるもの)
カレンダー中のイベントをクリックすると、イベントのテーブルに追加した「DBk_WebViewerSource」フィールドで指定したフィールドが表示されます。
このフィールドには、フィールドのリストが保存されていて、このフィールドの定義を編集することで、テーブル中のフィールドの最適な組み合わせを見つけることができます。たとえばイベントと連絡先をリンクしないのであれば、次のようにすることができます。
contactID = id_contact ;
ではなくて
contactID = DBk_Unused ;
「DBk_Unused」は、カレンダーを構築する時に追加したフィールドの1つで、該当する値がない場合の属性として使用できます。日付と時刻のフィールドは必須で、概要とテーブルのプライマリキーの「id」も必須です。「DBk_Unused」を他にも使うことはできますが、以下のものなどは含めることを検討してみてください。
ステータス:
イベントを色分けするためのフィールドです。「ステータス」ではなく会社やプロセスで分けるかもしれませんが、フィールドを色分けすると便利です。この計算式中では、変数の名前は常に「status」であることに注意してください。ローカライズのファイルを編集することで、カレンダーに表示される「ステータス」の語は変更できます。難しいように思えるかもしれませんが、そんなことはありません。
リソース:
カレンダーの「リソース」表示で、列になるフィールドです。リソースは営業担当者かもしれませんし、トラックや床屋の椅子かもしれません。社内で競合するリソースがある場合は、ここで割り当てます。イベントを見る(そしてカレンダーがびっしりと埋まっていることを納得する)ための、とてもパワフルな方法です。リソースについてはこちらを参照してください。
緊急のイベントには警告のアイコンを表示するなど、イベントにアイコンを追加することはできますか?
Macでは簡単に設定でき、見た目もクールです。こちらの記事を参照してください。Windowsでは、これを実行する方法はまだありません。http://www.seedcode.com/add-icons-to-dayback-calendar/
タブごとにフィールドを変える
カレンダーの表示に応じて別のフィールドが見えるようにすることはできますか?
はい、できます。上述のセクションでは「DBk_EventSummaryCalc」という名前のイベントのテーブルに作られているフィールドを編集する方法を解説しました。上述のようにフィールドのリストを作る代わりに、表示する値をカレンダーのモード(モードとは、「週」表示など、「表示」と呼んでいるものです)に応じて変えるIf文を含めることができます。
たとえば以下の行の代わりに……
desc = Description ; // イベントの説明やメモのフィールド
……次のようにすることができます。
desc = If( $$sc_Mode = "Day" ; Left ( Contacts::Notes ; 50 ) & "... " & Description ; Description ) ; // イベントの説明やメモのフィールド
このようにすると、ひとつひとつのイベントの縦方向に少し余裕のある「日」表示で、関連する連絡先に書かれているメモの先頭の50文字が表示されます。
「$$sc_Mode」変数に使用される値の一覧は、「カレンダーのモード」で参照できます。
原文:AddingFields|https://www.seedcode.com/pmwiki/index.php?n=DayBackForFileMaker.AddingFields
コメント
0件のコメント
サインインしてコメントを残してください。