我正在嘗試使用xpages數據表格,並根據單元格值將列中單元格的單元格顏色設置爲不同。我發現的是儘管數據表綁定到視圖並且指定了集合(以獲取行值),但這似乎無法用於樣式部分。Xpages基於單元格值的數據表格單元格顏色
下面是一個例子:
<xp:dataTable id="dataTable8" rows="30" var="doc1">
<xp:this.value><![CDATA[#{javascript:var View:NotesView = DivisionsView;
View.getAllEntriesByKey("ViewName")}]]></xp:this.value>
<xp:column id="column1" style="width:75px;font-family:Tahoma">
<xp:text escape="true" id="computedField1">
<xp:this.value><![CDATA[#{javascript:doc1.getColumnValues()[1]
}]]></xp:this.value>
<xp:this.style><![CDATA[#{javascript:v=doc1.getColumnValues()[1];
if(v=="Yes"){"background-color:rgb(255,0,0)"}}]]></xp:this.style>
</xp:text>
<xp:this.facets>
<xp:label value="Header" id="label1" xp:key="header">
</xp:label>
</xp:this.facets>
</xp:column>
</xp:dataTable>
這只是顯示錯誤未找到DOC1。這是否意味着綁定到數據表的數據不可用於其樣式部分?有沒有辦法做到這一點?
任何建議,將不勝感激!
編輯:我不能改變基於視圖項值的表單元格樣式,這裏是拋出DOC1沒有發現錯誤
的一個實例:
<xp:column id="column1">
<xp:this.style><![CDATA[#{javascript:v=doc1.getColumnValues()[1];
if(v=="Yes"){"background-color:rgb(255,0,0)"}}]]></xp:this.style>
<xp:text escape="true" id="computedField1">
<xp:this.value><![CDATA[#{javascript:doc1.getColumnValues()[1]
}]]></xp:this.value>
</xp:text>
<xp:this.facets>
<xp:label value="Header" id="label1" xp:key="header">
</xp:label>
</xp:this.facets>
</xp:column>
您是否嘗試過在不使用文檔值的情況下設置this.style?我也認爲這可能會在頁面加載時發生,然後將文檔加載到dataTable中。也許嘗試一個檢查doc1是否存在的子句,然後傳遞默認樣式(如果不存在)。 –
嗨,我已經嘗試使用this.style沒有文件的值,這個工程。我也檢查過並且doc1存在 - 使用doc1.getcolumnvalues()將值放入表中[1]沒有問題 – Ned
正確,但dataTable的結構中有一些內容用於檢查呈現前文檔是否存在。我認爲你的代碼試圖在頁面加載時編譯並且沒有加載結構。但我可能是錯的。 –