• Roger Pavelle
  • NEWBIE
  • 120 Points
  • Member since 2015

  • Chatter
    Feed
  • 0
    Best Answers
  • 2
    Likes Received
  • 0
    Likes Given
  • 25
    Questions
  • 45
    Replies
I can't get the Node.js program to work.  I get a "Syntax Error: Unexpected identifier"
It was working for a while, but I'm not sure what happened or how to get things to work again.
I've tried uninstalling and reinstalling seveal times, but the issue persists.

Any ideas?
Hi,

I seem to be having a problem logging into Heroku from the command prompt. 
As instructed in the third part of the Trailhead, I type in "Heroku Login".
A message appears asking "Would you like to submit Heroku CLI information to better improve the CLI user experience [y/N]"
It doesn't seem to matter whether I submit y or N. 
Either way, I get the following error statement: "!     error getting commands pid 9664 SIGSEGV <signal 11."

Any suggestions?

Roger
I am getting the below error in Add Business Logic step fo the Battle Station trailhead.  I have confirmed that the trailhead is seeing the correct account, and the Battle Station app itself is working correctly (it validates the number of Exhaust Port Inspectors and changes the status as it is supposed to).  Any ideas on what sort of insert is having problems, or why?
 User-added image
I'm getting the forllowing error when using the data import wizard:
Your import failed: Import for object BoleteFilter__Bolete__c did not succeed. Error received - InvalidJob : Empty transformation specification

All of the fields that I am trying to import/update are showing as mapped.  How do I go about figuring out what is not being mapped/transformed properly?

Thanks.
I am trying to add/update records in a custom object from a CSV file.  All the fields map correctly.  When I start the import, I get a message saying "Your import failed: There was an unexpected problem while importing. The import did not succeed."  This is a process that has worked correctly for me in the past.

I don't have Lightning Components enabled, so I don't think it is related to that known issue (but may be wrong).

Any thoughts?
Hi,

I am writing a test case against my custom controller.  I can get all the components to populate correctly, but the database query inside the function I am trying to test does not seem to be returning any results.  Any suggestions on what I need to change or add?

CONTROLLER function:
NOTE: I tested things and the buildWhereClause works correctly, so I'm not including that code as it is long.  Similarly, the sortOrder has a default value so it doesn't matter either.  The debugging messages show that neither query is returning any values (the record size returned by both is 0).

 public List<Bolete__c> getBoletes()
    {
        buildWhereClause();

        List<Bolete__c> resultsMax = Database.query(
            'SELECT Genus__c, Species__c, Common__c ' +
            'FROM Bolete__c ' +
            whereClause
        );
        //Total number of records
        recordSize = resultsMax.size();
       
        List<Bolete__c> results = Database.query(
            'SELECT id, Genus__c, Species__c, Common__c, imageURL__c, Edibility__c, Tells__c ' +
            'FROM Bolete__c ' +
            whereClause +
            'ORDER BY ' + sortOrder  +
            'LIMIT 20'
        );
        resultSize = results.size();
        System.debug('getBoletes  recordSize:' + recordSize + ' resultsize:' + resultSize);
        return results;
    }

TEST CASE: (NOTE: the Result Size should be 74, but is returning 0, so the assert fails.)
    @istest static void TestShowResultSize()
    {
        Test.startTest();
        PageReference pg = Page.BoleteSearch;
        pg.getParameters().put('boxNum','49');
        Test.setCurrentPage(pg);
        BoleteController ctrl = new BoleteController();
        ctrl.setChkBoxValue();
        List<Bolete__c> bols = ctrl.getBoletes();
        String wc = ctrl.currentWhereClause;
       
        Integer resultsize = ctrl.showResultSize;
        System.assert(resultsize==74, wc);
        Test.stopTest();
    }
 
Hi,

I am trying to write test cases for a controller class I created.  Several of the functions in the controller set variables using page reference pararameters.  I think I am setting the parameters correctly, but when I try to retrieve data from other functions, the test fails. 

Thank you for any help or advice you can provide.

Roger

