C#WinForms DataGridView cell表格单元格背景颜色渲染太慢

 

private void DGV_CellPainting(object sender, DataGridViewCellPaintingEventArgs e)
        {

            if (e.ColumnIndex >= 0 && DGV.Columns[e.ColumnIndex].Name == "字段名称")
            {
                if (Collections.Entity.to_double(e.Value) > 0)
                {
                    e.CellStyle.BackColor = Color.Red;
                }
                else
                { }
            }
          

        }

这个方法好像更好一些

复制代码
DataGridView 表格事件 RowPrePaint

private void DGV_RowPrePaint(object sender, DataGridViewRowPrePaintEventArgs e)
        {
            if (e.RowIndex >= 0)
            {
                 
                if (DGV.Rows[e.RowIndex].Cells["字段名称"].Value.ObjToInt()>1)//判断
                {
                    DGV.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.Red;
                }
            }
            
        }
复制代码

 

其它方法:

通过DataGridView控件   CellFormatting 事件来渲染
private void dgvFaFangD_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
        {
            dgv2.Rows[0].Cells["colcoumn"].Style.ForeColor = Color.Red; //20ms
        }   

 

posted @   txwtech  阅读(68)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
历史上的今天:
2022-07-17 win10笔记本安装 SolidWorks2016软件,SW2010-2016.Activator.GUI.SSQ激活闪退解决办法
点击右上角即可分享
微信分享提示