0

我有一个 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();

        }
4

0 回答 0