我有正在显示数据的gridview
Name marks old marks new salaryold salarynew
sasi 55 78 23000 45000
kiran 67 45 35000 20000
peter 23 23 10000 10000
我想要的是,如果旧值与新值不同,我想使用不同的颜色,将旧值的颜色设为绿色,将新值的颜色设为红色,如果没有变化,则将绿色都设为绿色。在Rowdatabound
其他事件中该怎么办?
这应该可以做到(很抱歉,这台计算机上没有VS)。
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
//Proper input validation should be done here. i.e. empty string etc
var oldSalary = Convert.ToInt32(e.Row.Cells[3].Text);
var newSalary = Convert.ToInt32(e.Row.Cells[4].Text);
if(oldSalary == newSalary){
e.Row.Cells[3].ForeColor = Color.FromName("green");
e.Row.Cells[4].ForeColor = Color.FromName("green");
}
else{
e.Row.Cells[3].ForeColor = Color.FromName("green");
e.Row.Cells[4].ForeColor = Color.FromName("red");
}
}
}
或者
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
var lblOldSalary = e.Row.FindControl("lblOldSalary") as Label;
var lblNewSalary = e.Row.FindControl("lblNewSalary") as Label;
//Proper input validation should be done here. i.e. empty string etc
var oldSalary = Convert.ToInt32(lblOldSalary.Text);
var newSalary = Convert.ToInt32(lblNewSalary.Text);
if(oldSalary == newSalary){
lblOldSalary.ForeColor = Color.FromName("green");
lblNewSalary.ForeColor = Color.FromName("green");
}
else{
lblOldSalary.ForeColor = Color.FromName("green");
lblNewSalary.ForeColor = Color.FromName("red");
}
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句