アプリ版:「スタンプのみでお礼する」機能のリリースについて

いつもお世話になっております。

C#の開発環境で、「DataGridView」を使用しているのですが、指定した列の色を変更するプログラムを作成しています。

現在、フォーム上に配置したDataGridView「dgvTable」のセルの列の背景色を、
「更新」ボタン押して変更するプログラムを作成しています。

ソースは以下の通りです。

for( int i = 0; i < selectCols; i++)
{
dgvTable.Columns.Add("col","");
dgvTable.Columns[i].DefaultCellStyle.BackColor = Color.LightGreen;
}

このループで背景色を変更したつもりでしたが、反映されませんでした。

変更する列の数は変動するので、フォームのロードイベントで変更することができません。
どのようにコードを書けば、背景色が反映されるかをご教授願えないでしょうか?

よろしくお願いします。

A 回答 (2件)

提示のコードのみであれば、こちらの環境では


問題なく背景色の変更ができました。
# 定義されていない変数などは全て定数で置き換えましたが。
    • good
    • 1

このコードでも反映される事は反映されますね。


DataSource が設定されていないので新規入力行しか
表示されませんが。

> このループで背景色を変更したつもりでしたが、反映されませんでした。
確認方法が悪いか、カラムから追加するプログラム
だから、別のデータを追加して表示されていないとか、
別の原因を疑った方がよいのでは?

サンプルといえど、もう少しちゃんとデータまで表示
できるコードを書いてもらわないと分からないです。

この回答への補足

申し訳ないです。

おっしゃる通り、DataSourceは設定しておりません。
直接データベースを設定して、データの書込みは行っておりません。

単純にDataGridViewに空白列を作成し、背景色を設定しているだけです。

この後、
for(int j = 0 ; j < MaxRow ; j++){
dgvTable.Rows.Add();
dgvTable.Rows[RowCount].Cells[0].Value = RowTitle[j];
RowCount++;
}
で追加した列に行ごとに項目名を書き込んでいます。

簡単に背景色の変更は出来ないのでしょうか?

補足日時:2011/07/11 12:12
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!