0

我有一个包含国家价值的列表。此列表显示在下拉列表中。我有另一个州的下拉菜单。当我选择国家时,州下拉菜单应该填充所选国家的州。我是 InfoPath 的新手,我不知道如何实现这一点。

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

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

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

4

2 回答 2

0

如果您的数据在共享点列表中,那么您可以使用 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());

}
于 2013-11-19T11:25:00.533 回答
0

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

于 2011-06-23T06:26:13.393 回答