XForms/Select Multi-Column

Motivation
Sometimes you have a large number of items to select from, for example you want to include one of many counties within a state to include in your search. In the following example there are 87 counties that might be included in a search. These county names are places in seven columns with 13 counties in all but the last column.

Link to Working Example
Select Multi Column

Sample Program
Here is a sample program. Make sure to put the page into edit mode if you want to copy and paste the code. This is because Wiki software replaces the ampersand-lt-semicolon with a "&amp;".

      Select all counties to include in the search:           </xf:itemset> </xf:select> <xf:select ref="counties3" appearance="full"> <xf:itemset model="code-tables" nodeset="instance('MNCountyCode')/EnumeratedValues/Item[(position &gt; 26) and (position &lt; 40)]"> <xf:label ref="Label" /> <xf:value ref="Value" /> </xf:itemset> </xf:select> <xf:select ref="counties4" appearance="full"> <xf:itemset model="code-tables" nodeset="instance('MNCountyCode')/EnumeratedValues/Item[(position &gt; 39) and (position &lt; 53)]"> <xf:label ref="Label" /> <xf:value ref="Value" /> </xf:itemset> </xf:select> <xf:select ref="counties5" appearance="full"> <xf:itemset model="code-tables" nodeset="instance('MNCountyCode')/EnumeratedValues/Item[(position &gt; 52) and (position &lt; 66)]"> <xf:label ref="Label" /> <xf:value ref="Value" /> </xf:itemset> </xf:select> <xf:select ref="counties6" appearance="full"> <xf:itemset model="code-tables" nodeset="instance('MNCountyCode')/EnumeratedValues/Item[(position &gt; 65) and (position &lt; 79)]"> <xf:label ref="Label" /> <xf:value ref="Value" /> </xf:itemset> </xf:select> <xf:select ref="counties7" appearance="full"> <xf:itemset model="code-tables" nodeset="instance('MNCountyCode')/EnumeratedValues/Item[(position &gt; 78)]"> <xf:label ref="Label" /> <xf:value ref="Value" /> </xf:itemset> </xf:select> <xf:output ref="counties"> <xf:label>Counties selected: </xf:label> </xf:output>

Table for Data
The following is the shared resources file used by all the forms. Note that the values do not have any spaces in them. This way the codes can be passed through systems that use spaces as delimineters.

Discussion
The ideal way to do this would be to use a style sheet to pour the items into different cells of a table. Unfortunately there is little documentation on how the itemset results can be styled into different tables.