SharePoint 2013 图文开发系列之InfoPath入门

摘要:
本文主要介绍SharePoint2013中,简单发布InfoPath表单,并添加后台代码,示例比较简单,主要描述的是一个创建InfoPath的过程,而非多么深奥的后台代码,希望能够给初学者带来帮助。

本文主要介绍SharePoint 2013中,简单发布InfoPath表单,并添加后台代码,示例比较简单,主要描述的是一个创建InfoPath的过程,而非多么深奥的后台代码,希望能够给初学者带来帮助。

主要过程有

Ø新建一个InfoPath表单

Ø修改表单的信任级别并添加证书

Ø发布到InfoPath得到管理员认证

Ø设计InfoPath布局及添加控件,在代码中编辑,添加表单功能

Ø发布表单到SharePoint文档库

Ø修改文档库支持内容类型,并添加InfoPath表单的内容类型

详细的创建过程

1、 打开InfoPath Designer,选择空白表单,可以看到右侧描述,发布到SharePoint或者网络位置,我们要发布到网络位置,然后上传到SharePoint表单库;

clip_image001

2、 新建以后,如下图:

之后我们修改表单的标题,然后在右侧添加域,之后再拖动至表单中间,当然我们可以选择插入 – 表格进行布局;

clip_image002

3、下面就是添加域,如下图:

clip_image003

4、添加域的名称,如下图:

clip_image004

5、添加表格进行布局,然后拖动Name到表格里,如下图:

clip_image005

6、然后点击文件 – 信息,高级表单选项,修改信任级别和证书:

clip_image006

7、表单选项,选择安全和信任,如下设置,如果没有证书,可以创建:

clip_image007

8、选择发布,发布表单至SharePoint库,如下图:

clip_image008

9、选择SharePoint网站的位置,中间如果弹框,需要管理员账号,目的准备此表单以供管理员核准,如下图:

clip_image009

10、点击下一步,看到提示需经管理员核准,所以之前弹出需要管理员账号;

clip_image010

11、指定模板的位置,发布核准后的表单到计算机上,如下图:

clip_image011

12、选择桌面,保存为infopath.xsn文件,如下图:

clip_image012

13、添加列,也就是Name,选择下一步:

clip_image013

14选择发布,即把经过网站认证的模板,发布到物理路径下了:

clip_image014

15、发布成功,该表单已经可以在浏览器中使用了,只需上传到SharePoint服务器:

clip_image015

16、管理中心,上载表单模板(一般应用程序设置),先点击验证:

clip_image016

17、发现验证通过,可以上传了:

clip_image017

18、上载成功,如下图:

clip_image018

19、在该模板的下拉列表中,选择激活到网站集(激活后,会在网站集功能里多一个功能),如下图:

clip_image019

20、激活表单模板页面,选择激活位置,点击确定即可:

clip_image020

21、回到infopath.xsn表单,点击开发工具,代码编辑器,如下图:

clip_image021

22、点击完代码编辑器,会弹出Visual Studio界面,如下图:

clip_image022

23、回到InfoPath模板,点击开发工具,添加OnLoad事件,如下图:

鼠标放在选择的事件上,会有提示,说明这个事件是做什么用的,在什么情况,我们应该使用该事件;

clip_image023

24、查看VS代码里,会多一个事件,如下图:

clip_image024

25、添加一个按钮,如下图:

接下来,我们可以右键菜单,选择添加按钮的代码;我们也可以添加其他的控件,用来读取或者展示我们的数据;

同时,在myFields中的Name上,右键可以复制xPath值,在表单代码中获取或者设置控件值的时候,都是需要的,也就是后面类似“/my:myFields/my:Name”这样的;

clip_image025

26、在按钮上右键,按钮属性,修改ID,点击编辑表单代码:

clip_image026

27、发现VS里多一个事件,可以在事件里添加我们的代码;我只是测试表达发布,写了个简单的代码,就是把一行string类型,输出到Name域里面,如下图:

clip_image027

28、更新模板的时候,可能会弹出版本号相同的问题,报错,下面有解决方法:

