簡體   English   中英

Telerik RadGridView使用C#根據另一個單元格值更改單元格顏色

[英]Telerik RadGridView change cell color depending of another cell value using C#

我正在使用Telerik RadGridView 我試圖根據另一個單元格的值更改一個單元格的顏色。 我正在嘗試使用以下代碼實現這一目標:

if (e.Column.Name == "colDate" && !string.IsNullOrEmpty(e.CellElement.Value.ToString()))
{
    if (DateTime.Now > DateTime.Parse(e.CellElement.Value.ToString()))
    {
        e.Row.Cells["colColor"].Style.DrawFill = true;
        e.Row.Cells["colColor"].Style.BackColor = Color.Red;
        e.Row.Cells["colColor"].Style.NumberOfColors = 1;
    }
}

但是由於某種原因,它不會改變顏色。 我注意到的是,當我更換

e.Row.Cells["colColor"].Style

e.CellElement

它會改變顏色。 但是隨后,它更改了錯誤單元格的顏色(這是完全合乎邏輯的,因為它在當前單元格上)。 但我不想更改當前單元格。

有什么建議么?

您可以使用基於規則的格式設置對象,這在telerik api文檔中有介紹。

他們的代碼示例如下所示

ConditionalFormattingObject obj = new ConditionalFormattingObject("MyCondition", ConditionTypes.Greater, "30", "", false);
obj.CellBackColor = Color.SkyBlue;
obj.CellForeColor = Color.Red;
obj.TextAlignment = ContentAlignment.MiddleRight;
this.radGridView1.Columns["UnitPrice"].ConditionalFormattingObjectList.Add(obj);

為了解釋這一點,創建了一個名為MyCondition的規則,該規則指出如果該單元格值大於30,則將單元格的背景色設為SkyBlue,將前景色設為紅色。 將單元格的內容對齊到右中間,並將其綁定到名為UnitPrice的列。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM