Cascading drop down selection fields in browser enabled InfoPath form

The oth­er day I had to cre­ate an InfoPath form that was using cas­cad­ing drop down selec­tion fields. But then I dis­cov­ered that when you set the form to be brows­er enabled it is not pos­si­ble to use a fil­ter in order to lim­it the selec­tion.

Luck­i­ly i stum­bled upon a very good arti­cle by Ishai Sagi. He explains in this arti­cle how to use the owssvr.dll ser­vice to load a fil­tered xml ver­sion of a Share­Point list. Thanks Ishai!

There are a few addi­tions i would like to add to his arti­cle.

  1. When select­ing items from a ware­house that are based on an item-cat­e­go­ry the list that pops up is not sort­ed. This might make find­ing the right item a tough job. This is where the View para­me­ter comes in handy.
    • Cre­ate a view in Share­Point that lists the items in the order you wish and maybe even apply a fil­ter.
    • Use the &View={view GUID} para­me­ter to select this view.  …/owssvr.dll?Cmd=Display&List={put the ID here}&View={List GUID}&XMLDATA=TRUE
  2. To pre­vent mak­ing selec­tions that do not match is is wise to clear the child fields when you have select­ed an item in the par­ent field. Oth­er­wise it is pos­si­ble to change the par­ent field after you have select­ed an item in the child field and come up with an impos­si­ble set of items. To do this cre­ate a rule for the par­ent field that sets the child field to “”. This way you are sure that the child field is blank and that a new choice has to be made.