WebパネルにWorkWithPlusを適用する際に、選択できるテンプレートは複数あります。
テンプレートの機能の差異を調査しました。
調査対象
調査に使用したWorkWithPlusのバージョンは10.1.18です。
調査したテンプレートは下記の3種類です。
- EmptyWithTitle
- WorkWithWithoutBaseTable
- Selection(トランザクション準拠)
調査結果
EmptyWithTitleテンプレートとWorkWithWithoutBaseTableテンプレートについては、初期のレイアウトなどが異なるのみで、インスタンス上の見え方や追加可能なコントロールも同じように見受けられました。
また、Eventsエレメントに出力されるコードは同一でした。
Selectionテンプレートを選択した場合、他の2つテンプレートといくつか異なっていました。
インスタンス上の違い
追加可能なコントロールの違い
Selectionテンプレートでは、グリッドのフィルタや並び順のコントロールの他に、Tabsコントロールの追加が可能でした。
Gridコントロール
Selectionテンプレートのみ Columns selector プロパティがありましたが、 Page プロパティ、Conditions プロパティ、Order プロパティ、Multi Row Selection プロパティ、SDTCollection プロパティはSelectionテンプレートにはありませんでした。
Gridコントロールに配置した項目属性や変数
Selectionテンプレートのみ Sortable By Title プロパティ、 Visible by default プロパティ、タイトルフィルタ関連のプロパティ、エクスポート関連のプロパティがありました。
FreeStyleGridコントロール
SelectionテンプレートではFreeStyleGridコントロールの中に、Grid/FreeStyleGridコントロールを追加することができませんでした。
Eventsエレメントの違い
表示中のグリッドのページ番号などをセッションから取得/保存という処理が、Selectionテンプレートには含まれていました。
EmptyWithTitleテンプレートやWorkWithWithoutBaseTableテンプレートにグリッドの状態を保存する仕組みがないということは、複数行の選択(Multi Row Selection)を有効にした場合に、ページング操作を行うと、ページング前に選択した値が保存されないということにもなります。
また、細かい点ですが、Selectionテンプレート上にはLoadWWPContextのイベントブロックはありませんが、LoadWWPContextプロシージャを呼び出す処理が追加されていました。
まとめ
グリッドを入れ子にしたい場合にはEmptyWithTitleテンプレートまたはWorkWithWithoutBaseTableテンプレートを選択する、グリッドの状態を保存したりタイトルフィルタを利用したい場合などには、Selectionテンプレートを選択する必要があるということがわかりました。