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 '17 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 '17 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 '17 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 '17 at 14:28
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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.