如何根据InfoPath中的其他列表值填充列表

时间:2011-06-09 07:07:41

标签: sharepoint-2010 infopath infopath2010

我有一个包含国家/地区值的列表。此列表显示在下拉列表中。我还有另一个州下降。当我选择国家/地区时,应该使用所选国家/地区的状态填充州下拉列表。我是InfoPath的新手,我不知道如何实现这一点。

在C#中我会写这样的东西(请忽略语法):

if(state.country == countryDropDown.SelectedValue)
StateDropDown.add(State);

我如何在InfoPath中执行相同操作?

2 个答案:

答案 0 :(得分:0)

在状态下拉列表中,添加过滤器,以便仅显示属于该国家/地区的状态。这是一个链接,显示如何http://koobarspoint.blogspot.com/2010/06/cascading-drop-downs-with-infopath-2010.html(不需要代码)

答案 1 :(得分:0)

如果您的数据位于sharepoint列表中,则可以使用CAML查询来获取数据 您需要创建重复字段并将该重复字段绑定到staet下拉列表。 根据所选国家/地区获取状态是 -

string strCountry=this.maindatasource.createnavigator().selectsinglenode("xpath of country dropdown",namespacemanager).value;

SPList oList = web.Lists["Name of List"];
SPQuery oQuery = new SPQuery();

oQuery.Query = "<Where><Eq><FieldRef Name='column name which contains countries' /><Value Type='Text'>" + strCountry + "</Value></Eq></Where>";

SPListItemCollection oListItemCollection = oList.GetItems(oQuery);

foreach (SPListItem Item in oListItemCollection)
{                                           
   root.SelectSingleNode("xpath of field inside repeating table",NamespaceManager).SetValue(Item["Name of column which holds state"].ToString());

}