0

これが私が経験している問題です:私はDataGridView(それをAと呼びましょう)から来る多くのレコードをリストしていSqlDataReaderます。これは、別のグリッドのイベントでDataGridView入力されます。グリッドAの4番目の列の日付が今日(新しい)より大きい場合は行をでペイントする必要があります。そうでない場合は、行をでペイントします。SelectionChanged

CellFormattingこれを行うためにイベントで実装したコードは次のとおりです。

if (Convert.ToDateTime(dgvCREListaParcelas.CurrentRow.Cells[3].Value) > DateTime.Now)
        {
            e.CellStyle.BackColor = Color.Red;
        }
        else
        {
            e.CellStyle.BackColor = Color.LightBlue;
        }

理由はわかりませんが、グリッド内の任意の行をクリックするか、上下にスクロールすると、線の色が変わります。残念ながら、ポイントが足りないため、画像を投稿できません。

誰かがこの問題を手伝うことができるでしょうか?

4

1 に答える 1

0

CellFormating イベントの次の行を変更することで、これを修正できました: if (Convert.ToDateTime(dgvCREListaParcelas.CurrentRow.Cells[3].Value) < DateTime.Now)

に:

if (Convert.ToDateTime(dgvCREListaParcelas.Rows[e.RowIndex].Cells[3].Value) < DateTime.Now)

注目してくれてありがとう!

于 2013-03-02T01:48:55.180 に答える