2011-01-15 116 views
1

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

这样做的最好方法是什么?

谢谢。

回答

1

此加入的RowDataBound

保护无效GridView1_RowDataBound(对象发件人,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"); 
    } 

} 

}

+0

线int值=(int)的的DataBinder.Eval (e.Row.DataItem,e.Row.Cells [2] .Text);大多数是:int value =(int)DataBinder.Eval(e.Row.DataItem,“YourFieldHere”); – Piyey

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] 

,并绑定在查询详细信息它

我知道r处的第二方法