日付、数値フォーマットを動的に設定する

最終更新日: 2024年12月27日

日付/日付時刻型

ログオンスクリプトの設定

Designerの環境タブからスクリプトを選びます。実行タイミング "ログオン" のスクリプトで HttpSession オブジェクトにフォーマットを指定します。

p.request.getSession().setAttribute("datefmt", "yyyy/MM/dd");//日付型
//p.request.getSession().setAttribute("datefmt", "wa{alphabet}年MM月dd日");//日付型 和暦
p.request.getSession().setAttribute("datetimefmt", "yyyy/MM/dd HH:mm:ss");//日付時刻型

上のコードは固定ですが、条件によってセットするフォーマットを変更することで、西暦と和暦フォーマットに切り替えるといった動作を指定することができます。

実際のスクリプトファイルは WEB-INF/script/__sys/logon.js として保存されます。

SESSION関数

モデル項目詳細定義ダイアログの出力制御>詳細画面の設定で、日付・時刻の「フォーマット(ユーザ定義)」にSESSION関数を適用します。

SESSION("datefmt")
SESSION関数

数値型 - フォーマット項目を利用する

モデルにフォーマットを格納した項目を用意する

数値型の場合は、モデル内に用意したフォーマット情報を格納した(文字列型の)項目を指定することができます。
例えば次のように数値型のフォーマットを格納する wbTankaNumberFormat という項目を用意します。

サンプルのモデル定義

この項目はデータベースに保存しなくてもよいです。

フォーマット情報はDB保存しない

初期値としてフォーマットを指定しておきます。
(ここに式、またはスクリプトを使って複雑なルールを適用することもできます。)

初期値としてフォーマットを指定する

数値項目のフォーマット指定は、${項目ID} 表記で、項目IDを指定します。

フォーマット(ユーザ定義)に項目IDを指定する

数値型 - SESSION関数を利用する

ログオンスクリプトの設定

Designerの環境タブからスクリプトを選びます。実行タイミング "ログオン" のスクリプトで HttpSession オブジェクトにフォーマットを指定します。

p.request.getSession().setAttribute("numberfmt", "###,###");

SESSION関数

モデル項目詳細定義ダイアログの出力制御>詳細画面の設定で、数値の「フォーマット(ユーザ定義)」にSESSION関数を適用します。

SESSION("numberfmt")
SESSION関数

仕様・制約

  • この設定は画面レイアウトが"CSSレイアウト"の場合のみ利用できます。
  • 数値フォーマットの動的設定は集計ビューには適用されません。