ステップ 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 から利用するビジネス オブジェクト』 について説明します。
|