0

Error

common.apex.runtime.impl.ExecutionException: Invalid conversion from runtime type Boolean to List<BusinessCardRequestControllerExtension.BCRWrapper>

By removing the value from each checkbox would make the table disappear, so what is a substitute for the checkbox value that I have currently?

Visualforce Page

            <apex:pageBlockSection title="Step 2: Choose your preferred style and order quantity." collapsible="false" columns="1" id="styleAndQuantitySection">
                <script>
                colorPageBlock(document.getElementById("{!$Component.styleAndQuantitySection}"), "#4d6f85");
                </script>
                <apex:outputText value="Please make your selection of style and quantity.
                                        (You may only make ONE selection per request)" style="font-variant:small-caps"></apex:outputText>
                <apex:pageBlockTable value="{!wrpObj}" var="c" id="priceTable" rendered="{!Info_In_Wrp.Size!=0}" onRowDblClick="updateRowColor(this)">
                    <apex:column headerValue="Order Quantity" value="{!c.bcrObj.Order_Quantity__c}" id="orderquantity">
                    </apex:column>
                    <apex:column headerValue="Thermal">
                        <apex:inputCheckbox value="{!wrpObj}" id="thermal" onchange="enableDisable(this);"/>
                        <apex:outputLabel for="thermal" value="{!c.bcrObj.Thermal__c}">
                        </apex:outputLabel>
                    </apex:column>
                    <apex:column headerValue="Engraved">
                        <apex:inputCheckbox value="{!wrpObj}" id="engraved" onchange="enableDisable(this);"/>
                        <apex:outputLabel for="engraved" value="{!c.bcrObj.Engraved__c}">
                        </apex:outputLabel>
                    </apex:column>
                    <apex:column headerValue="Engraved Reorder (no changes)">
                        <apex:inputCheckbox value="{!wrpObj}" id="engravedreorder" onchange="enableDisable(this);"/>
                        <apex:outputLabel for="engravedreorder" value="{!c.bcrObj.Engraved_Reorder__c}">
                        </apex:outputLabel>
                    </apex:column>
                    <apex:column headerValue="Braille">
                        <apex:inputCheckbox value="{!wrpObj}" id="braille" onchange="enableDisable(this);"/>
                        <apex:outputLabel for="braille" value="{!c.bcrObj.Braille__c}">
                        </apex:outputLabel>
                    </apex:column>
                    <apex:column headerValue="Braille Reorder (no changes)">
                        <apex:inputCheckbox value="{!wrpObj}" id="braillereorder" onchange="enableDisable(this);"/>
                        <apex:outputLabel for="braillereorder" value="{!c.bcrObj.Braille_Reorder__c}">
                        </apex:outputLabel>
                    </apex:column>
                </apex:pageBlockTable>   
            </apex:pageBlockSection>

Where am I converting a Boolean to a List and how can I fix it?

4
  • You still have the same problem five separate times: <apex:inputCheckbox value="{!wrpObj}" ...>. And please stop insisting you have proper syntax. The compiler is not wrong.
    – Adrian Larson
    Mar 31, 2017 at 14:11
  • @AdrianLarson And please do not down vote. I am trying my hardest to figure this out. I am not trolling or trying to be funny
    – Mr. HelpMe
    Mar 31, 2017 at 14:15
  • Perhaps not, but you are being rather insistent you're doing nothing wrong when that's clearly not the case. It doesn't make much sense why those <inputCheckbox> tags would have anything to do with rendering. Perhaps you should ask a separate question in that regard.
    – Adrian Larson
    Mar 31, 2017 at 14:24
  • 1
    Consider a reductive approach. A common concept in error reproduction is Minimum Viable Reproduction (MVR). Often times in creating your MVR, you will realize what you are doing wrong and solve your own problem.
    – Adrian Larson
    Mar 31, 2017 at 14:28

1 Answer 1

5

Your problem is this area here:

<apex:inputCheckbox value="{!wrapList}" onchange="enableDisable(this);"/>

(There's a few instances of this problem, so only one is illustrated here.)

You're trying to bind the entire wrapList to a Boolean value. You probably meant to do something like this:

<apex:inputCheckbox id="thermal" value="{!c.bcrObj.Thermal__c}" 
       onchange="enableDisable(this);"/>

Your outputText was probably meant to be an apex:outputLabel, like this:

<apex:outputLabel for="thermal" 
       value="{!$ObjectType.Business_Card_Request_Price__c.fields.Thermal__c.Label}" />
0

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .