VSTA InfoPath如何实现下拉列表联动
最近使用InfoPath开发点东西,想实现两个下拉列表实现联动。
需求如下:
下拉列表field1值为A时,下拉列表field2选项有A1、A2
下拉列表field1值为B时,下拉列表field2选项由B1、B2
下面我们开始设计表单。
1、创建两个下拉列表:field1、field2
2、field1列表中手工添加值A、B 这两个选项
3、设计XML
<?xml version="1.0" encoding="utf-8" ?>
<States>
<State>
<value>
<string>A1</string>
</value>
<value>
<string>A2</string>
</value>
</State>
</States>
4、添加数据源
点“工具”—〉“数据链接”—〉“新建”按钮—〉选择“新建连接”中的“仅接收数据”—〉点“下一步”
选择“XML文档”—〉点“下一步”—〉选择浏览按钮,加载刚创建的XML文件—〉点“下一步”—〉点“下一步”
—〉点“下一步”—〉点“完成”—〉点“关闭”
创建完后,我们可以在数据源中看到“DB” 辅助数据源
5、field2 绑定辅助数据源
6、创建field1 Changed事件
(注:工具—〉表单选项—〉编程中 可以选择编程语言,下面我们选择用C#)
public void InternalStartup()
{
EventManager.XmlEvents["/my:myFields/my:field1"].Changed += new XmlChangedEventHandler(field1_Changed);
}
public void field1_Changed(object sender, XmlEventArgs e)
{
DataSource data = this.DataSources["DB"];
XPathNavigator navigator = data.CreateNavigator().SelectSingleNode("//State/value");
XPathNavigator lastRange = navigator.SelectSingleNode("//State/value");
navigator.DeleteRange(lastRange);
if (e.Site.CreateNavigator().SelectSingleNode("/my:myFields/my:field1", NamespaceManager).Value == "A")
{
navigator.InnerXml = "<value><string>A1</string></value><value><string>A2</string></value>";
}
else
{
navigator.InnerXml = "<value><string>B1</string></value><value><string>B2</string></value>";
}
}
列表设置就到此结束,下面我们可以浏览下效果
根据评论,咱们添加规则,使联动能在浏览器上使用。
操作如下:
1、双击 field1下拉列表
2、点“规则”按钮—〉点“添加”
3、在规则1种,添加设置条件 field1=“A” 添加两个操作 field2=“A1” field2=“A2 ”
重复步骤2、3,添加规则2,添加设置条件 field1=“B” 添加两个操作 field2=“B1” field2=“B2 ”
转载于:https://www.cnblogs.com/Anlycp/archive/2009/07/14/1523201.html
VSTA InfoPath如何实现下拉列表联动相关推荐
- excel下拉列表联动_动态数组的Excel下拉列表
excel下拉列表联动 Select a region name in one Excel drop down list. Then, in the next drop down list, sele ...
- excel下拉列表联动_国家和城市的Excel下拉列表
excel下拉列表联动 In Excel, you can use data validation to create drop down lists on a worksheet. Usually, ...
- ajax初级示例(下拉列表联动)
下拉列表联动效果如下动图: 数据库 表字段的信息 新建web项目 jar包及js 实体对象 index.jsp <%@ page language="java" conten ...
- 二级下拉列表联动 select 网页 html5
二级下拉列表联动 select 网页 html5 写在前面: 一.效果展示. 二.代码. 三.完整版代码,下载链接. 四.声明. 写在前面: 本文只是 学院.专业 二级选择的联动下拉列. 学院.专业. ...
- WPS表格 下拉列表 两级下拉列表联动 多级下拉列表联动
一.认识下拉列表 在提起下拉列表的时候,大家应该都是这个印象(如图).在这里我先给大家介绍在WPS表格里建立下拉列表的两种方法,直接使用"下拉列表"功能简单方便,或者使用" ...
- WPS应用之下拉列表 和 多级下拉列表联动
** wps 中 下拉列表和多级下拉列表的使用 ** 一,应用目的 期望: 第一列下拉列表选择完 人员类型之后 ,可以在 后面的列中自动 填充 人员对应的 薪资. 人员ID . 备注信息等. 这样在制 ...
- ajax实现下拉列表联动
下拉框代码 <fieldset style="margin-bottom:5px;"> <div class="form-group"> ...
- js 省市下拉列表联动
1.定义 城市 数据数组 2.得到 当前 所选择 的 省 3.得到 当前省 在 城市数组中的位置 4.得到 当前省 所辖制的 地市 5.填充 城市 下拉选单 ---------- 示例代码如下 < ...
- php日期下拉列表联动,究了一下连动下拉菜单,共享一下,希望_php
php代码:-------------------------------------------------------------------------------- List http://w ...
最新文章
- java两个jre_为什么会有两个jre?060925(原创)
- python遍历文件夹下所有文件大小_python遍历文件夹——两种遍历本地文件记录文件夹个数、文件数及文件大小的方法...
- 如何利用C/C++逐行读取txt文件中的字符串(可以顺便实现文本文件的复制)
- Java一种错误的实例化方法:在默认无参构造函数中进行实例化
- Java网络编程从0——》入门
- 论文浅尝 | Reinforcement Learning for Relation Classification
- 低代码,填补业务技术鸿沟 or 紧贴业务的开发时代?
- JAVA API----Date类
- 第四:SpringBoot生成Api管理mysql内保存的测试数据(接口自动化平台扩展)
- 创业者如何更好地认知世界?
- 数据结构上机实践第四周项目2 - 建设“单链表”算法库
- unix 时间戳转化为 日期格式
- 完美解决 Ubuntu 18.04 安装网易云音乐 不能正常点击启动问题
- Scala入门(一):直接在eclipse上安装Scala IDE
- 微信终于能注册小号了,无需绑定手机号!
- 计算机左右手控制的按键,采用改进按键布局方法的计算机键盘技术
- 在vue中禁止input框和textarea编辑的操作
- DataStream API【1】
- 视频驱动V4L2子系统驱动架构
- 受尽苦难而不厌_信息安全工程师正在为确保我们的安全而苦难
热门文章
- 2.8 Adam 优化算法
- opencv-api houshlinesp
- opencv 轮廓层次结构
- 阿里云-对象存储 OSS > 开发指南 > 基本概念
- Java基础学习总结(161)——Java 重试机制
- c++builder 运行网站的api_欧美音乐网站Python爬虫项目实战
- mysql8+新语法_MySQL8.0新特性
- 举例 微积分 拉格朗日方程_变量数学时代——微积分的发明
- 从C# 3.0到F#
- 国外排行前十的Python开源项目,短时间打造无数超级“黑客”!