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

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

2009年2月19日木曜日

ノーツDBを作ってみよう2フォームを作成しよう(3)フォームアクションを追加する

前回は、フォームにフィールドを配置しただけで終わってしまいました。フォームの保存すらしていません。しかし、8.5のデザイナではフォームを作成した時点で保存されているのです。もちろん、フィールドなどは配置した後に保存をしないと行けませんが。
とにかく、フォームを『作成』した時点で、保存されるというのは、従来のデザイナと違う点です。気をつけましょう。

さて、今回はフォームにアクションを追加します。
筆者はよく、「保存して閉じる」「閉じる」「キャンセル」「編集する」というアクションを作成します。
ワークフローのように特別なアクションが必要なもの以外であれば、ほとんどこのアクションを作っています。

アクションの作成方法は従来と変わりません。[作成][アクション][アクション]メニューを実行します(下図参照)。





















いつものようにプロパティ画面が表示されます。これEclipseベースには見えないですね。
さて、入力しましょう。
「名前」と「ラベル」の違いですが、「名前」は任意のものです。このアクションが何をしているのかをわかりやすく覚えておくためのものなので好きに書いてください。







ここでは、「文書を保存できたら閉じる」としましょう。
「ラベル」は、実際にフォームのアクションにどのように表示するかを設定するものです。
ここを省略すると、「名前」でつけたものがそのまま表示されます。下位バージョンとの互換性を保つためでしょう。
ここでは、「"保存して閉じる"」としましょう。""は文字列ということを表しますので、必要です。これがないと「保存して閉じる」という変数と認識されますので注意してください。

その他、筆者の場合は、「アクションメニューにアクションを含む」のチェックを外します。また、適当なアイコンを選択してください(アイコンを作るのが好きな人は自作して登録も出来ます。)









次に、非表示式の設定を行います。真ん中のタブを開いて、「プリビュー(読み込み)」と「読み込みモード」にチェックをつけます。文書を保存するという行為をするアクションなので、読み込みモード時にクリックされても困るので、このようにします。
最後にこのアクションの式を記述します。これも従来の様に、「プログラムペイン」に記述できます。
筆者はこのアクションは、「@If(@Command([FileSave]);@Command([FileCloseWindow]);"")」と記述しています。保存が成功したら文書を閉じますということですね。

残るアクションも同様に作成します。
1.名前は「文書を閉じる」、ラベルは「"閉じる"」で、「@Command([FileCloseWindow])」、非表示式は「プリビュー(編集モード)」と「編集モード」にチェックをつけます。

2.名前は「文書を保存しないで閉じる」、ラベル「"キャンセル"」で、「FIELD SaveOptions:="0";@Command([FileCloseWindow])」、非表示式は「プリビュー(読み込みモード)」と「読み込みモード」にチェックをつけます。

3.名前は「文書を編集モードにする」、「"編集する"」で、「@Command([EdituDocument])」、非表示式は「プリビュー(読み込みモード)」と「読み込みモード」にチェックをつけます。

左図はフォームアクションを追加した状態のフォームです。









と言うことで次回に続きます。次回はフォームを完成させます。

0 件のコメント: