C# 数据表更新后重新处理RowPrePaint
我有一个datagridview,向用户突出显示“问题”单元格。然后,用户可以右键单击并选择update,这将更改数据源(datatable)中的数据并重新处理该行。这一切都很好 要高亮显示单元格,我将在单元格显示时进行RowPrePaint处理。这似乎不会在数据表更新后触发事件 在考虑这个过程时,我认为这是正确的操作,因为datagrid已经显示,在我退出表单并重新输入之前,RowPrePaint不会在调试器中再次被点击 我尝试使用mydgView.Refresh();但这似乎没什么作用。。。。我可以强制RowPrePaint在选定行上重建视图吗C# 数据表更新后重新处理RowPrePaint,c#,.net,winforms,datagridview,C#,.net,Winforms,Datagridview,我有一个datagridview,向用户突出显示“问题”单元格。然后,用户可以右键单击并选择update,这将更改数据源(datatable)中的数据并重新处理该行。这一切都很好 要高亮显示单元格,我将在单元格显示时进行RowPrePaint处理。这似乎不会在数据表更新后触发事件 在考虑这个过程时,我认为这是正确的操作,因为datagrid已经显示,在我退出表单并重新输入之前,RowPrePaint不会在调试器中再次被点击 我尝试使用mydgView.Refresh();但这似乎没什么作用。。。
private void dgvUsers_RowPrePaint(object sender, DataGridViewRowPrePaintEventArgs e)
{
bool bIDWarning = Convert.ToBoolean(dgvUsers.Rows[e.RowIndex].Cells["IDWarning"].Value.ToString());
Color IDColor = Color.FromArgb( Convert.ToInt32( dgvUsers.Rows[e.RowIndex].Cells["nIDColor"].Value));
if ( bIDWarning )
{
dgvUsers.Rows[e.RowIndex].Cells["ID"].Style.BackColor = IDColor;// Color.Yellow;
dgvUsers.Rows[e.RowIndex].Cells["ID"].ToolTipText = dgvUsers.Rows[e.RowIndex].Cells["ToolTip"].Value.ToString();
}
我已经编辑了你的标题。请参见“”,其中的共识是“不,他们不应该”。你不需要使用
RowPrePaint
来做这样的事情,无论如何,你想要什么还不清楚,你应该发布一些代码片段来展示你如何使用RowPrePaint
,以及一些你为什么要使用这样的事件,我想可能有一些简单的方法可以替代。这就是我发现的给单个细胞着色的方法。。。还有其他我不知道的方法吗?