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

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

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

No.55958 の関連記事表示

<< 0 >>
■55958  Re[2]: データグリッドビューの行の色を高速に描画したい
□投稿者/ 田中さん -(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;
    }

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


記事No.55495 のレス /過去ログ94より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -