我有一個tabular form
,我想在其中顯示不同顏色的列增量值。 Delta是我動態生成的column1和column2之間的區別。Oracle APEX:以表格形式列中的值顏色
如果差值爲>0
顏色沒有變化,如果增量是<0
值應爲紅色其他綠色,如果值是0
。
我使用Oracle APEX版本:4.2.1
我有一個tabular form
,我想在其中顯示不同顏色的列增量值。 Delta是我動態生成的column1和column2之間的區別。Oracle APEX:以表格形式列中的值顏色
如果差值爲>0
顏色沒有變化,如果增量是<0
值應爲紅色其他綠色,如果值是0
。
我使用Oracle APEX版本:4.2.1
類似的問題hapened我前一段時間,我所做的就是:
首先聲明一個CSS類
.cellColored{background-color:#ff0000 !important}
/*notice the !important attribute, if not declared the browser will use the apex css definition*/
然後去你的表格形式定義 - >區域定義 - >屬性 在靜態ID中添加和標識是這樣的:
tab_form_id
然後去你的表格形式定義報告Atributes和編輯您要畫柱,在該領域「元素屬性」補充一點:class='classDelta'
然後運行一個JavaScript函數的cellColored類ASIGN表適合的標準,這樣的細胞:
function paintCells(){
var tabForm = document.getElementById('tab_form_id');
var cells = tabForm.getElementsByTagName('td');
for(var i = 0; i < cells.length; i++){
if((cells[i].headers === 'DELTA') && (Number(cells[i].getElementsByClassName('classDelta')[0].value) < 0)){
cells[i].className = cells[i].className + ' cellColored';
}
}
}
通知的cells[i].headers === 'DELTA'
線,這應該是在報表中定義的列的名稱。
編輯
以上是輸入型的元素,只讀列,您需要使用此功能:
function paintCells(){
var tabForm = document.getElementById('tab_form_id');
var cells = tabForm.getElementsByTagName('td');
for(var i = 0; i < cells.length; i++){
if((cells[i].headers === 'DELTA') && (Number(cells[i].innerHTML) < 0)){
cells[i].className = cells[i].className + ' cellColored';
}
}
}
當值爲'<0'時試過但沒有改變數值的顏色 –
這對我很有用,因爲你在計算增量值後應該運行這個值。 – Typo
我把這個函數放在'Javascript'頁面組件和CSS類中,但是仍然保持顏色不變。 我在哪裏做錯了? –
我可以給你在CSS JavaScript的一個例子,你可以發佈列名? – Typo
列名是'delta',我需要顏色變化。 –
是輸入類型嗎? – Typo