设置 Telerik RadGrid 的行颜色

Ifw*_*him 4 c# telerik radgrid

我正在使用 RadGrid 来显示数据库中的数据。如果在状态列中该行显示为“已拒绝”,我想将 RadGrid 中的行颜色更改为红色。如果状态为 NULL,则该行将保持显示为白色。我已经尝试过这段代码,但该行仍然没有将颜色更改为红色。

try
{
    if (dataBoundItem["status"].Text == "REJECTED")
    {
        TableCell cell = (TableCell)dataBoundItem["status"];
        cell.BackColor = System.Drawing.Color.Red;
        dataBoundItem.BackColor = System.Drawing.Color.Red;

        if (e.Item is GridDataItem)
        {
            GridDataItem dataBoundItem1 = e.Item as GridDataItem;

            if (dataBoundItem1["Status"].Text != null)
            {
                cell.BackColor = System.Drawing.Color.Red;
                dataBoundItem1.BackColor = Color.Red;
                dataBoundItem1["status"].ForeColor = Color.Red;
                dataBoundItem1["status"].Font.Bold = true;
            }
        }
    }
}
catch
{ }
Run Code Online (Sandbox Code Playgroud)

Fel*_*ceM 5

尝试这样的事情:

using System.Drawing;
 
protected void RadGrid1_ItemDataBound(object sender, Telerik.Web.UI.GridItemEventArgs e)
 {
  if (e.Item is GridDataItem)
    {
     GridDataItem dataBoundItem = e.Item as GridDataItem;
     TableCell celltoVerify1 = dataBoundItem["status"];
       if (celltoVerify1.Text== "REJECTED")
        {
            celltoVerify1.ForeColor =  Color.Red;/// Only Change Cell Color
            dataBoundItem.ForeColor = Color.Yellow; /// Change the row Color
            //celltoVerify1.Font.Bold = true;
            //celltoVerify1.BackColor = Color.Yellow;
        }
    }
 }
Run Code Online (Sandbox Code Playgroud)

请让我知道这对你有没有用。