原文:
 
by S.Y.M. Wong-A-Ton
 
这篇文章描述了如何使用辅助数据源、规则、筛选等InfoPath相关功能从基于日期选取器控件上显示日期的辅助数据源来获取选取的相应月份名称。
 
问题:
首先在InfoPath表单中,有一个日期选取器控件。你想要通过日期选取器控件,
根据你选取的日期的不同,它所在的英文月份名称相应的显示在文本框控件中。
 
解决方案:
通过一个包含有月份名称XML文件,创建一个辅助数据连接,并且用规则及InfoPath的两个方法number()和substring()来获取在日期选取器中选中的日期对应的月份名称。
 
探讨:
你可以按照以下步骤完成上述功能:
1   创建一个XML文件并命名为monthnames.xml,具体内容如下所示:
如何通过InfoPath中的日期选取器控件获取当前选中的月份的名称_InfoPath
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2   在InfoPath中新建一个空表单模板
3   在工具菜单中单击数据连接
4   在数据连接对话框中,单击添加,然后按照说明,在数据连接向导对话框中,选择新建连接下的仅接收数据选项,单击下一步。如下图
如何通过InfoPath中的日期选取器控件获取当前选中的月份的名称_休闲_02
5   在希望从何处接受数据?下选择XML文档,点击下一步
6   在接下来的对话框中,选择浏览按钮,找到相应的XML文件
7   最后点击完成
8   在InfoPath的表单模板,添加一个日期选取器控件和一个文本框控件
9   双击日期选取器,打开属性对话框
10 在日期选取器对话框中,选择规则按钮
11 在规则对话框中,选择添加按钮
12 在接下来的对话框中,选择添加操作按钮
13 在操作对话框中,操作下拉列表中选择设置域值
14 点击下面文本框后面的按钮
15 在选择域或组对话框中,选择表示文本框控件的相应字段,单击确定
16 在操作对话框,点击下面文本框后面的按钮
17 在插入公式对话框中,点击插入域或组
18 在选择域或组对话框中,从数据源下拉列表中,选择monthnames,并展开所有节点,选择name节点,点击筛选数据按钮
19 在筛选数据对话框,点击添加
20 在指定筛选条件对话框 ,在第一个下拉列表中选id,在第二个下拉列表中选择
is equal to,在第三个下拉列表中选择使用公式
21 在插入公式对话框中,输入number(substring(
22 在插入公式对话框中,点击插入域或组
23 在选择域或组对话框中,在数据源下拉列表中选择,然后选择其下面的表示
日期选取器控件的相应字段名,点击确定
24 在插入公式对话框中,输入, 6, 2))
整个公式内容如下所示:
number(substring(field3, 6, 2))
field3表示日期选取器控件的相应字段名
依次点击确定即可
效果图如下:
如何通过InfoPath中的日期选取器控件获取当前选中的月份的名称_控件_03
如上所示,当你从日期选取器中选择一个日期后,会相应在文本框中显示出来与之对应的月份名称。