![](/img/trans.png)
[英]Telerik Radgridview Winforms Change Cell/Row background color
[英]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.