您的位置:首页 > 编程语言 > ASP

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

2016-04-15 21:02 585 查看
问题描述:

我在做一个关于信用卡管理系统时遇到一个问题:信用卡内金额低于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;
改变字体颜色

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




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


                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: