みなさま、こんにちは!
先週のテクてくカフェ、盛り上がりましたね。
Notesアプリに限定した機能に関するディスカッションでしたので、次々出てくるというものではありませんでしたが、ひとつ出ると派生的に次に繋がるのがおもしろかったです。
大阪PVは音声がうまく双方向に繋がらず、その点は少し残念ですが、今後の対策に期待してます!
さて、先日は単機能の掲示板のフォームとビューを作成しました。
今回はフォームのカテゴリフィールドをダイアログリストに変更し、過去履歴から選択できるように修正してみます。
過去履歴を参照するには、Excelでいうvlookup関数のような関数
@DbColumnを利用します。
まずはヘルプ文書を見てみましょう。
文面だけ読むと複雑なことが書かれているのですが、構文は以下の通りです。
@DbColumn(
class:cache;server:database;view;columnNumber)
今回のデータベースにあてはめた場合、
class : "Notes" または ""
cache : "NoCache"・・・検索するたびに最新情報を取得するためのオプション
server:database : "" ・・・同一データベース内に対象のビューがある場合は省略可
veiw : byCategody1 及び byCategory2
columnNumber : 1 ・・・1列目のデータを参照する
となります。
それでは「メイン」フォームを開いてください。
まずはカテゴリ1からです。
フィールド「category1」を選択し、種類をテキストからダイアログリストに変更します。
制御タブに移動し、選択で「式で選択肢を設定」に変更し、以下式を設定します。
@DbColumn("":"NoCache";"";"byCategory1";1)
|
それではNotesでプリビューしてみましょう。
フィールドの右側に▼ボタンが表示され、クリックすると「キーワードの選択」ダイアログが表示され、過去に登録のあるカテゴリ1の内容が表示されます。
選択して「OK」すると、カテゴリ1に選択した値がセットされます。
このままでは新たなキーワードが設定できませんので、先ほどの式の下にある「リストにない値も可」にチェックします。
それでは再度Notesでプリビューしてみましょう。
先の「キーワードの選択」ダイアログに、「新しいキーワード」という項目が追加されました。
こちらに値を入力し、OKすることで新規のカテゴリを追加することができます。
なお複数のカテゴリを選択できるようにするには、フィールド情報タブにある「複数値も可」にチェックします。
以下のように、キーワードの前にチェックボックスが表示され、複数の値(新しいキーワードと同時にセットも可)が設定可能となります。
同様にcategory2についても、プロパティを変更し、以下の式をセットします。
@DbColumn("":"NoCache";"";"byCategory2";1)
|
同じように、キーワードが選択できるようになりました。
このように@DbColumnを用いることで、選択肢を提供し、入力の簡素化を図るだけでなく、文字のゆらぎ(前半角の違いも含む)により、別カテゴリに集まってしまうという人為的なミスを減らすことも可能となります。
もっとも常に新しいキーワードに手入力されてしまうと活きてこないのですが。
それでは最後にフレームセットやナビゲーターを準備し、アプリケーションを仕上げます。
もちろん必須ではありませんので、お好みで設定してください。
まずはナビゲータです。
新規ナビゲータで「 メニュー|menu 」を作成します。
開いたナビゲータに4個の四角形を追加し、それぞれに「日付順」「作成者別」「カテゴリ1別」「カテゴリ2別」と表題を設定。
シンプルアクションでそれぞれのビューを開くよう設定します。
次にフレームセットです。
新規フレームセット作成で、「 メイン|main 」を作成します。
左のフレームには
名前:menu
種類:名前付き設計要素/ナビゲータ
値:メニュー
フレーム内のリンクのデフォルト対象:body
|
と設定します。
右のフレームには、
名前:body
種類:名前付き設計要素/ビュー
値:日付順
|
と設定し、保存します。
次に「アプリケーション構成」の「アプリケーションのプロパティ」の「起動」タブを選択し、IBM Notes クライアントの起動で「指定したフレームセットを開く/メイン」と設定し保存します。
最後にリソースのアイコンで、適当な画像(32x32ピクセル)に置換し、完成です。
さて、今回は機能を絞った掲示版にフォーカスし、作成してみました。
標準テンプレートと比較すると、設計の簡単さは理解頂けるかと思います。
それゆえ、カスタマイズも簡単になっているはずです。
こちらをベースに、さまざまなアプリケーションに発展させることも可能ですので、ぜひ一度お試しください。
なお私のほうで作成したアプリは
こちらよりダウンロード可能ですので、ご自由に使ってください。