[PC] PATDATAを使った操作履歴Webページ~利用者ごとの操作履歴を表示する:その2.完成編~

PATDATAの操作履歴をWebで閲覧(その2)

| 1.前提編 |

GridView及びSqlDataSourceコントロールを使って、操作履歴のリストを表示させます。表示内容は、ユーザーID、日付で絞り込む内容です。

コントロールの配置

[ツールボックス]からGridViewとSqlDataSourceコントロールをドラッグアンドドロップしてウェブページ上に配置します。それぞれGdvHistoryとSdsHistoryというID名に変更しておきます。

SqlDataSourceの設定

[データ接続の選択]画面では、以前設定したデータ接続の[ConnectionString]を選択します。
PATDATA Data Source
[データ接続の選択]画面では、以前設定したデータ接続の[ConnectionString]を選択します。
PATDATA Data Source 1
[Selectステートメントの構成]では、カスタムを選択し、SQL文を挿入できるようにします。
PATDATA Data Source 2

SQL文は、次のSelect文を挿入します。ここで担当者を前回限定した担当者IDで絞り込みを行うために「CDユーザー情報.ユーザー名 = ?」「(T履歴案件.変更日 >= TO_DATE(?, ‘yyyy/mm/dd’) And T履歴案件.変更日 <= TO_DATE(?, ‘yyyy/mm/dd’))」を埋め込んでおきます。PATDATA Data Source 3

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ユーザー情報.ユーザー名 = ?

PATDATA SQL Data

さきほどの「?」に動的に値を挿入すべく、[パラメータソース]を[Control]に、[ControlID]を[LblUserId]、[TxbStart]及び[TxbEnd]に設定します。

PATDATA Data Source 4
[クエリのテスト]画面では、変数[?]が入っているので実際のテストは後で実行することとして、ここでは、[完了]しておきます。
PATDATA Data Source 5

GridViewの設定

次にGridViewの設定に移ります。PATDATA Add GridView
GdvHistoryを選択し、[>]からメニューの[オートフォーマット]をクリックします。どの見栄えでも問題ありません。ここでは、[クラシック]を選択しました。
PATDATA GridView AutoFormat
[>]メニューから[データソースの選択]を[SdsHistory]に変更します。そして同メニューの[列の編集]をクリックします。
PATDATA Edit Rows 1
SQLと関連してくるのですが、表示項目を設定します。[ユーザー名]、[変更日]、[当方整理番号]、[項目名]、[編集前値]及び[編集後値]を追加します。
PATDATA Edit Rows 2PATDATA Edit Rows 3

実行

ここまでくれば後は[F5]を押して、実行させてください。InternetExplorerで次のようなユーザー別の履歴リストが表示されるようになります。ここで、LblUserIdは、特にユーザーに見せる必要はないので、プロパティの[Visible]を[False]にしてあります。PATDATA History Target Screen

Translate »