在ASP.NET中当把数据绑定到DataGrid中时,如何根据某一单元格的值来确定列的背景颜色?
如:在DataGrid数据列表中把第二个单元格的值为1的列统统标记为红色与不是1的列进行区分?

解决方案 »

  1.   


     protected void DataGrid1_ItemDataBound(object sender, DataGridItemEventArgs e)
        {
            if (e.Item.ItemType == ListItemType.Item)
            {
                if (e.Item.Cells[1].Text == "1")
                {
                    e.Item.Cells[1].BackColor = System.Drawing.Color.Red;
                }
            }
        }
      

  2.   

    protected void DataGrid_ItemDataBound(object sender, DataGridItemEventArgs e)
        {
            if(e.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem)
            {
                for (int i = 0; i < this.DataGrid1.Items.Count; i++)
                {
                    //取某一列某一单元格值
                    Label lblcheckdate = ((Label)this.DataGrid.Items[i].FindControl("lblcheckdate"));
                    if (lblcheckdate.Text != "你的值")
                    {
                        this.DataGrid1.Items[i].backColor= Color.Blue;//这个是行
                 e.item.cells[i].backColor=Color.blue;//这个是列
                    }
                }
            }
        }
    别忘了加上命名空间 using System.drawing;
    当然不是完全一样,可以参考!!