我想在gridview单元格中添加一个。更具体地,数据源是1到7之间的数字,并且基于该数字,div需要具有某种背景颜色,并且文本需要是某个单词。例如,如果数据为1,则div应为黄色,单词应为晴天。
最好的方法是什么?
感谢。
答案 0 :(得分:1)
您可以在GridView的RowDataBound事件上更改它,如
中所述GridView : Working with TemplateFields
或
您可以在查询中指定详细信息,例如
select
case when [number] = 1 then 'Sunny'
when [number] = 2 then 'Rainy'
end as [DisplayWord],
case when [number] = 1 then 'Yellow'
when [number] = 2 then 'Red'
end as [DisplayColor]
from [YourTable]
并绑定它
我更喜欢第二种方法
答案 1 :(得分:1)
将其添加到RowDataBound
protected void GridView1_RowDataBound(object sender,GridViewRowEventArgs e) {
if (e.Row.RowType == DataControlRowType.DataRow)
{
int value = (int)DataBinder.Eval(e.Row.DataItem, e.Row.Cells[2].Text);
// e.Row.Cells[2] references the cell value you want to use
if (value < 100)
{
e.Row.Cells[2].BackColor = Color.FromName("#c6efce");
}
if ((value >= 100) && (value < 500))
{
e.Row.Cells[2].BackColor = Color.FromName("#ffeb9c");
}
}
}