Wednesday, August 12, 2009

Since you can't do Cascading Dropdowns...

We have a business requirement to create a course/section scheduling system with an automatic registration/attendance and then eval survey for special workshops/classes being taught to faculty within the university. We were trying to find a way, for attendance, to be done in InfoPath and let the administrators of a particular class setup a laptop that people can use to sign-in inside each workshop (lots of laptops needed, but hey, it works).

As you may or may not know, cascading dropdowns is impossible for Browser-compatible forms in SharePoint (at least for 2007). What we figured, though, was that there won't be a whole lot of sections for a particular course at one time; we decided to create a data connection to our SharePoint lists for both the Courses and the Sections. Now, the Sections list contains the Course ID, Course Name, and Course Description; we grabbed all of that from the Sections list and only the Course ID and Course Name from the Courses list.

To get what we want, we used a drop-down menu that connected to an "external data connection" and used our Courses list (setting the value to the Course ID and the Display Name to the Course Name column). We then used the Data Source menu (over in the right with the task pane) to create a repeating section with controls for all of the items in the Sections data source. When the repeating section is placed on the page, we deleted the unnecessary text/controls and then set Conditional Formatting on the table to hide the section if the Course ID was not equal to the Course selected in the Course drop-down at the top of the page. This works. If you want detailed instructions on how we did this, please comment, let me know.