clip_image028

29、更新模板的版本号,可以手动修改下表单选项中,版本控制的版本号,即可(强烈建议,版本号按照规律一点点来,不要乱写,便于管理):

clip_image029

30、创建一个测试的文档库,作为表单发布使用,如下图,选择库设置:

clip_image030

31、启用内容类型管理,如下图:

clip_image031

32、添加内容类型,如下图:

clip_image032

33、添加我们的表单,Publish:

clip_image033

34、修改默认的内容类型,把我们的设置为默认:

clip_image034

35、可以看到新建文档里面,有了我们发布的模板,点击试试:

clip_image035

36、点击Publish,弹出我们的表单,说明配置成功:

我这里只是一个简单的测试表达,你可以试着开发推动工作流的,或者完成其他功能的表单,只要你需要;

clip_image036

37、点击“按钮”,发现按钮的代码执行了,如下图:

将“这是一条测试数据…”输出到Name域的控件里面了;

clip_image037

38、后来尝试了调用一下SharePoint的对象模型,把Web.Title输出来了,如下图:

接下来,可以试试更复杂的SharePoint展示,或者,写一个SharePoint功能表单,都是可以的,但是,InfoPath的弱点在于控件比较少,不够灵活,这样区别于SharePoint页面。

clip_image038

39、输出Web.Title简单的代码截图,如下图:

clip_image039

InfoPath表单在SharePoint中,有着挺重要的作用,看到的有收集xml信息,推动工作流,而我这里只是简单的介绍了下发布InfoPath模板和编写后台代码入门。例子比较简单,希望能够给入门的人带来帮助,有兴趣的可以自己尝试。

免责声明:文章转载自《SharePoint 2013 图文开发系列之InfoPath入门》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇PHP文件包含漏洞(利用phpinfo)复现Oracle基础 触发器下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

ajax表单上传图片和数据

js $('#addbtn').click(function() { var form = document.getElementById("img-form");//获取表单的数据 var formdata = new FormData(form);//格式化表单数据 console.log(for...

8款最新CSS3表单 环形表单很酷

当我们在网站上注册登录还是提交评论,都需要用到表单,今天我们来分享8款最新CSS3表单,有几个效果很酷很特别,有些也非常实用,一起来看看。 1、CSS3环形特色表单 转圈切换表单焦点 这款CSS3表单非常有特色,估计各位不太会看到过,这是一款CSS3环形特色表单,整个环形由一个个输入框组成,当用鼠标激活输入框焦点时,环形圈即会转到该表单项。我们也可以用t...

【mysql】 mybatis实现 主从表 left join 1:n 一对多 分页查询 主表从表都有查询条件 【mybatis】count 统计+JSON查询

mybatis实现 主从表 left join  1:n 一对多 分页查询   主表从表都有查询条件+count 需求: ======================================== 1.主从表数据 是 1:m 2.主从表各自都有查询条件 3.最后查询结果 需要分页,并统计总数 注意: =========================...

html5表单验证(Bootstrap)

html5表单验证(Bootstrap) 邮箱验证: <input name="email" type="text" placeholder="必填项"   required pattern="^w+((-w+)|(.w+))*@[A-Za-z0-9]+((.|-)[A-Za-z0-9]+)*.[A-Za-z0-9]+$" title="邮箱正确格式...

Yii的rules验证(表单字段验证)

Yii的rules验证(表单字段验证)  yii 验证rulesit 分类: Yii yii的rules验证 cValidator主要属 性 attributes ,builtInValidators,enableClientValidation,message,on,safe,skipOnError  经常用到的属性有 attributes,builtIn...

动态表单

最近需要做一个动态表单管理,因为以前没什么经验,所以自己做了一个小demo研究了一下,现将自己的整体思路再从头顺一下,也顺便记录一下这次的学习经验,呵呵 1、  首先,要想实现动态表单的管理,自己首先想到的是不就是执行sql语句对数据库表的字段进行增删改嘛,后来想想并不这么简单,因为要关乎到以后用户添加数据时表单的动态生成,以及还要生成动态的js表单验证,...