前提・実現したいこと
開発環境:VS2015
言語等: C#, フォームアプリ
発生している問題・エラーメッセージ
dataGridViewのチェック列(Boolean)のセルの値をTrueにした瞬間(チェックマークが表示された直後)に、隣のセルを緑色にしたい。
該当のソースコード
下記コードで dataGridView を準備します。
//データテーブルの準備
DataTable dt = new DataTable();
DataRow dr;
//dtの定義
dt.Columns.Add("チェック", typeof(Boolean)); //Boolean!!!
dt.Columns.Add("販売店", typeof(String));
dt.Columns.Add("備考", typeof(String));
//値の代入
dr = dt.NewRow();
dr["チェック"] = false; //初期値はFalse!
dr["販売店"] = "札幌";
dr["備考"] = "1980開設";
dt.Rows.Add(dr);
dr = dt.NewRow();
dr["チェック"] = false; //初期値はFalse!
dr["販売店"] = "網走";
dr["備考"] = "2014開設";
dt.Rows.Add(dr);
dr = dt.NewRow();
dr["チェック"] = false; //初期値はFalse!
dr["販売店"] = "函館";
dr["備考"] = "2009開設";
dt.Rows.Add(dr);
//dataGridView1にセット
dataGridView1.DataSource = dt;
試したこと
trueを確認し、セルの色を変えるコード↓
//全行チェックし、trueなら緑にする。
for (int i = 0; i < dataGridView1.RowCount; i++)
{
if ((Boolean)dataGridView1.Rows[i].Cells[0].Value == true)
{
dataGridView1.Rows[i].Cells[1].Style.BackColor = Color.LightGreen;
}
else
{
dataGridView1.Rows[i].Cells[1].Style.BackColor = Color.White;
}
}
これを、
dataGridView営業所_Click
dataGridView営業所_CellValueChanged
dataGridView営業所_CellContentClick
dataGridView営業所_CellMouseClick
dataGridView営業所_MouseUp
など様々なイベントに書き込みまいたが、
どれも他のセルを選択した際に、目的のセルが緑色になります。
根本的に間違っているのでしょうか?
宜しくお願いします。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答2件
あなたの回答
tips
プレビュー