|
分類:[C#]
プリ太です。 環境はWinXP VS2005です。
ファイルを読み込み、値によってDataGridViewの色を変更しようとしています。 いくつか値によって色を変更するDataGridViewはあるのですが、 1つのDataGridViewコントロールだけ画面が表示された時に変更した色が反映されていません。 他のDataGridViewコントロールと違うところは、色が変更されるDataGridViewはColumnCount,RowCountでセル数の設定を行っていますが、 色が変わらないDataGridViewコントロールは、 DataTable tableDr = new DataTable(); for (int i = 0; i < 32; i++) { tableDr.Columns.Add(""); } for (int i = 0; i < 10; i++) { tableDr.Rows.Add(""); } this.dgvEDIT_dr.DataSource = tableDr; でセル数の設定を行っています。
画面が表示された後、クリックしたセルの色を変更するのですが、この動作はClickイベントで dgvEDIT_dr[e.ColumnIndex, e.RowIndex].Style.BackColor = Color.Yellow; dgvEDIT_dr[e.ColumnIndex, e.RowIndex].Style.SelectionBackColor = Color.Yellow; 処理を行い、うまくいっています。 これと同じようにデータ反映関数の中に if (nSpData[0] == "1") { dgvEDIT_dr[nSp, nRow].Style.BackColor = Color.Yellow; dgvEDIT_dr[nSp, nRow].Style.SelectionBackColor = Color.Yellow; }
と入れているのですが、DataSourceでセル数を設定したDataGridViewコントロールだけ色が反映されません。
DataSourceでセル数を設定すると、扱い方が異なるのでしょうか?
宜しくお願いします。
|