zoukankan      html  css  js  c++  java
  • Infopath自定义表单实现列表字段联动

    以前做一个项目,为了实现两字段联动录入的功能,采用了Infopath来自定义表单完成,具体方法如下:

    例如,首先我们有一个数据源列表Country,里面有连个字段,一个是Country,一个是Province,存放着所有的源数据,

    我们现在有一个LinkageList,用来输入信息,里面也有两个字段,一个是国家,一个是省会

    现在我们需要在LinkageList列表中添加数据时,实现国家和省会联动,即如果你国家选择了China,那么省会就只有三个选择Guangdong,Hubei,Hunan供你选择,怎么实现呢?我们点击列表Ribbon上的自定义表单,现在就会把LinkageList列表中字段列出来给我们设置,如下:

    我们先给国家字段的值进行设置,国家的数据是来自于先前建的Country列表中的Country,所以第一步我们先要给当前列表做一个数据源,选择数据-数据连接,然后选择添加,就会出现下面的界面:

    按上图一样选择接收数据,然后下一步

    选择从SharePoint库或列表接收数据,再下一步,输入网站的URL后点击下一步

    选择我们最开始建好的Country列表,下一步

    CountryProvince连个域勾选上,连续两次点击下一步

    输入一个数据连接的名称,我这里定义为了Country,一定要记得勾选在打开表单时自动检索数据,不然新建项目时Dropdownlist里面什么都没有,然后点击完成,关闭。

    然后选择国家的那个Dropdownlist,右键选择下拉列表框属性,选择从外部数据源获取选项,将数据源定位到刚刚添加的Country数据源

    然后点击项后面的选择XPath,选择Country,确定后,勾选仅显示具有唯一显示名称的条目,确定,国家这个字段的值就设置好了,下面就来设置省会这个字段,方法和国家字段的设置差不多,关键点就在选择XPath,选择Country数据源的Province,然后点击筛选数据,添加,选择主数据源的国家等于Country数据源的Country,然后连续四次点击确定

    现在保存后发布基本就能实现功能了,但是现在还存在一个问题,就是最开始国家选择American,省会选择Utah后,现在不提交数据,把国家更改为China,但省会一栏还是选择的Utah,并且可以保存,这不乱套了吗?Utah什么时候成了China的了,所以我们还需要做一步操作,给国家那个域添加一个规则,规则类型选择操作,设置省会的域值为空

    然后确定,发布。再进行测试,通过。

    作者:Statmoon
             
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    Python之初识模块之序列化模块
    Python之初识模块二
    Python之初识模块
    Python之re模块
    python随笔来源
    Python初识模块之正则表达式
    Python之初识递归
    0.U-boot的简介
    2.11.移植uboot
    2.18.7.VFS简介
  • 原文地址:https://www.cnblogs.com/914556495wxkj/p/3541261.html
Copyright © 2011-2022 走看看