ASP.NET での DataBindings を利用したアプリケーション

指定したレコードをDetailsViewで表示する

DetailsViewコンポーネントで指定したレコードを表示する手順を紹介します。

こちらの記事では、DetailsViewコンポーネントを使いデータベースのレコードを表示する方法を紹介しました。このアプリでDetailsViewにレコードを表示できましたが、常にテーブルの最初のレコードが表示されてしまいます。この記事では、URLのパラメータで指定したレコードを表示する方法を紹介します。

設定手順

こちらの記事に従って、DetailsViewコンポーネントを用いたシンプルなアプリケーションを作成します。

アプリケーションの作成ができたらWebフォームを開きます。| 指定したレコードをDetailsViewで表示する:画像1

SqlDataSourceコンポーネントを選択し[>]ボタンを押し、[SqlDataSourceタスク]メニューを表示します。メニュー内の[データソースの構成]をクリックします。
指定したレコードをDetailsViewで表示する:画像2

[データソースの構成]ダイアログが表示されます。この画面では何も変更せずに[次へ]ボタンを押して進みます。
指定したレコードをDetailsViewで表示する:画像3

[Selectステートメントの構成]ダイアログが表示されます。ダイアログの右側にある[WHERE]ボタンを押します。
指定したレコードをDetailsViewで表示する:画像4

[WHERE 句の追加]ダイアログが表示されます。
指定したレコードをDetailsViewで表示する:画像5

[列]欄にIDの列を指定します。今回用いるテーブルは"id"列がIDであるため"id"を選択しました。DetailsViewでは1つのレコードを表示するため、演算子は"="を選択します。[ソース]コンボボックスを開き、一覧から"QueryString"を選択します。
指定したレコードをDetailsViewで表示する:画像6

[ソース]までを設定すると[SQL式]に条件式が表示されます。
指定したレコードをDetailsViewで表示する:画像7

続いてダイアログの右側の[パラメーターのプロパティ]エリアの[QueryString フィールド]に値を設定します。pidパラメーターで指定されたIDを表示する動作にするため[QueryString フィールド]に"pid"を入力します。規定値は"0"としました。
指定したレコードをDetailsViewで表示する:画像8

設定がすべてできたら、右側の[追加]ボタンを押します。[追加]ボタンを押すと"WHERE 句"のエリアに条件式が追加されます。(下図参照)
[OK]ボタンを押してダイアログボックスを閉じます。
指定したレコードをDetailsViewで表示する:画像9

[Select ステートメントの構成]ダイアログに戻ります。[次へ]ボタンを押して次に進みます。
指定したレコードをDetailsViewで表示する:画像10

[クエリのテスト]画面が表示されます。右下の[クエリのテスト]ボタンを押します。
指定したレコードをDetailsViewで表示する:画像11

[パラメーター値のエディタ]ダイアログが表示されます。
指定したレコードをDetailsViewで表示する:画像12

クエリのテストで用いるパラメーターを指定します。今回は[値]の欄に"2"を入力しました。入力後[OK]ボタンを押します。
指定したレコードをDetailsViewで表示する:画像13

検索結果が表示されました。想定通りの結果でしたので[完了]ボタンを押してデータソースの構成を終了します。
指定したレコードをDetailsViewで表示する:画像14

Webフォームのデザイナ画面に戻りました。DetailsViewのフィールドとキーを最新の状態に更新するかの確認ダイアログが表示されます。[はい]ボタンを押して状態を更新します。
指定したレコードをDetailsViewで表示する:画像15

実行結果

プロジェクトを実行します。Webブラウザが起動します。初期状態では何も表示されません。
指定したレコードをDetailsViewで表示する:画像16

WebブラウザのURLを編集します。URLの末尾に"?pid=2"を追加してアクセスします。下図の画面が表示され、IDが2のレコードの内容がDetailsViewに表示されました。
指定したレコードをDetailsViewで表示する:画像17

pidの値を変えると表示されるレコードも変わります。
指定したレコードをDetailsViewで表示する:画像18

URLのパラメーターで与えたIDを持つレコードをDetailsViewで表示するアプリケーションが完成しました。

AuthorPortraitAlt
著者
iPentec.com の代表。ハードウェア、サーバー投資、管理などを担当。
Office 365やデータベースの記事なども担当。
作成日: 2012-11-12
Copyright © 1995–2025 iPentec all rights reserverd.