ステップ 7 ハンズオン :
ASP.NET 2.0 リッチ データ コントロールによるデータ アクセス ページの実装 その 3
GridView から利用するビジネス オブジェクト
グローバル ナレッジ ネットワーク株式会社
ナレッジ ソリューション本部 鈴木和久
最終更新日 2005 年 10 月 21 日
目標
|
ASP.NET 2.0 のリッチ データ コントロールを利用したデータ アクセス ページの実装 |
使用技術
|
|
取り上げるトピックス
|
|
前提知識
|
|
目次
|
|
まとめ
|
ASP.NET 2.0 ではクラス定義を基にしたオブジェクトをビジネス オブジェクトとしてコントロールのデータソースとして指定できます。そして、コントロールはビジネスオブジェクトが持つメソッドを通してデータの操作ができます。 |
GridView から利用するビジネス オブジェクト
ここでは、ASP.NET 2.0 GridView コントロールを使用して、ビジネス ルールを定義したクラスを基に作成されたオブジェクトが保持するデータを GridView から表示する方法を紹介します。
ソリューション エクスプローラ ウィンドウ内のプロジェクトを選択し、コンテキスト メニューの ASP.NET フォルダの追加から App_Code を指定し、プロジェクト フォルダ内に App_Code フォルダを作成します。
App_Code フォルダはクラス ファイルや WSDL および XSD ドキュメントを格納するフォルダとして使用されます。
ビジネス オブジェクトが保持するデータを XML ドキュメントとするために、以下のような XML ドキュメントを作成し、このファイルを App_Data フォルダに配置します。
App_Data フォルダはデータベース ファイルとして XML やスキーマ ファイルが配置されるフォルダです。
Employees.xml ファイルの内容
<?xml version="1.0" standalone="yes"?>
<Employees>
<Employee 社員コード="105" 氏名="森上 偉久馬" 部署名="第一営業" />
<Employee 社員コード="107" 氏名="葛城 孝史" 部署名="第二営業"/>
<Employee 社員コード="110" 氏名="加藤 泰江" 部署名="第一営業"/>
<Employee 社員コード="204" 氏名="川村 匡" 部署名="営業開発" />
<Employee 社員コード="207" 氏名="松沢 誠一" 部署名="営業開発" />
<Employee 社員コード="210" 氏名="成宮 真紀" 部署名="営業一"/>
<Employee 社員コード="304" 氏名="山本 雅治" 部署名="営業一"/>
<Employee 社員コード="305" 氏名="青木 俊之" 部署名="営業一" />
<Employee 社員コード="307" 氏名="小川 さよ子" 部署名="営業二" />
</Employees>
Step2 で作成した XML ファイルを読み込むクラス ファイルを定義します。
App_Code フォルダを選択し、コンテキスト メニューから [新しい項目の追加] を指定し、[クラス] テンプレートを選択します。ファイル名を Employees.vb とします。
クラス テンプレート内に、以下のようなコードを記述します。
このコードはコンストラクタがデータセットを作成し、App_Data フォルダ内に配置した XML ドキュメントをデータセットに読み込みます。
このクラスの GetEmployees メソッドは社員データを格納した DataSet オブジェクトを返します。
Employees クラス定義
Option Strict On
Imports Microsoft.VisualBasic
Imports System.Data
Imports System.Web
Public Class Employees
Const APP_DATA As String = "~/App_Data/Employees.xml"
Private ds As DataSet
Sub New ( )
ds = New DataSet
Dim filePath As String
'仮想パスから物理パスへ変換する
filePath = HttpContext.Current.Server.MapPath(APP_DATA)
ds.ReadXml(filePath)
End Sub
Public Function GetEmployees( ) As DataSet
Return ds
End Function
End Class
プロジェクトに新しい Web フォームを追加し、このフォームに GridView コントロールを配置します。
GridView タスク メニューから [データソースの選択] を指定し、<新しいデータソース>を選択します。
データソース構成ウィザードのデータ ソースの種類 画面から [オブジェクト] を指定します。
ビジネス オブジェクトの選択から Employees を指定します。これは App_Code フォルダに配置したクラス名です。
データ メソッドの定義 画面の SELECT タブから GetEmployees メソッドを選択します。
このメソッドは Employees クラスで定義した、XMLファイルから読み込んだデータを格納したデータセットを返すメソッドなので、SELECT 操作と関連付けられます。
Employees クラスに UPDATE、INSERT、DELETE と関連付くメソッドを定義すればここから、データの操作に対応したメソッドを選択することがでます。
完了後に、ページの動作を確認すると、GridView に XML ファイルのデータが表示されます。
まとめ
以上のように、ASP.NET 2.0 ではデータ操作に関する高機能なコントロールが利用でき、基本的な動作に関してはコーディングなしで Web ページを作成するようになっています。
トップページヘ