当ブログに掲載しているサンプルは、すべて利用者の自己責任という形でお願いします。
ただし、明らかな不具合がある場合、ご連絡いただければ、訂正記事を出します。
また、こちらのサンプルは、別のサイト等への公開、転載は一切禁止しています。
どうしてもと言う場合は、筆者にあらかじめご連絡ください。
記事そのもののリンクについてはご自由に行っていただいてよいです。

テクてく Lotus 技術者 Slack に参加しよう!

2017年9月20日水曜日

XPagesで日付フィールドの表現方法を変えてみる

皆さん、こんにちは。
9月も終盤に突入しました。今月が期の終わりで締めの作業に入られている方も多いことでしょう。
忙しいからと無理をしすぎて、体調を崩すことがないようにしましょうね。食中毒なんてもってのほかですよ。


今日はXPagesの話題です。
そして、またまた日付に関する話題です。

フォームの日付/時刻フィールドをXPagesにバインドして表示することができます。
この時、プロパティで表示タイプや表示形式を選択することができます。
データバインドで選択できる表示方法

「表示タイプ」には"文字列"、"マスク"、"ブール値"、"数値"、"日付/時刻"の選択肢がありますが、ここは迷わず"日付/時刻"でしょう。
実際に、フィールドタイプが「日付/時刻」型の場合、バインドさせようとすると、ここは自動的に"日付/時刻"で設定されます。
表示タイプの選択肢


問題は「表示形式」です。
選択肢は"日付のみ"、"時刻のみ"、"日付と時刻"、"カスタム"が用意されています。
表示形式の選択肢

日付と時刻はそれぞれ「スタイル」の設定ができて、その選択肢は、"デフォルト"、"短く"、"中間"、"長く"、"フルモード"になります。
日付/時刻のスタイルの選択肢

画面には、もう一つ。「パターン」という項目がありますが、なぜかグレーアウトしていて選択することができません。

この状態でも色々な表現方法が選べるのはとてもありがたいのですが、やはり他の選択肢がないのは困ります。
本当に「パターン」は設定することができないのでしょうか?


実はできます。
プロパティ画面のうち、「すべてのプロパティ」タブを選択して、その中の「データ」「converter」「pattern」という項目がそれになります。
ここに表示スタイルを記述することで画面に表示するときに指定した形になります。
下図は「yyyyMMdd」と指定してあります(日付は区切り記号なしの年月日で表示されます)。
すべてのプロパティのpattern項目

ここで、patternに式を設定すると、なぜか「データ」タブの「パターン」項目がアクティブになり、設定形式を変更することができるようになります。
なぜか「パターン」が変更可能になる

これはもしかして、バ・・・
いいえ。いいんです。結果的にちゃんと変更できるんですから、何の問題もありません!


では、実際にどのように表示されるのかを確認してみましょう。
下図は、日付/時刻フィールドを設定したNotesの文書です。
Notes文書

これをXPagesにバインドして色々な形で表示するようにしてみました。
表示方法を色々と変えてみた


ちょっとしたことですが、これでアプリケーションの見栄えを簡単に変更することができますので、一度試してみてください。





それでは今日はこの辺で・・・



Notes/Dominoで困ったことがあれば、弊社にお問い合わせください。
IBM Championの私が承ります!
お問い合わせはこちらから→Lotus Notes/Domino カスタマイズとセキュリティ強化 - 株式会社エフ

0 件のコメント: