最近几天接触微软的  InfoPath 表单工具,结合VS 使用,遇到的一些问题与解决方法,记录一下,百度上的内容很少,或许我根本不知道咋搜,所有也留一个网页帮助自己使用当然使用的时候碰到了好几个坑:

  限制: infoPath 只支持 VS 2012 这个版本的,我安得 2013 不能用哎

      在 ‘开发工具’ --‘代码编译器’  会让你安装一个 vs2012 Tools 必须安装,因为要用这个功能开发

     就是 infoPath 表单文件  不要直接打开 会告诉你签名啥的,   不要慌 关了,右键点击设计一定要

     vs中 加断点,提示断点无法命中,注意保存infoPath 的时候 一定不要出现 中文,原因在这里。

页面元素:

  像微软的东西大概使用方法都是差不多的,快捷键啥的,新建文件就不说了,按部就班的点就可以了。表单工具吗,首先就是创建表单,创建一些控件,就像winForm一样使用,在表单上点击产生此对象,按钮,下拉框,文本框这类的。

  控件生成之后 就可以右键点击控件先说

  文本框属性: 默认值、文本框大小、文本框类型、是否为空 、、、这样一些列的设置。

  更改控件类型: 修改控件类型 如变成多选按钮啥的。

  更改绑定: 这个就可以理解为绑定一个域元素,也就相当于一个公共变量。 软件右侧会出现 域 操作窗口,里面包括当前 表单 myFields 对应的 域元素。

域元素:

然后就是域元素的,  其中的域元素可以拖拽到表单中生成对应类型的 控件,当然可以把 所有 域元素 放到myFields文件下,也可以像这样分组放开, 右键myfields 可以添加 分组或者控件。本人还是比较建议直接放到myFields 文件下,这样以后使用会简单的多,就是会看起来比较乱。

  当这是右键域元素时:我感觉最重要的3个点就是 规则,属性,复制Xpath,

  规则:就是制定 域控件中的 逻辑判断,比如值不能大于多少啥的。

  属性:这个则跟之前 右键控件 基本相同。

  复制Xpath: 这个东西很简单 ,你点击一下然后 复制在文本上,你就可以看出是个路径:/my:myFields/my:UserInfo/my:Submitter.Name  也就是以后再vs中 获取域元素时使用的路径(仅限于多层组的情况下)

  

  我使用过的控件 感觉有一些注意的就是 :

  下拉列表:需要从下拉列表属性 中设置一下 从外部数据源获取,选择添加 ,选sql server,之后就一直点,然后就是 配置值跟 显示名称。

  按钮: 一般情况下  的控件事件都是 change 事件, 按钮是单机事件需要 在按钮属性中  编辑代码,然后会在vs中自动生成。

  重复表: 这个一边用在 添加多条数据, 会自动生成一个大组,包一小组,获取 值使用foreach,还是获取节点到 小组 ,

 XPathNodeIterator NodeIter = this.MainDataSource.CreateNavigator().Select("/my:myFields/my:组1/my:组2", this.NamespaceManager);

然后便利这个值

            foreach (XPathNavigator myf in NodeIter){XPathNavigator n1 = myf.SelectSingleNode("my:域1", NamespaceManager);XPathNavigator n2 = myf.SelectSingleNode("my:域2", NamespaceManager);XPathNavigator n3 = myf.SelectSingleNode("my:域3", NamespaceManager);}

注意 类型,便利的值, 直接填my: 域元素。   这时有个疑惑不过加了断点就没问题了,   当增加多个表行 之后 获取 元素值,都在myf 中 ,便利一次为一行。

