C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 94 を表示中)
■55958 / )  Re[2]: データグリッドビューの行の色を高速に描画したい
□投稿者/ 田中さん (12回)-(2010/12/20(Mon) 21:23:17)
No55496 (Hongliang さん) に返信

返信が遅くなりました。すみません。

イベントをCellPaintingに変更したら、描画が高速になりました。
希望動作は出来ましたので解決なのですが、一つ、追加でお聞きします。

private void indexDataGridView_CellPainting(object sender, DataGridViewCellPaintingEventArgs e)
{
//列ヘッダーか調べる
if (e.ColumnIndex < 0 && e.RowIndex >= 0)
{
//セルの背景を描画する
if ((e.RowIndex / 10) % 2 == 0)
{
indexDataGridView.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.Silver;
}
}
}

上記のようにして実装したら動作しましたのでこれで動かしていますが

> 背景色の変更なら、CellPainting イベントで、イベント引数 DataGridViewCellPaintingEventArgs の CellStyle プロパティの、BackColor を変更することで実現できます。
という所が気になってます。
上記という事なので、例えば以下のように

//セルの背景を描画する
if ((e.RowIndex / 10) % 2 == 0)
{
e.CellStyle.BackColor = Color.Black;
}

とすれば背景が変わってくれる事を期待したのですが、全く色がついてくれません。
色々なサンプルを探してみたのですが、これで色が変わらない理由が分かりません。
すみませんが、どこが間違っているのでしょうか?



返信 編集キー/


管理者用

- Child Tree -