HIRO's.NET

VB.NET, C#, PowerShell Tipsサイト

 VB.NET, C#, PowerShellを使用しているエンジニアのためのサイト。

 基本的な使用方法から開発で役立つTipsまで幅広く取り扱っています。

HIRO's.NET RSSHIRO's.NET RSS


C# 2003の開発でお困りのことはありませんか?
そんな悩みは当サイトで解決!!

HOME > C# 2003 Tips > コントロール > DataGrid Tips メニュー

18.選択されているセルをハイライト表示する

UPDATE:2004/09/13 

<< 前のTips  次のTips >>

 

 選択されているセルをハイライト表示するには、
1.新しいテーブルスタイル(DataGridTableStyle)を作成し、マップ名(MappingName)を設定する
2.選択されているセルの背景色と前景色を設定する
3.新しい列スタイルを宣言する
4.マップ名にスタイルを適用する列名を設定する
5.ヘッダーテキストに列名を設定する(これを行わないと、DataGridに列名が表示されなくなる)
6.データグリッド上のテキストボックスの背景色と前景色を設定する
(選択されているセルは、実際にはテキストボックスが表示されているため)
7.作成した列スタイルを1.で作成したDataGridTableStyleに追加する
2.~7.を列の数だけ行います。
8.作成したテーブルスタイルをDataGridに追加する

 
サンプル
private void Form1_Load(object sender, System.EventArgs e)
{

    // データセットに格納されているテーブル0を
    // DataTableオブジェクトに格納します
    DataTable dt = dataSet1.Tables[0];

    // 新しいテーブル スタイルを宣言し、そのマップ名を設定します。
    // マップ名にはテーブル名をセットします
    DataGridTableStyle DGTS = new DataGridTableStyle();
    DGTS.MappingName = dt.TableName;

    // 選択されているセルの背景色と前景色を設定する
    DGTS.SelectionBackColor = System.Drawing.Color.PowderBlue;
    DGTS.SelectionForeColor = System.Drawing.Color.White;

    // 新しい列スタイルを宣言します
    DataGridTextBoxColumn style1 = new DataGridTextBoxColumn();
    DataGridTextBoxColumn style2 = new DataGridTextBoxColumn();
    DataGridTextBoxColumn style3 = new DataGridTextBoxColumn();

    // マップ名に列名を指定します
    style1.MappingName = dt.Columns[0].ColumnName;
    style2.MappingName = dt.Columns[1].ColumnName;
    style3.MappingName = dt.Columns[2].ColumnName;

    // ヘッダーテキストに列名をセットします
    style1.HeaderText = dt.Columns[0].ColumnName;
    style2.HeaderText = dt.Columns[1].ColumnName;
    style3.HeaderText = dt.Columns[2].ColumnName;

    // データグリッド上のテキストボックスの前景色と背景色を設定
    style1.TextBox.BackColor = System.Drawing.Color.PowderBlue;
    style1.TextBox.ForeColor = System.Drawing.Color.Red;
    style2.TextBox.BackColor = System.Drawing.Color.PowderBlue;
    style2.TextBox.ForeColor = System.Drawing.Color.Red;
    style3.TextBox.BackColor = System.Drawing.Color.PowderBlue;
    style3.TextBox.ForeColor = System.Drawing.Color.Red;

    // 作成した各列のスタイルDataGridTableStyleに追加します
    DGTS.GridColumnStyles.Add(style1);
    DGTS.GridColumnStyles.Add(style2);
    DGTS.GridColumnStyles.Add(style3);

    // 作成したテーブルスタイルをDataGrid1に追加する
    dataGrid1.TableStyles.Add(DGTS); 

}