解説

ASP.NETで学ぶVisual Studio .NETの魅力

第3回 Visual Studio.NETでプログラム・レス開発を学ぶ(中編)

山田 祥寛
2003/06/17


(4)DataGridコントロールを配置する
 
ここまではデータベースからデータを抽出するための一連の設定であった。次に抽出したデータを表示するためにDataGridコントロールの設定を行う。

 DataGridコントロールは、データベースから抽出したデータセットを一覧表(グリッド)形式に展開するためのコントロールである。本稿では紹介しないが、単にデータを表示するだけでなく、データの編集やソーティング、ページング、コマンドの実行など、データベース周りの豊富な機能を備える(これらの詳細については「連載:プログラミングASP.NET」で解説されている)。DataGridコントロールを極めるだけでも、かなりのASP.NETアプリケーションが構築できてしまうといっても決して過言ではない。

 フォーム・デザイナ上に配置したDataGridコントロールを右クリック、[自動フォーマット]を選択することで、簡単に美しい表レイアウトを設定することができる。もちろん、通常のプロパティ・ウィンドウからBackColorやBorderColorなど個々のプロパティ値を設定することも可能だ。

DataGridコントロールの自動フォーマット
フォーム・デザイナ上に配置したDataGridコントロールを右クリックし[自動フォーマット]を選択して、あらかじめ用意されたデザインを適用することができる。ここでは「カラフル4」というオプションを選択しておくことにしよう。

(5)DataGridコントロールのプロパティを設定する
 
DataGridコントロールの設定項目はレイアウト関連を除いても、きわめて多岐にのぼる。そこで、DataGridコントロールは各種プロパティ値を設定するための専用のプロパティ・ビルダを用意している。プロパティ・ビルダはフォーム・デザイナ上でDataGridコントロールを右クリック、[プロパティ ビルダ]を選択することで起動する。

DataGridコントロールのプロパティ・ビルダ
DataGridコントロールの設定項目は複雑だ。このため、各種プロパティ値を設定するための専用のプロパティ・ビルダが用意されている。

 プロパティ・ビルダからはさまざまな項目が設定できるようになっているが、ここでは、DataGridコントロール上にデータを展開するための最低限の設定にとどめておく。以下に、設定内容をまとめておこう。

タブ 項目
全般 データソース DataSet1
データメンバ music
実行時に自動的に列を作成する チェック
プロパティ・ビルダでの最低限必要な設定

(6)コードを記述する
 
(5)までで一連の準備は整った。しかし、これだけではDataGridコントロールにデータは展開されない。わずかではあるが、ここでデータセットのデータをDataGridコントロールにセットするための「データ・バインド」という行為をコーディングしてやらなければならない。

 フォーム・デザイナ上の何も配置されていない箇所をダブルクリックすると、コード・エディタが開く。Page_Loadイベント・プロシージャにカーソルがセットされるはずなので、ここにコードを追記してみよう。Page_Loadイベント・プロシージャは、ページがロードされたタイミングでコールされる。

Private Sub Page_Load(ByVal sender As System.Object,_
ByVal e As System.EventArgs) Handles MyBase.Load
  SqlDataAdapter1.Fill(DataSet11.music)
  DataGrid1.DataSource = DataSet11.music
  DataGrid1.DataBind()
End Sub
Page_Loadイベント・プロシージャに追加するコード
フォーム・デザイナ上の何も配置されていない箇所をダブルクリックし、開くコード・エディタで記述する。

 FillメソッドはSqlDataAdapterコントロールで設定された接続上でコマンドを実行し、その結果をDataSetコントロールにセットする。生成されたデータセットの内容はDataGridコントロールのDataSourceプロパティに設定された上で、DataBindメソッドの呼び出しにより最終的に展開されることになる。

 この程度のことならば、VS.NETが自動生成してくれればよいではないかとお思いの方もおられるかもしれないが、DataGrid上でページングやソート機能などを実現する場合には、必ずしも一律の記述ができるわけではないため、VS.NETはそこまでの自動生成はしてくれない。ただ、それにしても、従来のASP 3.0で同様の記述がはるかに多くのコード量を要していたことを考えれば、非常に簡略化されているのは誰もが認めるところであるはずだ。


 INDEX
  ASP.NETで学ぶVisual Studio .NETの魅力
  第3回 Visual Studio.NETでプログラム・レス開発を学ぶ(中編)
    1.MSDEによるデータベースの準備とデータの作成
    2.Webフォームからデータベースに接続するための準備
    3.クエリ・ビルダを利用して楽々SQL文作成
  4.抽出したデータを一覧表に展開するDataGridコントロール
    5.動的に広告バナーを変更するAdRotatorコントロール
    6.AdRotatorコントロールを制御するXMLファイルの作成
 
インデックス・ページヘ  「解説:ASP.NETで学ぶVisual Studio .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 記事ランキング

本日 月間