ステップ 7 ハンズオン:

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

DetailsView コントロールの利用


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

最終更新日 2005 年 10 月 21 日

目標 ASP.NET 2.0 のリッチ データ コントロールを利用したデータ アクセス ページの実装
使用技術
  • ASP.NET 2.0
  • Visual Basic 2005
取り上げるトピックス
  • ASP.NET 2.0 を利用した DetailsView コントロールの利用方法
前提知識
目次
まとめ ASP.NET 2.0 ではコントロール同士はそれぞれのプロパティを適切に設定するだけで、プログラム コードを記述することなしに、データベースへの基本操作を行うページを作成することができます。 
備考 対象とするデータベースは SQL Server 上の Northwind データベースです。また、このデータベースには日本語用のテーブルとして商品区分テーブルと商品テーブルを作成し、日本語データをあらかじめ入力済みとします。

DetailsView コントロールの利用

ここでは、ASP.NET 2.0 DetailsView コントロールを使用して、GridView から選択された項目の詳細なデータの参照、更新を行うページを作成します。 その 1 で紹介した GridView を使用したページを基に DetailsView を使用します。

その 1 で使用した GridView を配置済みのページをデザイン ビューで開きます。

挿入済みのテーブルの 1 行 2 列目にツールボックスの標準タブからラベル コントロールを配置し、Text プロパティを [商品詳細] とします。

2 行 2 列目のセルにツールボックスのデータ タブから DetalsViewt コントロールを配置します。

DetailsView タスク メニューの [データソースの選択] から <新しいデータソース> を選択し、データソース構成ウィザード画面を表示します。
アプリケーションがデータを取得する場所を [データベース] に指定します。
データソースの ID はデフォルトのまま SqlDataSource3 とします。

データベースへの接続を定義する画面では、その 1 の手順で作成済みの Northwind への接続を選択します。

 

 

Selectステートメントの構成 画面では GridView で選択した項目の全ての列を DetailsView で表示するため、[商品] テーブルを選択し、全ての列を対象とする [*] をチェックします。
 

 

GridView から選択した商品コードに対応する詳細データを表示するために、[WHERE] ボタンをクリックし、[WHERE 句の追加] ダイアログから [商品コード] 列 を選択し、ソースとして Control を選択します。

 

WHERE 条件を与えるコントロールは GridView コントロールとなるので、パラメータのプロパティのコントロール一覧から GridView を選択し、追加ボタンをクリック後、[OK] ボタンをクリックします。

 

Select ステートメントの構成 画面から [詳細設定] ボタンをクリックし、SQL 生成詳細オプション ダイアログを表示します。
ここで、[INSERT、 UPDATE、および DELETE ステートメントの生成] と [オプティミスティック同時実行制御]をチェックします。
この設定により、DetailsView からは商品データの参照と追加、更新、削除の操作が可能になります。

オプティミスティック同時実行制御を有効にすると、同じレコードに対する他のプロセスからの変更操作の有無を確認し、現在のデータベースの最新のデータを表示します。

[OK] ボタンをクリックし、Select ステートメントの構成を完了します。  

 

DetailsdView タスク メニューから [挿入を有効にする]、[編集を有効にする]、[削除を有効にする] にチェックすると、DetailsView にはデータ更新用のリンクが表示されます。
これらのリンクをボタンに変更するには、DetailsView タスク メニューの [フィールドの編集] を選択し、選択されたフィールドから [CommandField] を指定して、CommandField プロパティの ButtonType を Link から Button に変更します。

 

DetailsView タスク メニューの [フィールドの編集] で [選択されたフィールド] 一覧から [単価] 列を選択し、BoundField プロパティから DataFormatString を{0:#} を定義すれば、整数部のみの商品単価の表示ができます。

 

 

以上で、GridView で選択した商品に対応した商品の詳細が、DetailsView コントロールから表示され、さらに、データの編集や追加、削除ができるようになります。

次に、『GridView から利用するビジネス オブジェクト』 について説明します。

トップページヘトップページヘ