Sharepoint Infopath和级联下拉列表

Sharepoint Infopath和级联下拉列表,sharepoint,infopath,infopath2010,cascadingdropdown,Sharepoint,Infopath,Infopath2010,Cascadingdropdown,我有一个问题要问你们这些头脑聪明的人。我有一个Sharepoint列表的Infopath表单(这意味着这被视为Infopath列表表单),我希望该表单具有某些行为。。。我不太确定如何实现它 要点是,表单上有两个下拉列表,我希望第二个下拉列表根据第一个下拉列表选择更改其值 两者都指向同一个列表。清单如下所示: ID, ModuleName, SystemName, PayCode, LineOfBusoness 1, Mod1, Sys1, O, LOB1 2, Mod2, Sys2, O, L

我有一个问题要问你们这些头脑聪明的人。我有一个Sharepoint列表的Infopath表单(这意味着这被视为Infopath列表表单),我希望该表单具有某些行为。。。我不太确定如何实现它

要点是,表单上有两个下拉列表,我希望第二个下拉列表根据第一个下拉列表选择更改其值

两者都指向同一个列表。清单如下所示:

ID, ModuleName, SystemName, PayCode, LineOfBusoness
1, Mod1, Sys1, O, LOB1 
2, Mod2, Sys2, O, LOB2
3, Mod3, Sys3, C, LOB3
4, Mod3, Sys4, O, LOB3
第一个下拉列表只包含工资代码,所以基本上是“O”和“C”

现在,第二个下拉列表是它变得棘手的地方

第二个下拉列表是根据上一个下拉列表中选择的薪资代码显示该列表中的所有业务线(LOB)。如果他们选择“O”,则只显示所有支付代码为“O”的LOB

但是。。。如果他们选择“C”。。。那么表单上也有下拉列表,他们已经选择了系统和模块。。。因此,它将获取所选的值,并在列表中选择值,该值包含所选系统、所选模块和所选支付代码

我该怎么做?我的第一个想法是,只要使用代码。。。但事实证明,Infopath不允许在“列表表单”上使用自定义代码,这是。。。世界跆拳道联盟?因此,下一个选项是使用“级联下拉”方法,您也可以使用规则和过滤器来尝试实现此行为

那能做到吗?你对如何解决这个问题有什么想法


提前谢谢,如果您需要更多信息,请告诉我

一种方法是使用代码隐藏

在第一个下拉列表中,找到与其关联的字段,右键单击并创建一个“已更改”事件

在代码隐藏事件中,将为该字段创建一个已更改的事件。在那里,您可以获取第一个下拉列表中当前选定项的值。根据该值,可以修改第二个下拉列表的内容

通过抓取原始列表,并运行SPQuery来选择所有具有“O”或“C”或任何所选值的项目。您还可以对列表的所有项运行linq或foreach语句,以您喜欢的为准:)

注意:确保在属性的“浏览器表单”选项卡中选择了“始终”下拉列表控件属性(右键单击下拉列表可访问这些属性)


希望这有帮助

谢谢你,迈耶。这是我的初衷,这是一件很容易做到的事情!但是,这是Sharepoint列表表单,而不是表单库表单。列表表单不允许自定义代码(代码隐藏),这对我来说是个麻烦。有关表单类型之间的差异,请参见以下内容: