指定したレコードをDetailsViewで表示する - ASP.NET

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

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

設定手順

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

アプリケーションの作成ができたらWebフォームを開きます。|

SqlDataSourceコンポーネントを選択し[>]ボタンを押し、[SqlDataSourceタスク]メニューを表示します。メニュー内の[データソースの構成]をクリックします。


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


[Selectステートメントの構成]ダイアログが表示されます。ダイアログの右側にある[WHERE]ボタンを押します。


[WHERE 句の追加]ダイアログが表示されます。


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


[ソース]までを設定すると[SQL式]に条件式が表示されます。


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


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


[Select ステートメントの構成]ダイアログに戻ります。[次へ]ボタンを押して次に進みます。


[クエリのテスト]画面が表示されます。右下の[クエリのテスト]ボタンを押します。


[パラメーター値のエディタ]ダイアログが表示されます。


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


検索結果が表示されました。想定通りの結果でしたので[完了]ボタンを押してデータソースの構成を終了します。


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

実行結果

プロジェクトを実行します。Webブラウザが起動します。初期状態では何も表示されません。


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


pidの値を変えると表示されるレコードも変わります。


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

著者
iPentec.com の代表。ハードウェア、サーバー投資、管理などを担当。
Office 365やデータベースの記事なども担当。
最終更新日: 2024-01-06
作成日: 2012-11-12
iPentec all rights reserverd.