Field Rendering Using Numbers in Picklist

Rich,  I think the problem is that picklist fields are really stored as text,  so when you try to use a “less than or equals to” operator you are going to get unexpected results.  Becuse its text the question “Is 10 greater than 4” is being evaluated as false.  So when 4 gets put in your picklist field - the fields on 10 are getting rendered.  I’m honestly not sure how the first example is working. 

  Have you ever tried to sort numbers that were really text?  I have this happen when sorting tables in MS Word.  When you sort by the number colum you get things like this. 

1
10
11
2
3
31
32

The same thing is happening here. 

Here are a few work arounds. 

1. Add a leading 0 to picklist values 1 - 9.   (OK - that’s not really an option is it…)
2. Change your conditional rendering so the 10 line only shows when the picklist value = 10.   Using a direct “=” condition makes sense because this is the only condition when you want the fields to show up (while in lines 9 - 1 there are more than one condition)
3. Add a formula field to your object that takes the picklst field and turns it into a number.  The formula would look like this:   value(text(Picklist_Field))  .   Then do your rendering on the formula field. 


Hope this helps… 

On a side note.  I’m going to ask our devs why we even allow greater than and less than operators on picklst fields… That seems like its confusion just waiting to happen.