2013-01-17 109 views
0

在AX 2012動力,有沒有辦法來改變多個單元格的背景顏色,以不同的顏色?Dynamics AX的 - 色多個網格單元以不同的顏色

Order Status  Ship Status  Order ID 
[green]   [red]   SO-1234 
[green]   [green]   SO-1235 
[red]   [red]   SO-1236 

我寫了一個displayOption覆蓋,可以改變一個單元格的顏色,但它似乎適用於年底所有的變化,所以無論您指定的最後一種顏色是被應用於所有的一個細胞。

_options.backColor(46080); //green 
_options.affectedElementsByControl(OrderStatus.id()); 

//is there anyway to apply the first change, so I can make a second one? 

_options.backColor(255); //red 
_options.affectedElementsByControl(ShipStatus.id()); 

在上面列出的代碼中,兩個單元格背景顏色都是紅色的。

有什麼建議嗎?

感謝

+0

[更改列在網格背景色] [1] [1]:http://stackoverflow.com/questions/12621719/change-the-background-color-of-a-column -in-A-電網 見上面的鏈接,可以幫助您... –

+0

@MohdSaddafkhan我想這個問題是否可以在同一個網格線上有多種顏色。我不認爲這是可能的。 –

+0

是的,請求是爲同一行中的兩個單元格着色兩種不同的顏色。我已經實現了單細胞着色。謝謝。 – Brad

回答

1

我有一個類似的任務來完成,我沒有找到一個方法來做到這一點的Ax(當然,techinically你可以嘗試表控制,但我強烈建議你不要這樣做 - 你最終會大聲宣誓)。

我所做的是實現了一個WPF用戶控制和使用this post as a template。 這是一個小教程(在答案#7中找到),它顯示瞭如何在內置的WPF數據網格控件中實現單元格背景轉換器,以完成任務。

實施後,您可以使用LINQ(如果使用AX 2012 R2),Web服務或傳遞臨時表來填充數據網格 - 訪問AX數據的方法有很多。

它可能不是最終的解決方案,但它的工作原理。

0

我做到了,用表格控件(雖然馬切伊勸你不要做)。 它的工作原理沒有問題

您需要添加一個table控制它獲取你的數據和屬性 ColorScheme設置爲RGB

然後,覆蓋FormControl editControl(int column, int row) 您可以通過value = data.cell(column, row).data();訪問每個值,從而data是表控件的名稱。 當心,你必須用正確的數據類型控件添加到表控制,並給它起一個名字。同時將ColorScheme屬性設置爲RGB

如果你得到了你想要的背景顏色的RGB值,設置這個顏色可以通過

RealEdit.backgroundColor(WinAPI::RGB2int(real2int(R),real2int(G),real2int(B))); 

RealEdit做的是添加控件的名稱。

我已經做到了這一點,以顯示填充0到1之間的值的矩陣,並顯示範圍從綠色到紅色的顏色漸變疊加。請參閱this link,如果您想了解更多關於顏色轉換的信息。