Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Compare old and new value in DataGridView cell

How to change DataGridView cell ForeColor based on whether new cell value is > or < than current/old cell value? Is there an event which passes the new value before the current is changed, so I can compare them?

The data is updated from underlying source, and may be bound by BindingSource.

like image 771
bretddog Avatar asked Aug 14 '11 22:08

bretddog


1 Answers

I ran into a similar issue. I tackled this by using the CellValidating event instead:

void dgv_CellValidating(object sender, DataGridViewCellValidatingEventArgs e)
{
    var oldValue = dgv[e.ColumnIndex, e.RowIndex].Value;
    var newValue = e.FormattedValue;
}

Admittedly, I just needed access to the old value, I didn't need to perform any formatting. I'm sure you can apply formatting through this event handler, though.

like image 118
nullable Avatar answered Sep 22 '22 20:09

nullable