Hi I could also think about another solution haven't tried it an am not sure if it works though.
For your drop downlist use "Look up values in a data connection, webservice, file or sharepoint library or list" for the Listbox entries. At first you need to create an XML file as your datasource with the listbox entries you require. That is quite easy with Infopath. Check out this thread to get what I mean: (thx to MFaus again)
http://www.infopathdev.com/forums/topic.asp?TOPIC_ID=1258.
Then put a textbox into your form (can also be a hidden one) and use code like this in the OnAfterChange of the DDL to put the selected "text/view" string into the textbox:
#region DropDownList event Handlers/ write selected string into textboxes
// The following function handler is created by Microsoft Office InfoPath. Do not
// modify the type or number of arguments.
[InfoPathEventHandler(MatchPath="/my:myFields/my:secMainSection/my:ddlRegion", EventType=InfoPathEventType.OnAfterChange)]
public void ddlRegion_OnAfterChange(DataDOMEvent e)
{
// Write code here to restore the global state.
if (e.IsUndoRedo)
{
// An undo or redo operation has occurred and the DOM is read-only.
return;
}
// A field change has occurred and the DOM is writable. Write code here to respond
// to the changes.
string val = e.Source.text;
IXMLDOMNode nodeRegion = thisXDocument.DOM.selectSingleNode("my:myFields/my:tbHiddenRegions");
nodeRegion.text = val;
}
.
Then in the OnAfterChangeEvent of the textbox use the earlier mentioned SwitchView method maybe with some "if/or switch case" help to check what string is in the textbox. Hope this is understandable a least a bit.
May be Matt can confirm wether or not it is possible like this.
Good luck.
Listen to Motörhead cos they play Rock'n Roll :)