.NET TIPS

DataGridコントロールで1行おきに色付けするには?

デジタルアドバンテージ
2003/12/05

 DataGridコントロールでデータの一覧を表示するとき、すべての行が同じ背景色で並んでいると、1行ごとのデータが見にくい場合がある。このような場合、1行おきに色付けすると見やすくなる。

 次の画面は通常の色付けされていないDataGridコントロールだ。

通常のDataGridコントロール
すべての行の背景色が白色になっているため、横1行のデータが見にくい。

 これを色付けすると、次の画面のように1行ごとのデータが見やすくなる。

1行おきに色付けされたDataGridコントロール
奇数行(0行から開始)に水色の背景色が設定されているので、横1行のデータが見やすくなっている。

 この1行おきの色付けは非常に簡単だ。DataGridクラス(System.Windows.Forms名前空間)のAlternatingBackColorプロパティに、Color構造体(System.Drawing名前空間)の値により色を指定するだけだ。具体的には次のようなコードになる。

private void Form1_Load(object sender, System.EventArgs e)
{
  // テーブルを作成
  DataSet dataSet1 = new DataSet("商品マスター");
  DataTable dataTable1 = dataSet1.Tables.Add("商品テーブル");
  DataColumn dataClumn1 = dataTable1.Columns.Add("ID", typeof(int));
  DataColumn dataClumn2 = dataTable1.Columns.Add("商品");
  DataColumn dataClumn3 = dataTable1.Columns.Add("個数", typeof(int));

  // テーブルにデータを追加
  dataTable1.Rows.Add(new Object[] {1, "みかん", 100});
  dataTable1.Rows.Add(new Object[] {2, "りんご", 300});
  dataTable1.Rows.Add(new Object[] {3, "バナナ", 120});
  dataTable1.Rows.Add(new Object[] {4, "すいか", 280});
  dataTable1.Rows.Add(new Object[] {5, "いちご", 200});
  dataTable1.Rows.Add(new Object[] {6, "メロン", 150});

  // 1行おきの背景色を設定する
  dataGrid1.AlternatingBackColor
              = Color.FromArgb(120, 255, 255);


  // データグリッドにテーブルを表示する
  dataGrid1.SetDataBinding(dataSet1, "商品テーブル");
}
DataGridコントロールで1行おきに色付けするC#のサンプル・コード

 AlternatingBackColorプロパティは、DataGridコントロールの奇数行(行番号は0行目から開始する)の背景色を指定するプロパティである。上の例では、Color.FromArgbメソッドを使ってRGB(赤、緑、青)形式で色を指定している。なお、偶数行にも背景色を指定するには、同じDataGridクラスのBackColorプロパティに色を指定すればよい。End of Article

カテゴリ:Windowsフォーム 処理対象:DataGridコントロール
使用ライブラリ:DataGridコントロール
使用ライブラリ:Color構造体(System.Drawing名前空間)
 
この記事と関連性の高い別の.NET TIPS
[ASP.NET]GridViewコントロールでマウス・ホバー行を強調表示するには?
DataGridコントロールで入力中のセルをハイライト表示するには?
[ASP.NET]DataGridコントロールの各セルにアクセスするには?
DataGridViewコントロールで1行おきに色付けするには?
[ASP.NET]DataGridコントロールでマウスのある行を強調表示するには?
このリストは、(株)デジタルアドバンテージが開発した
自動関連記事探索システム Jigsaw(ジグソー) により自動抽出したものです。
generated by

「.NET TIPS」


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 記事ランキング

本日 月間