解説

実例で学ぶASP.NETプログラミング
―― ショッピング・サイト構築で学ぶASP.NET実践講座――

第6回 ASP.NETの真骨頂-DataGridコントロールで一覧ページを制する

小田原 貴樹(うりゅう)
2003/05/31

Back Issue
1
ASP.NETの観点からショッピング・サイトを定義する
2 トップ・ページ構築で理解するASP.NETの特長
3 「実プロ流」ASP.NETデータベース操作術
4 DB連携ページをASP.NETで構築する(前編)
5 DB連携ページをASP.NETで構築する(後編)

MCP資格を取得しなければ……

 すっかり月イチ連載化してしまっている当連載であるが、ベンチャー企業では1カ月もあれば、色々なイベントが発生してしまう(笑)。ここ最近フラグが立ったイベントの中で比重が大きかったのは、筆者がMCP(マイクロソフト認定プロフェッショナル)資格を取得しなければならなくなってしまい、MCP試験にチャレンジしたというものだ。

 「広島一のマイクロソフト・マニア」を自称する筆者が所属している会社は、これまでにマイクロソフトのいくつかのパートナー制度に登録して、その恩恵にあずかっている。特に積極的に参加しているのが「IT推進全国会」という各地方の中小・中堅企業を対象としたパートナー制度なのだが、今年度からマイクロソフトのパートナー制度が大幅に強化されることとなり、その中で、「IT推進全国会」のパートナー企業は必ず「認定パートナー」に登録しなければならなくなってしまった。

 実際には、もともとそういう前提があったのだが、マイクロソフトの「認定パートナー」の参加資格条件である「MCP資格取得者が2名以上在籍していること」という条件を満たさないまま、今までうやむやにしていたのだ(笑)。しかし、必須となればそういうわけにもいかないだろうということで、急遽、筆者と事務員さんが受験することになってしまったのだった。

何の試験を受けようか?

 プログラマーになってから9年、というか生まれてからこの方、筆者は資格というものを取ったことがない。IT関係はもちろんだが、英語検定とか危険物取り扱い主任者とか、それどころか自動車運転免許すら持っていないという、まさに「無資格人間」人生を歩んできた(笑)。そんなことはどうでもいいのだが、今回の条件は「MCP資格取得者」になればいいということであり、何十という種類があるMCP試験の中から、自分が最も合格しやすそうなものを受験すればいいということである。

 それはまぁ、こんな連載を書かせてもらっている身であるので、Visual Basic .NETベースのWebアプリケーション構築に関してはそこそこ自信がある。MCP試験のうち、「70-305:Developing and Implementing Web Applications with Microsoft Visual Basic .NET and Microsoft Visual Studio .NET」がバッチリ該当しているので、当初受験対象として考えていた。

 しかし、調べていくと、試験は始まっているのだが、2003年3月の段階では試験教材が全く販売されていないことに気が付いた。いくらなんでも試験勉強を一切せずに合格できると思うほどうぬぼれてはいないので(笑)、ほかの試験を探すことにした。MCPは試験の種類が豊富だが、特に筆者のような地方在住者の場合、試験教材が手に入るかどうかというのは大きな問題だ。始まったばかりの試験、マニアックな試験というのは、そういう意味では受験しにくいのかもしれない。

 結局、筆者が受験対象に選んだのは、「70-228:Installing, Configuring, and Administering Microsoft SQL Server(TM) 2000 Enterprise Edition」というもの。これは要するに、SQL Server 2000に関するインストールや設定についての試験だ。ちょっと前まで@ITサイトにも広告企画記事が掲載されていたので、読んだ方もいるだろう。筆者は自社内のSQL Server 2000の管理者だし、Webシステムのデータベース(DB)としてSQL Server 2000を利用してきたので、何とかなるのではないかと思ったのだった。

