SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

VS 2008を利用したASP.NET 3.5の開発方法を学習する

Visual Studio 2008で進化するASP.NET 3.5の開発手法(後篇)

VS 2008を利用したASP.NET 3.5の開発方法を学習する 3


LinqDataSourceコントロールを利用したデータ表示

 それでは、実際にLinqDataSourceコントロールを利用したデータ表示方法について解説します。LinqDataSourceコントロールは、従来のデータソースコントロールと同様、GridView/DetailsViewのようなデータバインドコントロールのタスクメニューから[データソースの選択]を選ぶと、Webページに追加されます(もちろん、ツールボックスからの追加も可能)。データソース構成ウィザードからLINQを選択し[OK]をクリックすると、[データソース構成ウィザード]が表示されます(図14~15)。

図14 データ ソース構成ウィザード
図14 データ ソース構成ウィザード
図15 データソースの構成ダイアログ
図15 データソースの構成ダイアログ

 図15ではDataContextオブジェクトを選択します。これはLINQ to SQLのファイルと対応していますが、オブジェクトの名称は「<dbmlファイル名>DataContext」となります。

図16 データソースの構成ダイアログ2
図16 データソースの構成ダイアログ2

 図16ではテーブルの選択や、どの項目をSelect句で表示するかを選択します。サンプルでは表示したデータの編集・更新を行うので、全列選択(*)します。

 [完了]ボタンをクリックすると、対応のデータバインドコントロール(サンプルではGridViewコントロール)はLinqDataSourceコントロールの結果を表示します(図17)。

図17 LinqDataSourceコントロール反映後のHTMLビュー
図17 LinqDataSourceコントロール反映後のHTMLビュー

 ちなみに、LinqDataSourceコントロールのタグ表記は次のようになります。

LinqDataSourceコントロールの設定
<asp:LinqDataSource ID="LinqDataSource1" runat="server"
    ContextTypeName="DataClassesDataContext" TableName="titles">
</asp:LinqDataSource>

 プロパティウィンドウのSelect/Where/OrderByプロパティから、コレクションダイアログを起動し、Select句やWhere句、OrderBy句の設定ができます。サンプルではWhere句の追記を行います(図18)。

図18 Where句の設定を行うコレクションダイアログ
図18 Where句の設定を行うコレクションダイアログ

 この状態では実行時に全列表示されるので、タスクメニューの[列の編集]から不要な列の削除を行います。サンプルではtitle、price、pubdate以外の列を削除します。

 上記の作業を終えた画面は図25になります。

図19 LinqDataSourceコントロール設定完了後のHTMLビュー
図19 LinqDataSourceコントロール設定完了後のHTMLビュー

 実行結果は図20のようになります。

図20 LinqDataSourceコントロールを利用したGridViewコントロール
図20 LinqDataSourceコントロールを利用したGridViewコントロール

 ここまで、ほとんどコーディングレスで設定できました。続いて、更新を行うための設定について解説します。

LinqDataSourceコントロールを利用したデータの更新

 LinqDataSourceコントロールを利用したデータの更新についてですが、GridViewコントロールのプロパティで編集を有効に設定するだけでは編集後の更新はできません。実行中の画面で編集を行い、[更新]ボタンを押すとエラーが発生します(図21)。

図21 LinqDataSourceコントロールの設定のみで表示されたGridViewコントロール
図21 LinqDataSourceコントロールの設定のみで表示されたGridViewコントロール

 これはLinqDataSourceコントロールのEnableUpdateプロパティがTrueに設定されてないからです。LinqDataSourceコントロールのタスクメニューにはEnableUpdateプロパティがあるのでチェックをつけます(プロパティウィンドウではBoolean型で設定)。

図22 LinqDataSourceコントロールのタスクメニュー
図22 LinqDataSourceコントロールのタスクメニュー

 これでデータの更新が可能になりました(図23~24)。

図23 GridView内の行を編集中の画面
図23 GridView内の行を編集中の画面
図24 GridView内のデータを更新した画面
図24 GridView内のデータを更新した画面

 LinqDataSourceコントロールは他に挿入、削除もできます。更新の場合と同じ手順で設定できるので、興味がある方は他の機能にも触れてみてください。

 

次のページ
ListViewコントロール

この記事は参考になりましたか?

VS 2008を利用したASP.NET 3.5の開発方法を学習する連載記事一覧

もっと読む

この記事の著者

山田 祥寛(ヤマダ ヨシヒロ)

静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるLaravel実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

WINGSプロジェクト ナオキ(ナオキ)

WINGSプロジェクトについて>有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。 2026年時点での登録メンバは約50名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書記事多数。 RSS X: @WingsPro_info(公式)、@WingsPro_info/wings(メンバーリスト) Facebook

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/2023 2008/08/21 21:17

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー