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>