CONTROLLER:
    private List<Boolean> chkBoxValues = new List<Boolean>{false,false,false,false,false,false,false,false,false,false,false,
        false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,
        false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,
        false,false,false,false,false,false,false,false,false,false,false,false,false,false};

    public void setChkBoxValue()
    {
        integer boxNum = integer.valueOf(system.currentPageReference().getParameters().get('boxNum'));
        boolean before = chkBoxValues[boxNum];
        chkBoxValues[boxNum] = !chkBoxValues[boxNum];
        System.debug('boxNum:' + boxNum + ' before:' + before);
        System.debug(currentChkBoxValues);
    }
      
    public string currentChkBoxValues
    {
        get {
            return string.join(chkBoxValues, ', ');
        }
    }

TEST CASE:
    @istest static void TestSetChkBoxValue()
    {
        PageReference pg = Page.BoleteSearch;
        pg.getParameters().put('boxNum','49');
        Test.setCurrentPage(pg);
        BoleteController ctrl = new BoleteController();
       
        ctrl.setChkBoxValue();
       
        String chk = ctrl.currentChkBoxValues;
        system.assert(chk.contains('T'), chk);
       
    }


 
Hi,

I have two pages (call them page 1 and page 2).  Page 1 has several checkboxes that help determine search criterial.  You then select a item and click a button to go to page 2.  When I return from page 2 to page 1, I want the search criteria to still be checked.

I understand that I need to set the retURL parameter on page 1 before I call/open page 2.  What I'm not clear on is how page 2 then uses that parameter.

The code I currently have (no retURL coded yet) is as follows:
page 1:
                        <apex:outputLink value="/apex/boleteDetailView?id={!bol.Id}" id="viewLink">
                            View
                        </apex:outputLink>
page 2:
        <apex:commandButton action="/apex/BoleteSearch" id="returnButtonBottom" value="Return to Search" />

Thanks.
I have two apex pages.  The first is a search page with many checkboxes designed to limit the number of results returned from a custom object.  The second page is a detail page based on a single object selected from the search page.

When I navigate from the detail page back to the search page, all the selections that I have previously made are lost (all checkboxes are set back to "unchecked").

Is there a way to keep the boxes checked when I navigate back to the page?
I am trying to create a connected app (ultimately one that can work on an iPhone).  However, I can't figure out how to add/tie in the custom object and apex/visualforce pages I've already created.  The help documents don't seem to mention this either.

What I've tried:
Create-->Apps click the New button under Connected Apps
   Fill in required Basic Information
   Fill in Mobile App Settings information:  App Platform: iOS
                                                                   App version:  0.1
                                                                   App Binary URL:  www.pavellephoto.com (which will change when I get the app created and packaged for others to use)

At this point, I don't see anywhere to add custom objects or visualforce pages when I click either Edit or Manage.

Do I need to create a regular app first (create-->apps-->apps instead of create-->apps-->connected apps)?
Should the pages be put in the start URLs?
Does it matter if the custom object is "In Development" vs "In Production"?
Does it matter if I haven't written all the test scripts yet?
I have a custom object which I am importing into a data table.  What I want is for each row to have a background color that is based on the Edibility__c database field. 

Any suggestions?

Here is the IF statement that I am trying to use.  I get an error if I put this into the Search Results block or if I try to attach it to the pageBlockTable tag (the latter because it doesn't recognize the variable name.

            <apex:outputPanel styleClass="{!IF(bol.Edibility__c == 1,'red',
                                                       IF(bol.Edibility__c  == 2,'yellow',
                                                       IF(bol.Edibility__c  == 3,'blue',
                                                       'green')))}">

Here is the code for the table.

            <apex:pageBlock title="Search Results"  id="bolete_list">
                <apex:outputText >{!showResultSize} of {!showRecordSize} records displayed</apex:outputText>
                <br/>
                <apex:pageBlockTable value="{! Boletes }" var="bol" style="width: 100%">
                    <apex:column width="75">
                        <apex:outputLink value="/apex/boleteDetailView?id={!bol.Id}" id="viewLink">
                            View
                        </apex:outputLink>
                    </apex:column>
                   
                    <apex:column width="75">
                        <apex:image id="imageURL" url="{!bol.ImageURL__c}" height="75"/>
                    </apex:column>

                    <apex:column value="{! bol.genus__c }">
                        <apex:facet name="header">
                            <apex:commandLink action="{! sortByGenus }" reRender="bolete_list">Genus
                            </apex:commandLink>
                        </apex:facet>
                    </apex:column>
                   
                    <apex:column value="{! bol.species__c }">
                        <apex:facet name="header">
                            <apex:commandLink action="{! sortBySpecies }" reRender="bolete_list">Species
                            </apex:commandLink>
                        </apex:facet>
                    </apex:column>
                   
                    <apex:column value="{! bol.Common__c }"/>
                </apex:pageBlockTable>
            </apex:pageBlock>
        </apex:pageBlock>
I am having several issues when using a combination of PanelGrid and PanelGroup:

1)  I have two PanelGroup tags inside the PanelGrid.  How to I get them to both top align?
2)  How do I get the two PanelGroups to fit nicely on a page.  While I could try setting the width attribute, I am planning on putting this page into a mobile app and therefore don't want to specify something that may not be practical in use.
3)  One of the PanelGroup tags has many collapsible PageBlockSection tags.  When I added them to the PanelGroup they no longer collapse.  What do I need to do to make them collapsible once again?

Thanks.
I am trying to build a connected app.  So far I have built 1 custom object, 4 visualforce/apex pages and 1 folder's worth of documents that should packaged/built into the app.

When I go to Create-->Apps-->New Connected App, I can't find anyplace that lets me associate the objects/pages with the app.  I also can't find any instructions on how to do so in the help/developer documents.

Can someone point me to the right place or explain what I need to do to create this app?
I'm importing a database integer value into an apex page. 
In one place, I would like to replace the value with text (if value = 1 text=Bad, else if value = 2 text = blah, etc.).
In a different place, I'd like to color code backgrounds based on the value (If value =1 background = red, else if value = 2 background = yellow, etc.)

I know I can figure out a workaround for the first example, but since the second one needs something programmatic.  Is there a way to put an if statement (or case statement or other conditional statement) in the apex tag?
Hi,

I have an apex form that has two parts to it:  the first part is a list of search criteria and the second part is a table with search results.

Is there a way to have these two parts display side-by-side on the form?

Thanks.
I can't figure out why I am getting the following error:
System.QueryException: value of filter criterion for field 'Edibility__c' must be of type string and should be enclosed in quotes

The checkboxes call the setCheckBoxValue function, which is supposed to track whether the box is checked or not.  This array is later used by the buildWhereClause function to rerender a search results table based on the chekced values.  There are 61 checkboxes and all but the first 4 checkboxes work correctly.  Everything was working for a while, but then a change in the custom object led me to change the "value" field, but I later changed it back to what it used to be (even going so far as to copy the code from other boxes and changing the value).

Why doesn't this work anymore?


Apex code:
                <apex:inputCheckbox label="Choice" id="edibilityChoiceChk" >
                    <apex:actionSupport action="{!setChkBoxValue}" event="onchange" rerender="bolete_list">
                        <apex:param name="boxNum" value="0"/>
                    </apex:actionSupport>
                </apex:inputCheckbox>               

Controller code (selected pieces):
    private List<String> whereClauseValues = new List<String>{'4', '3', '2', '1', 'poreColorRed__c', 'poreColorBrown__c',
        'sporePrintYellow__c', 'sporePrintPink__c', 'sporePrintBrown__c'};

    public void setChkBoxValue()
    {
        integer boxNum = integer.valueOf(system.currentPageReference().getParameters().get('boxNum'));
        boolean before = chkBoxValues[boxNum];
        chkBoxValues[boxNum] = !chkBoxValues[boxNum];
        System.debug('boxNum:' + boxNum + ' before:' + before);
        System.debug(currentChkBoxValues);
    }

    private void buildWhereClause()
    {
        Boolean exists = false;
        whereClause = '';
       
        //The first four values are for edibility, which are not mutually exclusive, so they are built
        // using or instead of and
        for (Integer i = 0; i<4; i++)
        {
            if (chkBoxValues[i])
            {
                if (exists)
                {
                    whereClause = whereClause + ' or Edibility__c = ' + string.escapeSingleQuotes(whereClauseValues[i]);
                }
                else
                {
                    whereClause = 'Where (Edibility__c = ' + string.escapeSingleQuotes(whereClauseValues[i]);
                    exists = true;
                }
            }
        }
        if (exists)
        {
            whereClause = whereClause + ') ';
        }
       
        //All the other values are individual values, so they are built with AND
        for (Integer i = 4; i<whereClauseValues.size(); i++)
        {
            if (chkBoxValues[i])
            {
                if (exists)
                {
                    whereClause = whereClause + 'and ' + whereClauseValues[i] + ' = true ';
                }
                else
                {
                    whereClause = 'Where ' + whereClauseValues[i] + ' = true ';
                    exists = true;
                }
            }           
        }
    }
 
I want to create an app based on several apex/visualforce pages as well as a custom object.  The app should be one that can be distributed to the app exchange as well people who are not salesforce users (via the iStore or something similar), and be able to be used on an iPhone or other mobile device.

I'm having a hard time finding documentation that explains the difference between console apps and connected apps and, in this context, would help me decide which one to use/create.

Thanks for any help or advice.
I'm having a hard time finding documents that explain the difference between console apps and connected apps.

I want to create an app based on several apex/visualforce pages as well as a custom object.  The app should be one that can be distributed to people who are not salesforce users (via the iStore or something similar), and be able to be used on an iPhone or other mobile device.

What type of app am I describing?

Thanks.
I am trying to build an SOQL query inside a custom controller.  The query is supposed to return details of a selected record based on the record ID.  However, when I run the query I get an error saying "expecting a colon, found 'a0C1a00000115Xd' ".  If I put a colon in front of the ID, I get an error saying "Variable does not exist".  How can I fix this?
I have two VisualForce pages that I've created that deal with a custom object.  The first page has several search criteria.  The second page is called from the first and is designed to show the details of a selected record.

How do I pass the ID from the Search page to the Detail page?  The code snippit I'm using is:
                        <apex:outputLink value="{! URLFOR('/apex/boleteDetailView', bol.Id) }">
                            View
                        </apex:outputLink>
This opens the detail page fine, but I don't see any evidence that the ID has been passed.

I've also tried creating a function in the controller that would hold the ID (so I could get around this problem), but that doesn't seem to work either (probably due to a misunderstanding of the way the apex:outputLink tag works).
                        <apex:outputLink value="{! URLFOR('/apex/boleteDetailView', bol.Id) }">
                            <apex:actionSupport action="{!setSelectedID}" event="onclick">
                                <apex:param name="ID" value="{!bol.ID}"/>
                            </apex:actionSupport>
                            View
                        </apex:outputLink>


Also, once I am on the detail page, how do I retrieve the details for the selected record?  Is there a way to retrieve the custom object's fields/values directly (like you can with the standard controller) or will I also need to create a function in the custom controller to get the detail records?
Hi,

I am trying to write test cases for a controller class I created.  Several of the functions in the controller set variables using page reference pararameters.  I think I am setting the parameters correctly, but when I try to retrieve data from other functions, the test fails. 

Thank you for any help or advice you can provide.

Roger

CONTROLLER:
    private List<Boolean> chkBoxValues = new List<Boolean>{false,false,false,false,false,false,false,false,false,false,false,
        false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,
        false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,
        false,false,false,false,false,false,false,false,false,false,false,false,false,false};

    public void setChkBoxValue()
    {
        integer boxNum = integer.valueOf(system.currentPageReference().getParameters().get('boxNum'));
        boolean before = chkBoxValues[boxNum];
        chkBoxValues[boxNum] = !chkBoxValues[boxNum];
        System.debug('boxNum:' + boxNum + ' before:' + before);
        System.debug(currentChkBoxValues);
    }
      
    public string currentChkBoxValues
    {
        get {
            return string.join(chkBoxValues, ', ');
        }
    }

TEST CASE:
    @istest static void TestSetChkBoxValue()
    {
        PageReference pg = Page.BoleteSearch;
        pg.getParameters().put('boxNum','49');
        Test.setCurrentPage(pg);
        BoleteController ctrl = new BoleteController();
       
        ctrl.setChkBoxValue();
       
        String chk = ctrl.currentChkBoxValues;
        system.assert(chk.contains('T'), chk);
       
    }


 
I am writing a controller class that will capture the values of multiple checkboxes and rerender a result set based on those values.  To do this, I created an internal list of boolean values which correspond to the check boxes on the Apex form.  When a checkbox value changes, I call a function in the controller, passing along the corresponding check box number.  The function then reverses the value (true becomes false, false becomes true).  I then rerender the results based on this value change.

I've tried this multiple ways and am getting errors for reasons I don't understand.  Can someone please explain where my logic or understanding is faulty?

VF code (function to change the saved value of the checkbox - chkBoxValues is the list holding the values, all of which are initially false):
    public void chkBoxValue(Integer boxNum)
    {
        chkBoxValues[boxNum] = !chkBoxValues[boxNum];
    }

Apex code:
1)   <apex:inputCheckbox title="Choice" label="Choice" onchange="{! chkBoxValue(0) }" />
             <apex:commandLink reRender="bolete_list"/>
result:  unknown function chkBoxValue.  Check spelling

2)  <apex:inputCheckbox  label="Good">
          <apex:commandLink action="{! SetChkBoxValue(1) }" reRender="bolete_list"/>
     </apex:inputCheckbox>/>
result:  The content of elements must consist of well-formed character data or markup
I can't get the Node.js program to work.  I get a "Syntax Error: Unexpected identifier"
It was working for a while, but I'm not sure what happened or how to get things to work again.
I've tried uninstalling and reinstalling seveal times, but the issue persists.

Any ideas?
I am getting the below error in Add Business Logic step fo the Battle Station trailhead.  I have confirmed that the trailhead is seeing the correct account, and the Battle Station app itself is working correctly (it validates the number of Exhaust Port Inspectors and changes the status as it is supposed to).  Any ideas on what sort of insert is having problems, or why?
 User-added image
I'm getting the forllowing error when using the data import wizard:
Your import failed: Import for object BoleteFilter__Bolete__c did not succeed. Error received - InvalidJob : Empty transformation specification

All of the fields that I am trying to import/update are showing as mapped.  How do I go about figuring out what is not being mapped/transformed properly?

Thanks.
I am trying to add/update records in a custom object from a CSV file.  All the fields map correctly.  When I start the import, I get a message saying "Your import failed: There was an unexpected problem while importing. The import did not succeed."  This is a process that has worked correctly for me in the past.

I don't have Lightning Components enabled, so I don't think it is related to that known issue (but may be wrong).

Any thoughts?
Hi,

I am trying to write test cases for a controller class I created.  Several of the functions in the controller set variables using page reference pararameters.  I think I am setting the parameters correctly, but when I try to retrieve data from other functions, the test fails. 

Thank you for any help or advice you can provide.

Roger

CONTROLLER:
    private List<Boolean> chkBoxValues = new List<Boolean>{false,false,false,false,false,false,false,false,false,false,false,
        false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,
        false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,
        false,false,false,false,false,false,false,false,false,false,false,false,false,false};

    public void setChkBoxValue()
    {
        integer boxNum = integer.valueOf(system.currentPageReference().getParameters().get('boxNum'));
        boolean before = chkBoxValues[boxNum];
        chkBoxValues[boxNum] = !chkBoxValues[boxNum];
        System.debug('boxNum:' + boxNum + ' before:' + before);
        System.debug(currentChkBoxValues);
    }
      
    public string currentChkBoxValues
    {
        get {
            return string.join(chkBoxValues, ', ');
        }
    }

TEST CASE:
    @istest static void TestSetChkBoxValue()
    {
        PageReference pg = Page.BoleteSearch;
        pg.getParameters().put('boxNum','49');
        Test.setCurrentPage(pg);
        BoleteController ctrl = new BoleteController();
       
        ctrl.setChkBoxValue();
       
        String chk = ctrl.currentChkBoxValues;
        system.assert(chk.contains('T'), chk);
       
    }


 
Hi,

I have two pages (call them page 1 and page 2).  Page 1 has several checkboxes that help determine search criterial.  You then select a item and click a button to go to page 2.  When I return from page 2 to page 1, I want the search criteria to still be checked.

I understand that I need to set the retURL parameter on page 1 before I call/open page 2.  What I'm not clear on is how page 2 then uses that parameter.

The code I currently have (no retURL coded yet) is as follows:
page 1:
                        <apex:outputLink value="/apex/boleteDetailView?id={!bol.Id}" id="viewLink">
                            View
                        </apex:outputLink>
page 2:
        <apex:commandButton action="/apex/BoleteSearch" id="returnButtonBottom" value="Return to Search" />

Thanks.
I am trying to create a connected app (ultimately one that can work on an iPhone).  However, I can't figure out how to add/tie in the custom object and apex/visualforce pages I've already created.  The help documents don't seem to mention this either.

What I've tried:
Create-->Apps click the New button under Connected Apps
   Fill in required Basic Information
   Fill in Mobile App Settings information:  App Platform: iOS
                                                                   App version:  0.1
                                                                   App Binary URL:  www.pavellephoto.com (which will change when I get the app created and packaged for others to use)

At this point, I don't see anywhere to add custom objects or visualforce pages when I click either Edit or Manage.

Do I need to create a regular app first (create-->apps-->apps instead of create-->apps-->connected apps)?
Should the pages be put in the start URLs?
Does it matter if the custom object is "In Development" vs "In Production"?
Does it matter if I haven't written all the test scripts yet?
I have a custom object which I am importing into a data table.  What I want is for each row to have a background color that is based on the Edibility__c database field. 

Any suggestions?

Here is the IF statement that I am trying to use.  I get an error if I put this into the Search Results block or if I try to attach it to the pageBlockTable tag (the latter because it doesn't recognize the variable name.

            <apex:outputPanel styleClass="{!IF(bol.Edibility__c == 1,'red',
                                                       IF(bol.Edibility__c  == 2,'yellow',
                                                       IF(bol.Edibility__c  == 3,'blue',
                                                       'green')))}">

Here is the code for the table.

            <apex:pageBlock title="Search Results"  id="bolete_list">
                <apex:outputText >{!showResultSize} of {!showRecordSize} records displayed</apex:outputText>
                <br/>
                <apex:pageBlockTable value="{! Boletes }" var="bol" style="width: 100%">
                    <apex:column width="75">
                        <apex:outputLink value="/apex/boleteDetailView?id={!bol.Id}" id="viewLink">
                            View
                        </apex:outputLink>
                    </apex:column>
                   
                    <apex:column width="75">
                        <apex:image id="imageURL" url="{!bol.ImageURL__c}" height="75"/>
                    </apex:column>

                    <apex:column value="{! bol.genus__c }">
                        <apex:facet name="header">
                            <apex:commandLink action="{! sortByGenus }" reRender="bolete_list">Genus
                            </apex:commandLink>
                        </apex:facet>
                    </apex:column>
                   
                    <apex:column value="{! bol.species__c }">
                        <apex:facet name="header">
                            <apex:commandLink action="{! sortBySpecies }" reRender="bolete_list">Species
                            </apex:commandLink>
                        </apex:facet>
                    </apex:column>
                   
                    <apex:column value="{! bol.Common__c }"/>
                </apex:pageBlockTable>
            </apex:pageBlock>
        </apex:pageBlock>
I am having several issues when using a combination of PanelGrid and PanelGroup:

1)  I have two PanelGroup tags inside the PanelGrid.  How to I get them to both top align?
2)  How do I get the two PanelGroups to fit nicely on a page.  While I could try setting the width attribute, I am planning on putting this page into a mobile app and therefore don't want to specify something that may not be practical in use.
3)  One of the PanelGroup tags has many collapsible PageBlockSection tags.  When I added them to the PanelGroup they no longer collapse.  What do I need to do to make them collapsible once again?

Thanks.
I can't figure out why I am getting the following error:
System.QueryException: value of filter criterion for field 'Edibility__c' must be of type string and should be enclosed in quotes

The checkboxes call the setCheckBoxValue function, which is supposed to track whether the box is checked or not.  This array is later used by the buildWhereClause function to rerender a search results table based on the chekced values.  There are 61 checkboxes and all but the first 4 checkboxes work correctly.  Everything was working for a while, but then a change in the custom object led me to change the "value" field, but I later changed it back to what it used to be (even going so far as to copy the code from other boxes and changing the value).

Why doesn't this work anymore?


Apex code:
                <apex:inputCheckbox label="Choice" id="edibilityChoiceChk" >
                    <apex:actionSupport action="{!setChkBoxValue}" event="onchange" rerender="bolete_list">
                        <apex:param name="boxNum" value="0"/>
                    </apex:actionSupport>
                </apex:inputCheckbox>               

Controller code (selected pieces):
    private List<String> whereClauseValues = new List<String>{'4', '3', '2', '1', 'poreColorRed__c', 'poreColorBrown__c',
        'sporePrintYellow__c', 'sporePrintPink__c', 'sporePrintBrown__c'};

    public void setChkBoxValue()
    {
        integer boxNum = integer.valueOf(system.currentPageReference().getParameters().get('boxNum'));
        boolean before = chkBoxValues[boxNum];
        chkBoxValues[boxNum] = !chkBoxValues[boxNum];
        System.debug('boxNum:' + boxNum + ' before:' + before);
        System.debug(currentChkBoxValues);
    }

    private void buildWhereClause()
    {
        Boolean exists = false;
        whereClause = '';
       
        //The first four values are for edibility, which are not mutually exclusive, so they are built
        // using or instead of and
        for (Integer i = 0; i<4; i++)
        {
            if (chkBoxValues[i])
            {
                if (exists)
                {
                    whereClause = whereClause + ' or Edibility__c = ' + string.escapeSingleQuotes(whereClauseValues[i]);
                }
                else
                {
                    whereClause = 'Where (Edibility__c = ' + string.escapeSingleQuotes(whereClauseValues[i]);
                    exists = true;
                }
            }
        }
        if (exists)
        {
            whereClause = whereClause + ') ';
        }
       
        //All the other values are individual values, so they are built with AND
        for (Integer i = 4; i<whereClauseValues.size(); i++)
        {
            if (chkBoxValues[i])
            {
                if (exists)
                {
                    whereClause = whereClause + 'and ' + whereClauseValues[i] + ' = true ';
                }
                else
                {
                    whereClause = 'Where ' + whereClauseValues[i] + ' = true ';
                    exists = true;
                }
            }           
        }
    }
 
My data has 50+ filterable fields that are boolean values.  I am trying to create a function that will filter the data based on whether one of the fields is selected.  My idea is that, in the controller function, I will dynamically build a SOQL WHERE clause based on which fields have been selected.  Basically, when a box is checked, it will rebuild the WHERE clause to include the corresponding field.  If the box is then unchecked, the field will be removed from the WHERE clause.

What I'm not sure about is how to pass the TRUE/FALSE value from the checkbox to the function that will do the building.

In the controller module, I'm planning on having two arrays, one with all the possible where clause strings and another with corresponding boolean values that will determine if the string should be added (the whereArray variable referenced below].  
    public void buildWhere(Integer int, Boolean value)   
    {
           whereArray[int] = value;
    }

So, on the Apex page, how do I go about passing the true/false value to the function?

Thanks.