|
.NET TIPS
DataGridViewコントロールで1行おきに色付けするには?[2.0のみ、C#、VB]
デジタルアドバンテージ 遠藤 孝信
2006/09/15 |
 |
|
WindowsフォームのDataGridViewコントロールは、デフォルトでは各行はけい線で区切られているだけだが、より行を認識しやすくするために奇数行だけに異なる背景色を設定し、1行おきに色付けすることができる(下図)。
 |
1行おきに色付けされたDataGridViewコントロール |
DataGridViewコントロールでは、奇数行にのみ異なるスタイルを設定できる。 |
これを行うには、奇数行の既定のセル・スタイルであるAlternatingRowsDefaultCellStyleプロパティに対して、そのBackColorプロパティにより背景色を設定すればよい。次の記述例では奇数行の背景色をライトブルーに設定している。
// 奇数行の既定セル・スタイルの背景色を設定
dgv.AlternatingRowsDefaultCellStyle.BackColor = Color.LightBlue;
|
' 奇数行の既定セル・スタイルの背景色を設定
dgv.AlternatingRowsDefaultCellStyle.BackColor = Color.LightBlue
|
|
AlternatingRowsDefaultCellStyleプロパティへの背景色の設定例(上:C#、下:VB) |
変数dgvはDataGridViewコントロールのインスタンスを参照しているものとする。 |
以下にAlternatingRowsDefaultCellStyleプロパティを使用したサンプル・プログラムを示す。上記のDataGridViewコントロールの画面はこれを実行したときのものだ。
// dgvaltrow.cs
using System;
using System.Drawing;
using System.Drawing.Imaging;
using System.Windows.Forms;
public class MyForm : Form {
DataGridView dgv;
// フォームのLoadイベント・ハンドラ
void MyForm_Load(object sender, EventArgs e) {
// データソースとして画像デコーダ一覧を使用
dgv.DataSource = ImageCodecInfo.GetImageDecoders();
// 奇数行の既定セル・スタイルの背景色を設定
dgv.AlternatingRowsDefaultCellStyle.BackColor
= Color.LightBlue;
}
// フォームのコンストラクタ
public MyForm() {
dgv = new DataGridView();
dgv.Dock = DockStyle.Fill;
this.Controls.Add(dgv);
this.Size = new Size(480, 240);
this.Load += new EventHandler(MyForm_Load);
}
}
class Program {
static void Main() {
Application.Run(new MyForm());
}
}
// コンパイル方法:csc dgvaltrow.cs
|
|
DataGridViewコントロールに1行おきに色付けするC#のサンプル・プログラム(dgvaltrow.cs) |
|
' dgvaltrow.vb
Imports System
Imports System.Drawing
Imports System.Drawing.Imaging
Imports System.Windows.Forms
Public Class MyForm
Inherits Form
Dim dgv As DataGridView
' フォームのLoadイベント・ハンドラ
Sub MyForm_Load(sender As Object, e As EventArgs) _
Handles MyBase.Load
' データソースとして画像デコーダ一覧を使用
dgv.DataSource = ImageCodecInfo.GetImageDecoders()
' 奇数行の既定セル・スタイルの背景色を設定
dgv.AlternatingRowsDefaultCellStyle.BackColor _
= Color.LightBlue
End Sub
' フォームのコンストラクタ
Public Sub New()
dgv = New DataGridView()
dgv.Dock = DockStyle.Fill
Me.Controls.Add(dgv)
Me.Size = new Size(480, 240)
End Sub
End Class
' コンパイル方法:vbc /main:MyForm dgvaltrow.vb
|
|
DataGridViewコントロールに1行おきに色付けするVBのサンプル・プログラム(dgvaltrow.vb) |
|
ここではコードを簡便にするために、.NETで利用可能な画像のデコーダ一覧をデータソースとして使用している。画像のデコーダについては「TIPS:画像を読み込むには?」を参照してほしい。
なお本稿ではコードによりAlternatingRowsDefaultCellStyleプロパティの設定を記述しているが、Visual Studio 2005ではプロパティ・ウィンドウでこのプロパティの項目を開くことにより、[CellStyleビルダ]ダイアログでビジュアルにセル・スタイルを設定できる。
利用可能バージョン:.NET Framework 2.0のみ
カテゴリ:Windowsフォーム 処理対象:DataGridViewコントロール
|
|
generated by
|
|
Insider.NET 記事ランキング
本日
月間