2014-04-10 49 views
2

我想動態地改變某些特定單元格的前景和背景顏色,具體取決於另一個單元格值或事件。如何更改Janus GridEX特定單元格的顏色?

例如,當用戶單擊單元格時,其背景顏色應爲RED。

我的代碼是這樣的:

Janus.Windows.GridEX.GridEXFormatStyle style1 = new GridEX.FormatStyle(); 

style1.ForeColor = Color.Red; 

mySpecificCell.FormatStyle = style1; 

它的工作原理,但是當我向下滾動,然後再向上滾動,細胞恢復到原來的顏色的顏色。

我的代碼有什麼問題?我應該如何克服這一點?

回答

2

嘗試使用Gridex的formattingRow事件來執行自定義格式。

對網格上的每一行都調用此事件。

在那裏你可以訪問整行。

這意味着您可以檢查某個單元格的值,然後根據第一個單元格格式化另一個單元格。

2

就像Arthur說的那樣,你必須利用Grid的FormattingRow事件。

這是一個示例代碼:

private void grd_FormattingRow(object sender, RowLoadEventArgs e) 
{ 
    if (e.Row.Cells["ColumnName"].Value == someValue) // a condition to determine when to change the color of the cell, you can put your own condition 
     e.Row.Cells["ColumnName"].FormatStyle = new GridEXFormatStyle() { BackColor = Color.Red }; 

} 

的格式行將火正在顯示網格中的每一行,你可以使用e.Row

「的ColumnName」訪問此行列的名稱。

當您想要更改單元格的顏色時,可以替換條件檢查。

相關問題