MCP資格試験を受験してみて

 まず、自分がいかにSQL Server 2000の「にわか管理者」だったかということがよく分かった。MCP資格試験ではSQL Server 2000の機能全般について出題される。試験本番に向けて模擬試験をやったり教材を読んだりした結果、目からウロコが落ちまくる羽目になってしまった。「SQL Server 2000ってスゲェ!」こんなに高機能なソフトウェアだとは思ってなかった(笑)。正直な話、筆者はSQL Server 2000の機能のうち20%くらいしか使ってない。逆にいえばSQL Server 2000の持つ機能を20%も理解していれば、そこそこ実用的に利用できるということであり、これまた優れたソフトウェアであることを示しているだろう。試験勉強というプロセスをとおしてとはいえ、SQL Server 2000をさらに使いこなすための勉強になった。

 話には聞いていたが、実際のMCP試験内容は本当に実践的な内容だ。試験勉強で得る知識が実務に活かせるレベルであることは間違いない。そして出題内容は「本当にイヤらしい」。はっきりいって、一夜漬けでは絶対に合格しない。経験と知識の2つを高いレベルで要求される試験内容なので、教材をざっと読んだくらいで合格できるモノではない。

 ちなみに、筆者は2回受験したがまだ合格していない(泣)。2回目は、出題数45問のうち、あと2〜3問正解していれば合格していたラインだったので、結果が出たときには呻き声をあげてしまった。一緒に受験した当社の事務員さんは「70-270:Installing, Configuring, and Administering Microsoft Windows XP Professional」というWindows XPに関する試験を2回目で合格してしまい、技術者として多大なるプレッシャーを感じながら、いそいそと3回目の受験に向け勉強をしていたりする昨今なのだった。

商品一覧ページを構築する

 久しぶりの戯言終了。前回まででトップ・ページの構築もやっと終わったので、今回はショッピング・サイトには欠かせない商品一覧のページを構築する。@ITのInsider.NET会議室で質問ランキングを行えば、間違いなく上位にノミネートされるであろう「DataGridコントロール」を使用して、ハイパーに効率よくDB連携の一覧ページを作成する。ちょっとしたコツさえつかめば、見栄えが整った一覧ページを驚くほど少ないコーディング量で実現できる「DataGridコントロール」は、ASP.NETの真骨頂といえるだろう。

 さて、今回から2〜3回にわたって構築する商品一覧ページに必要な画像ファイル、商品データと商品画像ファイル、この連載で構築したソース・ファイルは以下の通り。今回からソース・ファイルの中に直接AccessのDBファイルも格納している。また、実際の動きを確認したい場合には、V-STORE.NETのデモ・サイト「VS屋」を確認してほしい。

 画像パーツの提供は相変わらず、当社デザイナー沖政 恵美嬢。飼い始めた猫の写真を毎日掲載しているらしい彼女個人のイラストサイトはこちら。とうとう専用ドメインまで取得したようだ……。

 ということで、準備が整ったら商品一覧ページの構築を始めよう。

一覧ページを設計する

 早速、DataGridコントロールを使ってページを構築していきたいところだが、まずは一覧ページの内容を設計しよう。一覧ページを構築する際には、それがどのような目的で使われるのかを考えて慎重に設計しなければならない。

 では、ショッピング・サイトにおける商品一覧ページはどういった役割を果たすべきだろうか? 一覧表というのはショッピング・サイトに限らず、さまざまな局面で利用されるが、全てのデータを含む表が使いづらいのはいうまでもない。一覧表の中に、無理矢理テーブルのほぼ全ての列を入れ込んでしまっているケースをよく見かけるが、はっきりいってナンセンスだ。目的に応じて、必要なデータだけをまとめることが肝心なのである。また、Webのようにハイパー・リンクを活用できる場合は、個々の項目に対応する詳細情報は表に含めないでリンクにしておくとすっきりする。

 ユーザーに「購買」というアクションを起こさせるためには、商品一覧ページから商品詳細ページへと誘導することが最低条件となるため、ショッピング・サイトにおける商品一覧ページの責任は重い。ユーザーが商品を選ぶにあたって必要となる商品情報を簡潔にまとめ、商品詳細ページへスムーズに誘導できるページを設計しよう。

 役割がはっきりすれば、一覧表の中に含めるべき情報が見えてくる。以上のことを踏まえて作成したVS屋の商品一覧ページは下図のようになっている。

VS屋の商品一覧ページ
商品一覧ページには過度に多くの情報を詰め込まず、商品ごとに特有の情報、数量的に違いのある情報をまとめよう。写真や詳細情報へのポインタとしてリンクを活用したい。
 

 INDEX
  実例で学ぶASP.NETプログラミング
  第6回 ASP.NETの真骨頂-DataGridコントロールで一覧ページを制する
  1.商品一覧ページの設計
    2.表示用のDataSetオブジェクトを準備する
    3.DataGridコントロールの「プロパティ・ビルダ」
    4.「自動フォーマット」によるDataGridコントロールのデザイン
    5.残りの要素の配置と全体のデザイン調整
 
インデックス・ページヘ  「解説 :実例で学ぶASP.NETプログラミング」


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Insider.NET 記事ランキング

本日 月間