[PC] PATDATAを使った操作履歴Webページ~利用者ごとの操作履歴を表示する:その2.完成編~
PATDATAの操作履歴をWebで閲覧(その2)
| 1.前提編 |
GridView及びSqlDataSourceコントロールを使って、操作履歴のリストを表示させます。表示内容は、ユーザーID、日付で絞り込む内容です。
コントロールの配置
[ツールボックス]からGridViewとSqlDataSourceコントロールをドラッグアンドドロップしてウェブページ上に配置します。それぞれGdvHistoryとSdsHistoryというID名に変更しておきます。
SqlDataSourceの設定
[データ接続の選択]画面では、以前設定したデータ接続の[ConnectionString]を選択します。
[データ接続の選択]画面では、以前設定したデータ接続の[ConnectionString]を選択します。
[Selectステートメントの構成]では、カスタムを選択し、SQL文を挿入できるようにします。
SQL文は、次のSelect文を挿入します。ここで担当者を前回限定した担当者IDで絞り込みを行うために「CDユーザー情報.ユーザー名 = ?」「(T履歴案件.変更日 >= TO_DATE(?, ‘yyyy/mm/dd’) And T履歴案件.変更日 <= TO_DATE(?, ‘yyyy/mm/dd’))」を埋め込んでおきます。
TO_DATE()関数は、InterSystems社のCaché SQL の関数です。ここでは、テキスト入力領域に入力された日付データを読み込んでSQLに解釈できる値に変更するTO_DATE()を利用しています。
Select T履歴案件.変更日, T履歴案件.当方整理番号, T履歴案件.編集前値, T履歴案件.編集後値, T履歴案件.項目名, T履歴案件.SYSID, CDユーザー情報.ユーザー名 From T履歴案件 Inner Join CDユーザー情報 On T履歴案件.ユーザー名 = CDユーザー情報.ユーザー名 Where (T履歴案件.変更日 >= TO_DATE(?, 'yyyy/mm/dd') And T履歴案件.変更日 <= TO_DATE(?, 'yyyy/mm/dd')) And CDユーザー情報.ユーザー名 = ?
さきほどの「?」に動的に値を挿入すべく、[パラメータソース]を[Control]に、[ControlID]を[LblUserId]、[TxbStart]及び[TxbEnd]に設定します。
[クエリのテスト]画面では、変数[?]が入っているので実際のテストは後で実行することとして、ここでは、[完了]しておきます。
GridViewの設定
次にGridViewの設定に移ります。
GdvHistoryを選択し、[>]からメニューの[オートフォーマット]をクリックします。どの見栄えでも問題ありません。ここでは、[クラシック]を選択しました。
[>]メニューから[データソースの選択]を[SdsHistory]に変更します。そして同メニューの[列の編集]をクリックします。
SQLと関連してくるのですが、表示項目を設定します。[ユーザー名]、[変更日]、[当方整理番号]、[項目名]、[編集前値]及び[編集後値]を追加します。
実行
ここまでくれば後は[F5]を押して、実行させてください。InternetExplorerで次のようなユーザー別の履歴リストが表示されるようになります。ここで、LblUserIdは、特にユーザーに見せる必要はないので、プロパティの[Visible]を[False]にしてあります。