千家信息网

DataGridView如何自定义单元格表示值、Error图标显示

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,小编给大家分享一下DataGridView如何自定义单元格表示值、Error图标显示,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解
千家信息网最后更新 2026年11月03日DataGridView如何自定义单元格表示值、Error图标显示

小编给大家分享一下DataGridView如何自定义单元格表示值、Error图标显示,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

自定义单元格表示值

通过CellFormatting事件,可以自定义单元格的表示值。(比如:值为Error的时候,单元格被设定为红色)

示例:

private void dgv_Users_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)        {            try            {                if (e == null || e.Value == null || !(sender is DataGridView))                    return;                DataGridView dgv = sender as DataGridView;                if (dgv.Columns[e.ColumnIndex].Name=="Sex")                {                    string value = e.Value.ToString();                    if (value.Equals("女"))                    {                        e.Value = "Woman";                        e.FormattingApplied = true;                    }                }            }            catch (Exception ex)            {                MessageBox.Show(ex.Message + "\r\n" + ex.StackTrace);            }        }

Error图标显示

为了提醒用户注意,DataGridView可以使用Error图标来突出显示。

Error图标可以在单元格和行头内表示,但不能在列头上显示。

1、ErrorText属性

当设定单元格/行的ErrorText属性的内容后,单元格/行的Error图标就会被表示出来。另外,只有在DataGridView.ShowCellErrors=True时,Error图标才能显示。(默认属性为True)

设定(0,0)的单元格表示Error图标

this.dgv_Users[0, 0].ErrorText = "只能输入男或女";

设定第4行的行头显示Error图标

this.dgv_Users.Rows[3].ErrorText = "不能输入负数";

2、CellErrorTextNeeded、RowErrorTextNeeded事件

即时输入时的Error图标的表示,可以使用CellErrorTextNeeded事件。同时,在大量的数据处理时,需要进行多处的内容检查并显示Error图标的应用中,遍历单元格设定ErrorText的方法是效率低下的,应该使用CellErrorTextNeeded事件。行的Error图标的设定则应该使用RowErrorTextNeeded事件。但是,需要注意的是当DataSource属性设定了VirtualMode=True时,上述事件则不会被触发。

CellErrorTextNeeded、RowErrorTextNeeded事件一般在需要保存数据时使用,保存数据之前先判断单元格输入的值是否合法,如果不合法,则在不合法的单元格或行显示Error图标。相当于做了一个客户端的验证。

private void dgv_Users_CellErrorTextNeeded(object sender, DataGridViewCellErrorTextNeededEventArgs e){            DataGridView dgv=sender as DataGridView;            if (dgv.Columns[e.ColumnIndex].Name.Equals("Sex"))            {                string value = dgv[e.ColumnIndex, e.RowIndex].Value.ToString();                if (!value.Equals("男") && !value.Equals("女"))                {                    e.ErrorText = "只能输入男或女";                }            }}
private void dgv_Users_RowErrorTextNeeded(object sender, DataGridViewRowErrorTextNeededEventArgs e){            DataGridView dgv = sender as DataGridView;            if (dgv["UserName", e.RowIndex].Value == DBNull.Value && dgv["Password", e.RowIndex].Value == DBNull.Value)            {                e.ErrorText = "UserName和Password列必须输入值";            }}

以上是"DataGridView如何自定义单元格表示值、Error图标显示"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

图标 单元 事件 输入 内容 属性 数据 篇文章 行头 低下 合法 不怎么 只有 同时 大部分 定则 客户 效率 数据处理 方法 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 广州大一互联网络科技有限公司 互联网属科技 互联网 卓越科技 智慧科技互联网 科技创新互联网企业 奇士达互联网科技 互联网金融和金融科技 中国互联网金融科技基金 玖二柒互联网科技公司待遇 深圳国际航运科技和互联网 互联网教育科技公司vipkid 重庆互联网医院沙龙医盟信息科技 洛阳共同富裕互联网科技有限公司 上海京穆互联网科技有限公司 怎样加入科技互联网 互联网科技融合创新 2021世界互联网领先科技成果发布 世界互联网科技成果奖 玉溪新华互联网科技怎么选 平安好医生打造互联网科技医疗 互联网金融科技创新 中国的互联网科技企业的崛起 华服互联网科技官网 岳阳华臻互联网科技有限公司 华夏互联网科技业 互联网科技大赛获奖感言 卓翼科技产业互联网合作 福州德业互联网科技 银川新华互联网科技学校是国营吗 广州三三互联网科技有限公司
0