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やデータベースの記事なども担当。
- ASP.NET データバインド アプリケーション開発
最終更新日: 2024-01-06
作成日: 2012-11-12