This Visualforce page contains apex:pageBlockTable to demonstrate a few different concepts.
- Sortable Columns in an apex:pageBlockTable
- Alphabet Filter that filters on the current sorted column
- Use of the ApexPage StandardSetController
- Selecting an individual record in the table using a link
- Selecting multiple records with a column of checkboxes using a Sub Class(Wrapper Class) to hold the boolean value.
Both single and multiple record selection were included for demonstration. Most actual projects would only require one type, and I thought it would be easy to cut whatever was not needed. The search for the Billing Address fields was consolidated into one field to make the interface simpler. Below is an example of what the Visualforce table looks like with the alphabet filter, sorted columns, address search, and checkbox record selection.