在SOF上没有关于类似问题的明确答案。
我有一个DataGridView
,它绑定到一个BindingList<T>
对象(这是一组自定义对象;也继承了INotifyPropertyChanged
)。每个自定义对象都有一个唯一的计时器。当这些计时器经过一定的值(比如10秒)时,我想将单元格的前景色更改为红色。
我正在使用CellValueChanged
事件,但是即使我可以看到DataGridView
上的计时器在变化,此事件似乎从未触发。我应该寻找不同的事件吗?下面是我的CellValueChanged
处理程序。
private void checkTimerThreshold(object sender, DataGridViewCellEventArgs e)
{
TimeSpan ts = new TimeSpan(0,0,10);
if (e.ColumnIndex < 0 || e.RowIndex < 0)
return;
if (orderObjectMapping[dataGridView1["OrderID", e.RowIndex].Value.ToString()].getElapsedStatusTime().CompareTo(ts) > 0)
{
DataGridViewCellStyle cellStyle = new DataGridViewCellStyle();
cellStyle.ForeColor = Color.Red;
dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Style = cellStyle;
}
}