GRIDを使ったビューでは、ビューの設計で指定した列幅を反映し、かつ、長い列の内容をそのまま表示できます。マウスで列幅を広げたり狭めたりもできます。
ビューの設計を?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に収め、省略展開し、必要データを追加要求するか、頭を抱えてしまいます。