• 検索結果がありません。

4 レッスン

4.3.1 設定内容

4.3 [レッスン14]Dojoを使ったデータテーブルの編集

Excelファイルから取り込んだ値を表示します。そしてDojo系のビルダーを利用してtable

の値を直接変更します。さらに、tableのタイトルにマウスカーソルを移動すると、ポップ アップ・テキスト・ボックスを表示する機能も追加します。外部から取り込んだ値を利用 するので、モデルを2つ作成する必要があります。

モデル一覧

z providerモデル: 外部から値を取り込むモデル

z consumerモデル: providerモデルから値を受け取り表示

「provider モデル内の Service Definition ビルダー」と「consumer モデル内の Service

Consumerビルダー」が関連付けされることで、モデル間のアクセスが可能となっています。

図:データの流れ

52/88 1. providerモデルの作成

Excelからデータを取り込むためのproviderモデルにビルダーを追加します。

1.Service Definitionビルダーの追加 設定値

サービス名 provider1 サービスを公開 チェック

2.Excel Importビルダーの追加 設定値

名前 getProductSalesSource

インポートするファイル /売上げ集計.xls スキーマを生成 Designer再生成時

コンテンツ選択方法 自動(Builderにコンテンツを検索させる)

シート 集計

ヘッダー行あり チェック 空の行を保持 非チェック セルのフォーマット設定を保持 チェック

3.Service Operationビルダーの追加 設定値

データ・サービス provider1(入力済み)

操作名 getProductSales

サ ー ビ ス 操 作 プ ロ

パティー 呼び出すアクション DataServices/getProductSalesSource/execute 操作入力 入力構造処理 入力なし

結果構造処理 呼び出されたアクションからの構造を使用 操作結果

結果フィールド・マッピング 自動

これでproviderモデルの作成が終了しました。

2.consumerモデル作成

consumerモデルにビルダーを追加します。

1.Service Consumerビルダーの追加 設定値

名前 consumer1

プロバイダー・モデル provider すべてのプロバイダー操作を追加 チェック

2.View & Formビルダーの追加

tableを表示します。

設定値

名前 form1

ビュー・データ操作 DataServices/consumer1/getProductSales ビュー・ページHTML /factory/pages/view_and_form_view.html HTMLテンプレートファイル /factory/html_templates/gridtable.html ページ単位のデータ表示 チェック

ビュー・ペ ージ・オプ ション

ページあたりの行数 10 Mainを生成 チェック 拡張

ページ送りボタンを追加する チェック

3.Textビルダーの追加

tableのタイトルを表示します。

設定値

名前 textTitle

位置指定の方法 名前付きタグ上

ページ form1_ViewPage

ページの場所

タグ search_section

テキスト 売上げ集計

54/88 4.Action Listビルダーの追加

デバッグ用です。Dojoを利用して値が変更されたことを確認する為に、Systemログに変数 の中身を出力しています。このアクションは、Dojo Inline Editビルダーから呼ばれます。

設定値

名前 actDumpData

アクション ア ク シ ョ ン・リスト

SystemOut!${DataServices/consumer1/getProductSales/re sults}

5.Dojo Tooltipビルダーの追加

tableのタイトルにマウスカーソルを移動すると、ポップアップ・テキスト・ボックスを表

示されるようにします。

設定値

名前 dojoTooltip

位 置 指 定 の 方 法

名前付きタグ上

ページ form1_ViewPage

ペ ー ジ の 場所

タグ search_section

ツールチップ・タイプ テキスト

ツールチップ・テキスト 今年度の金額を変更するには Edit アイコンをクリックして 下さい。

図 45 Dojo Tooltipビルダー設定画面

6.Dojo Inline Editビルダーの追加

table上の読み取り専用テキストを編集可能にします。ここでは「今年度」の列のみを対象

とします。

設定値

名前 dojoInlineEdit

フィールド [form1_ViewPage]form1_ViewPage/ExcelContent/Row/今 年度

フォームをサブミット チェック アクション actDumpData

拡 張 オ プ シ ョンの表示

非チェック

ア ク シ ョ ン 後の操作

アクション実行後に指定ページ場所を最新表示 ア ク シ ョ ン

後の操作

最 新 表 示 す る場所

ページ:form1_ViewPage タグ:data

図 46 Dojo Inline Editビルダー設定画面(一部)

56/88 7. Portlet Adapterビルダーの追加

設定値

名前 samplePortlet

ポートレットのタイトル dojoInlineEditポートレット ポートレットの短いタイトル dojoInlineEditポートレット デフォルト・ロケール ja

8. HTMLテンプレートファイルの修正

対象ファイル /factory/html_templates/gridtable.html

【変更前】

<table name="Table" id="_table" width="100%" class="gridTable" cellspacing="0" cel lpadding="3">

【変更後】

<table name="Table" id="_table" width="100%" class="gridTable" cellspacing="0" cel lpadding="0">

gridtable.htmlファイルの39行目の<table>タグのcellpadding属性を"0"にします。追加 したDojo 系のビルダーの影響で table に余計な隙間が出来てしまいます(ブラウザが IE の場合のみ)。レイアウト微調整の対応なので、気にしなければこの修正はとばして構いま せん。

関連したドキュメント