原文:
 
by S.Y.M. Wong-A-Ton
 
这篇文章描述了如何使用辅助数据源、规则、筛选等InfoPath相关功能从基于日期选 取器控件上显示日期的辅助数据源来获取选取的相应月份名称。
 
问题:
首先在 InfoPath表单中,有一个日期选取器控件。你想要通过日期选取器控件,
根据你选取的日期的不同,它所在的英文月份名称相应的显示在文本框控件中。
 
解决方案:
通过一个包含有月份名称XML文件,创建一个辅助数据连接,并且用规则及InfoPath的两个方法number()和substring()来获取在日期选取器中选中的日期对应的月份名称。
 
探讨:
你可以按照以下步骤完成上述功能:
1   创建一个XML文件并命名为monthnames.xml,具体内容如下所示:
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2   在InfoPath中新建一个空表单模板
3   在工具菜单中单击数据连接
4   在数据连接对话框中,单击添加,然后按照说明,在数据连接向导对话框中,选择新建连接下的仅接收数据选项,单击下一步。如下图
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表示日期选取器控件的相应字段名
依次点击确定即可
效果图如下:
如上所示,当你从日期选取器中选择一个日期后,会相应在文本框中显示出来与之对应的月份名称。