ステップ 7 ハンズオン :

ASP.NET 2.0 リッチ データ コントロールによるデータ アクセス ページの実装 その 3

GridView から利用するビジネス オブジェクト


グローバル ナレッジ ネットワーク株式会社
ナレッジ ソリューション本部 鈴木和久

最終更新日 2005 年 10 月 21 日

目標
ASP.NET 2.0 のリッチ データ コントロールを利用したデータ アクセス ページの実装
使用技術
  • ASP.NET 2.0
  • Visual Basic 2005
取り上げるトピックス
  • ASP.NET 2.0 を利用した DetailsView コントロールの利用方法
前提知識
目次
まとめ
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 ページを作成するようになっています。

トップページヘ