PR
金宏 和實(かねひろ かずみ)

 富山県高岡市 株式会社イーザー副社長。バケツをひっくり返したような雨が降って,ワイパーを最大速にしても前が見えなくなった。数軒隣りのえんぞろ(富山弁で側溝の意)が溢れていた。山の方では道路の路肩が落ちたらしい。まるでスコールのようだった。異常気象なのだろうか。でも,以前にもこんな光景を見たことがあったような気がする。

 前回から始めた複数レコードを扱うデータ連結コントロールGridViewの解説ですが,前回のラストでは,GridViewで複数ユーザーによる同時更新を制御する方法を学びました。今回はGridViewの見栄えを整える方法やTemplateFieldの使い方を説明します。

 GridViewはASP.NET2.0で新機能の目玉として追加されたデータ連結コントロールですが,新規レコードの追加ができないという弱点があります。最新のASP.NET3.5で追加されたListViewコントロールではGridViewの機能に加え,レコードの追加が可能です。

 それなら,GridViewを使わないでListViewを使えばいいのにと思われるかもしれませんが,表形式でカチッとデータを表示・編集するにはやはりGridViewが適しているのです。

GridViewの見栄えを整える

cap01

 前回,作成したGridViewはあまりにもシンプルで,お粗末なユーザー・インタフェースしか備えていません。このWebフォームは品目マスターのID番号と品目名だけを編集する処理なので,このような表示でも迷うことはありませんが,図1のように項目数の多いテーブルだと混乱することでしょう。

図1●今回作成するテーブル
図1●今回作成するテーブル

 今回は,まず,図1のtseihin(取り扱い製品)テーブルをわかりやすく表示するGridViewを作成してみましょう。

[画像のクリックで拡大表示]

 sidはIDでIDENTITY列なので,新規レコード追加時にはインクリメントされた値が自動的に振られます。snameが製品名,siyouが仕様,priceは価格です。

図2●前回作成したテーブル
図2●前回作成したテーブル

 hidは品目テーブルの主キーhidを参照します。同様に,midはメーカーテーブルの主キーを参照する外部キーです。hdateはdatetime型で製品の発売日を表します。