下拉列表级联

  前一阵子涉及到下拉列表级联问题,目前我本人 学会两种方式,能完成类似省份,市县 的这种关系。

  第一种: 用 页面中下拉列表属性中的 数据库数据源 中的“项”来 添加数据筛选,  第一list 为主,他的值作为第二个list 筛选的依据,不过 这样第二个列表的value和Key 都会只能选择 筛选项的 值。

  第二种:就是用代码了  通过list 的change 事件   来获取当前list的 值,  再获取list2 的 Navigator 对象 ,赋值这样。看代码一下吧

        public void Trusit_2E_abilityType_Changed(object sender, XmlEventArgs e){// 在此处编写代码,用于更改主数据源。        获取list 2 的对象,然后之set为“”//从数据库取得列表AdoQueryConnection myAdoQueryConn = (AdoQueryConnection)(this.DataConnections["表名"]);myAdoQueryConn.Command = " select id,name from 表名where parent='" + e.NewValue + "' order by name ";myAdoQueryConn.Execute();}

第二种 就有个 疑问就是 他如何付给list2 值 的,一直不太清楚

转载于:https://www.cnblogs.com/nnqwbc/p/7448187.html

.Net 关于 InfoPath 的基本使用相关推荐

  1. infopath java包_InfoPath 2013 修补程序包 (Ipeditor x none.msp) 的描述︰ 2014 年 4 月 8,...

    修补程序信息 可以从 Microsoft 获得受支持的修复程序.然而,此修补程序仅用于解决本文中描述的问题.此修复程序仅适用于遇到本文中描述的问题的系统.此修补程序可能会接受进一步的测试.因此,如果这 ...

  2. InfoPath 揭秘 (一)

    阅读完本文后, 你将可以自定义InfoPath Logic Inspector, 并且能够轻松地做到下图所示的改动. 我将会以一个更复杂且更实用的例子来示范如何自定义InfoPath Logic In ...

  3. Infopath重复表分页(原创)

    using Microsoft.Office.InfoPath; using System; using System.Xml; using System.Xml.XPath; using Syste ...

  4. SharePoint2013 Online中InfoPath 无法调用WebService

    传说微软office365中国区服务器已经迁移到国内,试了下速度果然比之前快了很多,不过随后测试了个简单的功能,还是直接被打击了. 准备在online版本中做一个简单的报销流程测试测试,于是先用Inf ...

  5. [译]在启用浏览器功能的INFOPATH表单中实现基于SQL SERVER的多级联动的下拉式列表...

    翻译:实现多级联动的下拉式列表 原文:http://blogs.msdn.com/infopath/archive/2006/10/12/cascading-dropdowns-in-browser- ...

  6. InfoPath Forms Services的配置

    InfoPath Forms Services随2007安装以后,在网站上启动相应的两个服务后就可以正常使用InfoPath了.    方法如下:    1 在需要使用InfoPath的网站单击 网站 ...

  7. 一步一步搞定InfoPath(02)--配置VSTA

    一步一步InfoPath(02)--安装VSTA环境 VSTA(Visual Studio Tools for Applications)安装 计算机需要安装了 Microsoft .NET Fram ...

  8. 使用脚本将数据从辅助数据源传送到 InfoPath 域

    概要 在 Microsoft Office InfoPath 2003中,不能直接将表单中的域绑定到辅助数据源中的数据.但是,本文介绍如何以编程方式转换辅助数据源中的数据,然后在运行时将转换后的数据传 ...

  9. 利用InfoPath实现SharePoint Server 2013列表的级联选择(Cascading Drop Down List)

    最近在利用SharePoint Server 2013的列表组织和存储数据,发现SharePoint列表原始不支持级联选择的功能. 谷歌百度一通以后,发现了很多通过代码实现的方案,利用第三方的插件sp ...

  10. InfoPath发布要点

    要使用InfoPath Form Servics的前提要保证 发布组建和企业组建处于激活的状态 发布方式有三种: 1).邮件发布 2).用户直接发布 3).后台管理员发布 信任关系限制 邮件发布:表单 ...

最新文章

  1. 如果对GIF进行模糊化加边扩增
  2. 粒子滤波 演示与opencv代码
  3. 查看tomcat服务器返回的响应消息,Tomcat上的WebSocket握手返回意外响应代码500
  4. spring boot原理_SpringBoot-02-原理初探之主启动类
  5. HDU 6741 MUV LUV UNLIMITED (博弈论)
  6. 数组转json去除首尾引号_诞生于JavaScript,json的前世今生
  7. 数据可视化(二)Matplotlib pandas简易入门
  8. python 将pdf分页后插入至word中
  9. oracle 11g for windows卸载
  10. java for循环死循环_Java for循环进化
  11. Node.js 4.0 中的 ES 6 特性介绍
  12. 五分钟带你了解什么是PID模糊算法
  13. 如何使用微信小程序第三方UI组件库
  14. RGB转灰度的几种算法
  15. Biopython---part 1
  16. css实现两端对齐的方法(先借鉴别人的,后期再加入自己的理解)
  17. 组态王报警历史存MySQL_组态王6.55报警存储与历史数据查询设置全过程
  18. android6支持内存卡,2020年拥有可扩展存储的最佳Android手机
  19. ICCV2021 | TransFER:使用Transformer学习关系感知的面部表情表征
  20. 2021会是怎样的一年

热门文章

  1. 【基础】n的阶乘尾部有多少个0 JAVA金典算法-判断一个数(乘积得到的数)的末尾有几个0--发掘
  2. java只有高跟很高_个子155cm的你,身上穿准“这三样”,增高效果比穿高跟鞋好!...
  3. WPF开发txt阅读器7:自定义文字和背景颜色
  4. CSDN获得C币的一些些小方法
  5. 什么样的「运营」,才是创业公司的“不可或缺”的角色?
  6. 服装ERP系统_服装贸易ERP如何选择
  7. wordpress代码插件_适用于您的在线商店的6个最佳WordPress优惠券代码插件
  8. hz-gb-2312解码问题
  9. 栈溢出攻击系列:shellcode在linux x86 64位攻击获得root权限(二)shellcode
  10. 时下流行devops关键词:分布式架构、一体化架构和微服务架构