2017-06-07 34 views
-1

背景: 我有一個Jface表格,我已經爲每列設置了編輯支持和文本單元格編輯器。大約有20列。Jface表格行驗證

問題: 我想突出無效的行字段文本與深紅色和整行與淺紅色的顏色。

我想以現在什麼: 1.我已經強調使用標籤提供getBackgroundColor()和getForgroundColor()無效的字段(行的單細胞)。 2.我試過CellEditor的setValidator()方法來添加一個驗證器,但我不想清除單元格中的無效文本,我只是想突出顯示它。 3.我有一種方法使用每個單元格的標誌來檢查該單元格的有效性,如果任何標誌爲真,將突出顯示該行的所有單元格(可以使用標籤提供程序來實現)。但是,我認爲這種方法會影響我桌子的性能。 4.我不確定Jface表更新策略對性能的影響。所以我沒有使用它。

強調錶格整行的原因是:表格有20列以上,用戶不想滾動表格找出問題所在。

請建議您是否知道更好的解決方案。

回答

1

使用標籤提供商來獲取顏色是實現這一目標的方法。

只有在創建或刷新行時,纔會詢問標籤提供者的顏色 - 通過調用查看者refreshupdate方法中的一個,因此這不會影響性能。

+0

感謝Gerg,只是想確認方法#3從我的問題(部分 - 我現在試過的)是唯一的方法,在Jface? –

+0

基本上是這是唯一的方法。標籤提供商是您用於顏色的。 –