GRIDを使ったビューでは、ビューの設計で指定した列幅を反映し、かつ、長い列の内容をそのまま表示できます。マウスで列幅を広げたり狭めたりもできます。


a Lotus Notes 開発者 ブログ-viewByDojoGrid


ビューの設計を?ReadDesignで、ビューの内容を?ReadViewEntriesで取り込み、それを多機能なスーパーテーブル(dojoのgrid)に埋め込んで表示しています。

ドミノサーバからHTMLを受け取るのでなく、ブラウザ上でWEBビューのHTMLを作成しています。


上画面の元は、Lotusphere2008 BP212 The Great Code Giveaway: "Beyond Cool"  でプレゼンされたドミノ用のGRIDです。解説はDojo Grid with Domino Views にあります。


Javascriptライブラリのdojo、ドミノ用のdojo拡張javascript、それを呼び出すHTMLページを使います。上のブラウザ画面は、次の手順で作成しました。

(1)Javascriptライブラリのdojo、ドミノ用のdojo拡張ドミノサーバのdata/domino/html以下に配置

(2)サンプルDB中のGrid_2ページを、テスト用のDBにコピーし、ページ中の対象ビュー名指定を変更

(3)既存ビューの設計変更

 ・ビューのタイトル列の値を、文書を開けるようにHTMLを追加(パススルーHTMLではありません)

"<a href=\"./" + @Subset(@ViewTitle ; 1) + "/" + @Text(@DocumentUniqueID) + "?OpenDocument\">" + Tex_TITLE + "</a>"

 ・ソート用の非表示列をその前に挿入  

 ・カテゴリー列をカテゴリーなしに変更


 *サンプルDBは、Domino702以降で試せるとのことです。

 *次のURLで手軽に確認できます。動作するサンプルDBが、なぜか他の会社のサイトに置いてありました。

 http://its3.itscorp.ws/snapps_mentor/Sessions.nsf/grid_8?OpenPage

  grid_8の数字部分をかえて、grid_1からgrid_9まで表示を確認できます。


このビュー設計の多展開は容易です。ただし、一般的なノーツWEBビューの機能、カテゴリーでの省略・展開、ビューでの検索機能がありません。


ReadViewEntriesは、NamePickerでも利用しましたが、カテゴリー列を含むビューでは、そうでないビューと全く違ったレスポンスを返してきます。 それをどうやってGRIDに収め、省略展開し、必要データを追加要求するか、頭を抱えてしまいます。