gridview itemtemplate

时间:2011-01-15 03:52:49

标签: asp.net

我想在gridview单元格中添加一个。更具体地,数据源是1到7之间的数字,并且基于该数字,div需要具有某种背景颜色,并且文本需要是某个单词。例如,如果数据为1,则div应为黄色,单词应为晴天。

最好的方法是什么?

感谢。

2 个答案:

答案 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");
    }

}

}