週末は子供の運動会でした。結構多かったのではないでしょうか。
神戸はお天気に恵まれ、真っ黒に日焼けしてしまいました(汗
さて先週、フェイスブックで少し落ち込んだ記事が本日の記事です。
まったく消えてしまったので、今から再度作り直しなのですが、既にできあがったデータベースを使っての記事作成ですので、画像が思うように取れるのか?
至らぬ点はご容赦ください。
前回は日付順ビューをXPagesでWEB化しましたので、今回はメインフォームをWEB化して完成させたいと思います。
早速ですが、新規XPageで"m_mainForm"を作成します。
データとして、"メイン-main"フォームをバインドしておきます(デフォルトアクションは「文書を開く」)。
続いて全てのプロパティを開き、[データ]-[data]-[dominoDocument[0]]内の下記プロパティを変更します。
computeWithForm:both |
このプロパティが従来のNotes開発者には非常に重要な項目かと思います。
要はフォームのフィールドに設定された式をXPageでも実行させるというものです。
onload、onsave及びその両方で実行させることが可能です。
本件、9月にフェイスブックで少し触れたのですが、できればXPagesワークショップのような初心者向けの講義や資料にはぜひ組み込んで頂きたいと感じます。
さて、それでは本題に戻ります。
フォームのデータがバインドされましたので、フィールドをドラッグ&ドロップして配置します。
※作成日・作成者・編集日・編集者の4項目は2回ずつ表示されておりますので、上側のみ配置します。
データバインドコントロールの選択ダイアログが表示されますので、以下のように設定してOKします。
Created/Createdby/Modified/Modifiedby : 計算結果フィールド Title : 編集ボックス Category1/Category2 : コンボボックス Body : リッチテキスト |
それではブラウザでプリビューしてみましょう。
計算結果の4項目は既にセットされた状態で開くことができたかと思います。
それでは標題の変更とフィールドの設定(余白等)を適宜変更してください。
私の環境では以下のようになりました。
次にカテゴリー項目の選択肢を設定します。
category1を選択してください。
コンボボックスの値を設定します。左から2番目のボタン「式項目の追加」をクリックしてください。
言語:JavaScript(サーバーサイド)を確認し、「動的に計算」として下記設定を行います。
@DbColumn(@DbName(), "byCategory1", 1) |
同様にcategory2については、以下の式を設定します。
@DbColumn(@DbName(), "byCategory2", 1) |
いずれもそれぞれのビューの1列目の値を選択肢として表示するというものになります。
プリビューすると、それぞれ設定ができていることが分かります。
次にアクション用のボタンを配置します。
まずは先頭にコンテナコントロールからパネルを配置します。
そのパネル内に3個のボタンを配置し、左からラベルを「戻る」「編集」「保存」とします。
「編集」ボタンの「可視」プロパティの右の◇をクリックし「値の計算」を選択します。
左のペインで「参照」を選択し、[currentDocument]から[isEditable():boodean]をダブルクリックします。
条件に設定値が入りますので、先頭に"!"を入力し、否定形とします(編集モードでない場合に表示させる)。
続いて「保存」ボタンの「可視」プロパティです。
先と同様[currentDocument]から[isEditable():boolean]をダブルクリックしますが、今回は否定しませんので、"!"は不要です(文書が編集時のみ表示させる)。
続いてそれぞれのイベントですが、下記のように設定します。
「戻る」ボタン
シンプルアクション 基本/ページを開く/m_byDate |
「編集」ボタン
シンプルアクション 文書/文書モードの変更/編集モード |
「保存」ボタン
シンプルアクション 文書/文書の保存/document1 基本/ページを開く/m_byDate |
以上で一旦保存して閉じます。
次に前回作成しましたXPage「m_byDate」から開く設定を行います。
m_byDateを開き、ビューの列「title」を選択します。
表示プロパティ内「列の値をリンクとして表示する」にチェックし、文書を開くモードは「読み取り専用」とします。
続いて新規作成ボタンです。
先ほどのフォームと同様、先頭にパネルコントロールを配置し、ボタンをひとつ追加し「新規作成」とします。
シンプルアクション 基本/ページを開く/m_mainForm/新規文書 |
以上で完成です。
m_byDateをブラウザでプリビューし、さまざまな動作を確認してください。
なお現時点で、Notesクライアントとの大きな違いがひとつございます。
カテゴリについて、Notesクライアントでは複数選択や新規項目の追加が可能ですが、現状のXPageではそこまで踏み込んでおりませんので、ご了承ください。
なおここまでの内容について、こちらよりダウンロード可能ですので、ご自由にお使いください。
・・・申し訳ありません、アラがあるのは確認済ですので、お許しを(汗