在数据表更新后重新处理RowPrePaint

时间:2013-10-14 03:13:19

标签: c# .net winforms datagridview

我有一个datagridview,向用户突出显示“问题”单元格。然后,用户可以右键单击并选择更新,这将更改数据源(数据表)中的数据并重新处理该行。这一切都很有效。

要突出显示单元格,我将RowPrePaint处理显示的单元格。在数据表更新后,这似乎不会触发事件。

在考虑这个过程时,我认为这是正确的操作,因为数据网格已经显示,并且在退出表单并重新输入之前,RowPrePaint在调试器中不再被命中。

我尝试使用mydgView.Refresh();但这似乎没有做任何事情......我可以强制RowPrePaint重建所选行上的视图吗?

        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();

        }

0 个答案:

没有答案