ASP.NET中使用DataGrid控件按照条件显示GridView单元格的颜色

问题描述:

我在做一个关于信用卡管理系统时遇到一个问题:信用卡内金额低于100元时,数字颜色显示为红色,其余显示为绿色

之前,尝试了修改成为模板列以及转换成Reapeater控件,甚至用了Jquery,都没达到预期的效果,代码烦杂不易理解。通过查询相关资料,看到了关于DataRowView的介绍。

这里不过多介绍

 

前台部门核心代码:

<asp:BoundField HeaderText="身份证号码" DataField="identitycardnumber" />
                            <asp:BoundField HeaderText="性别" DataField="sex" />
                            <asp:BoundField HeaderText="个人信用等级" DataField="creditstandard" />
                            <asp:BoundField HeaderText="卡内金额" DataField="money"/>

后台核心代码:

 gvCardUser.DataSource = ds.Tables[0];
            gvCardUser.DataBind();
            for (int i = 0; i < gvCardUser.Rows.Count; i++)
            {
                DataRowView dgv = ds.Tables[0].DefaultView[i];
                string money = Convert.ToString(dgv["money"]);
                if (Convert.ToDouble(money) < 100)
                {
                    gvCardUser.Rows[i].Cells[5].ForeColor = System.Drawing.Color.Red;
                }
                else
                {
                    gvCardUser.Rows[i].Cells[5].ForeColor = System.Drawing.Color.Green;
                }
            }

这段代码要和数据绑定在一起,在Page_Load时就要实现。

DataRowView dgv = ds.Tables[0].DefaultView[i];

获取用户自定义的视图

gvCardUser.Rows[i].Cells[5].ForeColor = System.Drawing.Color.Red;
改变字体颜色


通过以上操作,即可实现效果,如图显示:

多多积累经验,记录开发经验,事半功倍



原文地址:https://www.cnblogs.com/fanling521/p/5396913.html