Cascading drop-down lists are a nice trick in a form — where the value from one DDL determines the given values in the next one, which winnow down the next one, and so on. In regular ASP.NET programming you do this by passing the selectedvalue or selectedindex of the first DDL as a parameter to the next DDL.

It’s not too difficult to do this in InfoPath, but we currently have a pretty extensive SharePoint document library project where this would be handy. So putting this feature in place there is on my current task list. As I was trying to gather resources for it, I ran across this helpful post on Datacogs.

Example of a cascading ddl

Advertisements

Since MOSS includes InfoPath Forms Services, it’s really nice to embed InfoPath forms directly in the web page and have SharePoint remain the interface — and so the user doesn’t have to own the IP desktop client. And it’s really pretty simple to plug the form into a MOSS forms library to collect the submitted results of the forms. But for something a bit more complicated, it would be nice to keep the form embedded but submit directly to a DATABASE. Again, this isn’t very difficult if you’re using a form template within the IP client, but if you’re embedding the form using Forms Services you *have* to access SQL by way of a web service.

Here’s a great posting from MSDN on just how to do it:

http://blogs.msdn.com/infopath/archive/2007/01/29/submitting-to-a-database-via-web-services-in-infopath-forms-services.aspx

Custom Item Actions in MOSS

January 16, 2008

So the next trick is to learn how to customize the menu that pops up next to an item in a list or library. I am used to writing these within BDC Meta Man — to send a parameter to Google Maps or to compose an email message — but I want to be able to hide certain default actions, create new ones, or change the way they appear.

So I found this post on MSDNER which links back to MSDN “Custom Action Definitions” and the “Custom Action Element“. I knew this would all be in XML, so let’s see how helpful SPD2007 can be.