如何以编程方式格式化radgrid单元格

时间:2009-08-25 22:53:10

标签: telerik radgrid cell-formatting

我必须根据单元格的值格式化(背景颜色,前景色,字体样式)radgrid的单元格。

例如 如果值为负,则将该单元格的前景颜色设置为红色。

任何人都可以告诉我如何实现这一目标吗?

3 个答案:

答案 0 :(得分:8)

 protected void grdName_ItemDataBound(object sender, GridItemEventArgs e)
    {
        if (e.Item is GridDataItem)
        {
            GridDataItem item = (GridDataItem)e.Item;
            if (Convert.ToInt32(((DataRowView)item.DataItem)["Column"]) < value)
            {
                TableCell cell = item["Column"];
                cell.BackColor = Color.PeachPuff;
            }
        }
    }

答案 1 :(得分:4)

将onItemDataBound =“Data_OnitemDataBound”行添加到aspx页面中的radGrid声明中。

然后将此添加到您的代码后面。 Cells []中的数字是要修改或验证的列的索引。

protected void Data_OnItemDataBound(object sender, GridItemEventArgs e)
{
    if (e.Item is GridDataItem)
    {
        GridDataItem item = (GridDataItem)e.Item;
        if (Convert.ToDecimal(item.Cells[3].Text) < 0)
        {
            item.Cells[3].ForeColor = System.Drawing.Color.Red;
        }
    }
}

答案 2 :(得分:1)

下面的代码可以用于RadGrid中的所有单元格。

  protected void RadGrid_ItemDataBound(object sender, GridItemEventArgs e)
    {
        foreach (GridDataItem dataItem in RadGridProduct.MasterTableView.Items)
        {
            int cellCount = dataItem.Cells.Count;

            foreach (GridTableCell item in dataItem.Cells)
            {
                if (item.Text == null ||Convert.ToInt32(item.Text) < 0 )
                    item.BackColor = System.Drawing.Color.Brown;
            }

        }

    }