我有一个包含国家价值的列表。此列表显示在下拉列表中。我有另一个州的下拉菜单。当我选择国家时,州下拉菜单应该填充所选国家的州。我是 InfoPath 的新手,我不知道如何实现这一点。
在 C# 中我会写这样的东西(请忽略语法):
if(state.country == countryDropDown.SelectedValue)
StateDropDown.add(State);
如何在 InfoPath 中执行相同的操作?
我有一个包含国家价值的列表。此列表显示在下拉列表中。我有另一个州的下拉菜单。当我选择国家时,州下拉菜单应该填充所选国家的州。我是 InfoPath 的新手,我不知道如何实现这一点。
在 C# 中我会写这样的东西(请忽略语法):
if(state.country == countryDropDown.SelectedValue)
StateDropDown.add(State);
如何在 InfoPath 中执行相同的操作?
如果您的数据在共享点列表中,那么您可以使用 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());
}
在州下拉列表中,添加一个过滤器,以便您只显示属于该国家/地区的州。这是一个链接,向您展示http://koobarspoint.blogspot.com/2010/06/cascading-drop-downs-with-infopath-2010.html(不需要后面的代码)