上記のように apex コンポーネントを作成する代わりに、以下のようにチェックボックス コンポーネントを作成してみませんか?
public Boolean chkBox{
get{
if(myMap.get(myList[i]) == true){
return true;
}
return false;
}
set;
Visualforce ページでは、以下のように記述できます。
<apex:outputLabel value="Check Box Label"/> <apex:inputCheckBox value="{!chkBox}"><apex:actionSupport event="onclick" rerender="TheBlock" status="showCredentialing" />
VF エラーには行番号がないため、視覚力ページにある他の出力フィールド ERROR がエラーの原因である可能性もあります。
visualforce ページに独立した Component.Apex.inputCheckbox を実装しようとしました。以下のコードを試してください
コントローラ
public class testcontroller {
public Component.Apex.inputCheckbox chkBox { get; set; }
public Component.Apex.inputCheckbox dyCheckbox;
public PageReference chkBox3() {
this.chkBox = new Component.Apex.inputCheckbox();
System.debug('Here is Test');
this.chkBox.value = true;
return null;
}
public String chkBox2 { get; set; }
public testcontroller(){
this.chkBox2 = 'false';
}
public Component.Apex.inputCheckbox getInputCheckbox() {
Component.Apex.inputCheckbox dyCheckbox = new Component.Apex.inputCheckbox();
dyCheckbox.value = 'true';
return dyCheckbox;
}
}
ビジュアルフォースページ
<apex:page controller="testcontroller">
<!-- Begin Default Content REMOVE THIS -->
<h1>Congratulations</h1>
This is your new Page: test
<apex:form >
<apex:outputLabel value="Check Box Label"/>
<apex:inputCheckBox value="{!chkBox2}"/>
<apex:dynamicComponent componentValue="{!InputCheckbox}" />
<apex:commandButton value="sd" action="{!chkBox3}" title="asdf"/>
</apex:form>
<!-- End Default Content REMOVE THIS -->
</apex:page>