SharePoint 2013 图文开发系列之InfoPath入门
2013-12-14 16:11
363 查看
本文主要介绍SharePoint 2013中,简单发布InfoPath表单,并添加后台代码,示例比较简单,主要描述的是一个创建InfoPath的过程,而非多么深奥的后台代码,希望能够给初学者带来帮助。
主要过程有
Ø 新建一个InfoPath表单
Ø 修改表单的信任级别并添加证书
Ø 发布到InfoPath得到管理员认证
Ø 设计InfoPath布局及添加控件,在代码中编辑,添加表单功能
Ø 发布表单到SharePoint文档库
Ø 修改文档库支持内容类型,并添加InfoPath表单的内容类型
详细的创建过程
1、 打开InfoPath Designer,选择空白表单,可以看到右侧描述,发布到SharePoint或者网络位置,我们要发布到网络位置,然后上传到SharePoint表单库;
![](http://images.cnitblog.com/blog/256729/201312/12232819-9deb4e3b2ba640209beb04e39c695318.png)
2、 新建以后,如下图:
之后我们修改表单的标题,然后在右侧添加域,之后再拖动至表单中间,当然我们可以选择插入 – 表格进行布局;
![](http://images.cnitblog.com/blog/256729/201312/12232821-5484cd52b2ed40979df42aa08994740d.png)
3、下面就是添加域,如下图:
![](http://images.cnitblog.com/blog/256729/201312/12232822-c954567b28e84044893a99cbc501ff71.png)
4、添加域的名称,如下图:
![](http://images.cnitblog.com/blog/256729/201312/12232823-5e27a9dd3f75440a820c3f36a35ced06.png)
5、添加表格进行布局,然后拖动Name到表格里,如下图:
![](http://images.cnitblog.com/blog/256729/201312/12232824-8946edab87ef43c79e5a7362061cf98d.png)
6、然后点击文件 – 信息,高级表单选项,修改信任级别和证书:
![](http://images.cnitblog.com/blog/256729/201312/12232825-ca89d1d1754e43df8cf6cf8cb75c0838.png)
7、表单选项,选择安全和信任,如下设置,如果没有证书,可以创建:
![](http://images.cnitblog.com/blog/256729/201312/12232829-ad72abe7018b48aca29519b0995190ef.png)
8、选择发布,发布表单至SharePoint库,如下图:
![](http://images.cnitblog.com/blog/256729/201312/12232831-a878943cf2434d3fa4c7f873d487d8de.png)
9、选择SharePoint网站的位置,中间如果弹框,需要管理员账号,目的准备此表单以供管理员核准,如下图:
![](http://images.cnitblog.com/blog/256729/201312/12232835-23c78e7926fb470ea20a9312bc6882cf.png)
10、点击下一步,看到提示需经管理员核准,所以之前弹出需要管理员账号;
![](http://images.cnitblog.com/blog/256729/201312/12232836-308b5ce976a844a195111aff26901383.png)
11、指定模板的位置,发布核准后的表单到计算机上,如下图:
![](http://images.cnitblog.com/blog/256729/201312/12232838-2a1ccb80d9b740228e924fda05fdb2f6.png)
12、选择桌面,保存为infopath.xsn文件,如下图:
![](http://images.cnitblog.com/blog/256729/201312/12232842-4d8c2d58b19c4b5abe8fedfd0b3111c4.png)
13、添加列,也就是Name,选择下一步:
![](http://images.cnitblog.com/blog/256729/201312/12232843-f3ecaa093bf8467e92783c75cbd39fa2.png)
14选择发布,即把经过网站认证的模板,发布到物理路径下了:
![](http://images.cnitblog.com/blog/256729/201312/12232844-8601921d68df4dc2b5866de178dd7a14.png)
15、发布成功,该表单已经可以在浏览器中使用了,只需上传到SharePoint服务器:
![](http://images.cnitblog.com/blog/256729/201312/12232845-10ccfe46f5334f7f95900223e90e4653.png)
16、管理中心,上载表单模板(一般应用程序设置),先点击验证:
![](http://images.cnitblog.com/blog/256729/201312/12232847-dc5f0e9ac07446968cdd3934626be806.png)
17、发现验证通过,可以上传了:
![](http://images.cnitblog.com/blog/256729/201312/12232848-9e13670cf20a4bd8b6b11bff5a812f6e.png)
18、上载成功,如下图:
![](http://images.cnitblog.com/blog/256729/201312/12232849-b6c50751a5464fde9124f0ddea0427f2.png)
19、在该模板的下拉列表中,选择激活到网站集(激活后,会在网站集功能里多一个功能),如下图:
![](http://images.cnitblog.com/blog/256729/201312/12232850-c9399622b42d4d4ead22077f08a5bc80.png)
20、激活表单模板页面,选择激活位置,点击确定即可:
![](http://images.cnitblog.com/blog/256729/201312/12232854-1f77b304486048f1ae680ed0db30acf0.png)
21、回到infopath.xsn表单,点击开发工具,代码编辑器,如下图:
![](http://images.cnitblog.com/blog/256729/201312/12232855-d147e4e18b324f9fa7b419f3abee9c32.png)
22、点击完代码编辑器,会弹出Visual Studio界面,如下图:
![](http://images.cnitblog.com/blog/256729/201312/12232856-e874c402e7844ce28070167a6fc2940d.png)
23、回到InfoPath模板,点击开发工具,添加OnLoad事件,如下图:
鼠标放在选择的事件上,会有提示,说明这个事件是做什么用的,在什么情况,我们应该使用该事件;
![](http://images.cnitblog.com/blog/256729/201312/12232857-fcdc6bafcfc9483d8497d248ae163422.png)
24、查看VS代码里,会多一个事件,如下图:
![](http://images.cnitblog.com/blog/256729/201312/12232859-5a8af50df04341da907f2e3cafae489b.png)
25、添加一个按钮,如下图:
接下来,我们可以右键菜单,选择添加按钮的代码;我们也可以添加其他的控件,用来读取或者展示我们的数据;
同时,在myFields中的Name上,右键可以复制xPath值,在表单代码中获取或者设置控件值的时候,都是需要的,也就是后面类似“/my:myFields/my:Name”这样的;
![](http://images.cnitblog.com/blog/256729/201312/12232900-0a50ac3f20194b5b9d9bb39489e3192b.png)
26、在按钮上右键,按钮属性,修改ID,点击编辑表单代码:
![](http://images.cnitblog.com/blog/256729/201312/12232904-c675d1be054f4ec99cfd37dee90bd512.png)
27、发现VS里多一个事件,可以在事件里添加我们的代码;我只是测试表达发布,写了个简单的代码,就是把一行string类型,输出到Name域里面,如下图:
![](http://images.cnitblog.com/blog/256729/201312/12232906-2af4ab45646a4305831cfa916dda7214.png)
28、更新模板的时候,可能会弹出版本号相同的问题,报错,下面有解决方法:
![](http://images.cnitblog.com/blog/256729/201312/12232907-93e5a0a545e8426799b729d05e1608d0.png)
29、更新模板的版本号,可以手动修改下表单选项中,版本控制的版本号,即可(强烈建议,版本号按照规律一点点来,不要乱写,便于管理):
![](http://images.cnitblog.com/blog/256729/201312/12232908-1075b75b0e2e42e598375bee44fe4ffc.png)
30、创建一个测试的文档库,作为表单发布使用,如下图,选择库设置:
![](http://images.cnitblog.com/blog/256729/201312/12232909-b5682d879c82453db386b714b057dfb5.png)
31、启用内容类型管理,如下图:
![](http://images.cnitblog.com/blog/256729/201312/12232910-d468beeab64642c4852242415be6c50c.png)
32、添加内容类型,如下图:
![](http://images.cnitblog.com/blog/256729/201312/12232914-da36859f9712432e96cbbd1432862514.png)
33、添加我们的表单,Publish:
![](http://images.cnitblog.com/blog/256729/201312/12232915-382a685f8f5b47f08b48118858c7909b.png)
34、修改默认的内容类型,把我们的设置为默认:
![](http://images.cnitblog.com/blog/256729/201312/12232916-550bbf599a2447d1a3d7fd78db9dcc76.png)
35、可以看到新建文档里面,有了我们发布的模板,点击试试:
![](http://images.cnitblog.com/blog/256729/201312/12232917-0f9d58a21ad7411486e439d7002431cd.png)
36、点击Publish,弹出我们的表单,说明配置成功:
我这里只是一个简单的测试表达,你可以试着开发推动工作流的,或者完成其他功能的表单,只要你需要;
![](http://images.cnitblog.com/blog/256729/201312/12232918-3e152126acf141e78685a38f141493d5.png)
37、点击“按钮”,发现按钮的代码执行了,如下图:
将“这是一条测试数据…”输出到Name域的控件里面了;
![](http://images.cnitblog.com/blog/256729/201312/12232919-3348d9cb1117463b9ee6191360e2c4c9.png)
38、后来尝试了调用一下SharePoint的对象模型,把Web.Title输出来了,如下图:
接下来,可以试试更复杂的SharePoint展示,或者,写一个SharePoint功能表单,都是可以的,但是,InfoPath的弱点在于控件比较少,不够灵活,这样区别于SharePoint页面。
![](http://images.cnitblog.com/blog/256729/201312/12232920-5799d44b6a594033a5d362f1999685db.png)
39、输出Web.Title简单的代码截图,如下图:
![](http://images.cnitblog.com/blog/256729/201312/12232921-ff3d15b3b16d4cbd87077ac3f7061584.png)
总 结
InfoPath表单在SharePoint中,有着挺重要的作用,看到的有收集xml信息,推动工作流,而我这里只是简单的介绍了下发布InfoPath模板和编写后台代码入门。例子比较简单,希望能够给入门的人带来帮助,有兴趣的可以自己尝试。
主要过程有
Ø 新建一个InfoPath表单
Ø 修改表单的信任级别并添加证书
Ø 发布到InfoPath得到管理员认证
Ø 设计InfoPath布局及添加控件,在代码中编辑,添加表单功能
Ø 发布表单到SharePoint文档库
Ø 修改文档库支持内容类型,并添加InfoPath表单的内容类型
详细的创建过程
1、 打开InfoPath Designer,选择空白表单,可以看到右侧描述,发布到SharePoint或者网络位置,我们要发布到网络位置,然后上传到SharePoint表单库;
![](http://images.cnitblog.com/blog/256729/201312/12232819-9deb4e3b2ba640209beb04e39c695318.png)
2、 新建以后,如下图:
之后我们修改表单的标题,然后在右侧添加域,之后再拖动至表单中间,当然我们可以选择插入 – 表格进行布局;
![](http://images.cnitblog.com/blog/256729/201312/12232821-5484cd52b2ed40979df42aa08994740d.png)
3、下面就是添加域,如下图:
![](http://images.cnitblog.com/blog/256729/201312/12232822-c954567b28e84044893a99cbc501ff71.png)
4、添加域的名称,如下图:
![](http://images.cnitblog.com/blog/256729/201312/12232823-5e27a9dd3f75440a820c3f36a35ced06.png)
5、添加表格进行布局,然后拖动Name到表格里,如下图:
![](http://images.cnitblog.com/blog/256729/201312/12232824-8946edab87ef43c79e5a7362061cf98d.png)
6、然后点击文件 – 信息,高级表单选项,修改信任级别和证书:
![](http://images.cnitblog.com/blog/256729/201312/12232825-ca89d1d1754e43df8cf6cf8cb75c0838.png)
7、表单选项,选择安全和信任,如下设置,如果没有证书,可以创建:
![](http://images.cnitblog.com/blog/256729/201312/12232829-ad72abe7018b48aca29519b0995190ef.png)
8、选择发布,发布表单至SharePoint库,如下图:
![](http://images.cnitblog.com/blog/256729/201312/12232831-a878943cf2434d3fa4c7f873d487d8de.png)
9、选择SharePoint网站的位置,中间如果弹框,需要管理员账号,目的准备此表单以供管理员核准,如下图:
![](http://images.cnitblog.com/blog/256729/201312/12232835-23c78e7926fb470ea20a9312bc6882cf.png)
10、点击下一步,看到提示需经管理员核准,所以之前弹出需要管理员账号;
![](http://images.cnitblog.com/blog/256729/201312/12232836-308b5ce976a844a195111aff26901383.png)
11、指定模板的位置,发布核准后的表单到计算机上,如下图:
![](http://images.cnitblog.com/blog/256729/201312/12232838-2a1ccb80d9b740228e924fda05fdb2f6.png)
12、选择桌面,保存为infopath.xsn文件,如下图:
![](http://images.cnitblog.com/blog/256729/201312/12232842-4d8c2d58b19c4b5abe8fedfd0b3111c4.png)
13、添加列,也就是Name,选择下一步:
![](http://images.cnitblog.com/blog/256729/201312/12232843-f3ecaa093bf8467e92783c75cbd39fa2.png)
14选择发布,即把经过网站认证的模板,发布到物理路径下了:
![](http://images.cnitblog.com/blog/256729/201312/12232844-8601921d68df4dc2b5866de178dd7a14.png)
15、发布成功,该表单已经可以在浏览器中使用了,只需上传到SharePoint服务器:
![](http://images.cnitblog.com/blog/256729/201312/12232845-10ccfe46f5334f7f95900223e90e4653.png)
16、管理中心,上载表单模板(一般应用程序设置),先点击验证:
![](http://images.cnitblog.com/blog/256729/201312/12232847-dc5f0e9ac07446968cdd3934626be806.png)
17、发现验证通过,可以上传了:
![](http://images.cnitblog.com/blog/256729/201312/12232848-9e13670cf20a4bd8b6b11bff5a812f6e.png)
18、上载成功,如下图:
![](http://images.cnitblog.com/blog/256729/201312/12232849-b6c50751a5464fde9124f0ddea0427f2.png)
19、在该模板的下拉列表中,选择激活到网站集(激活后,会在网站集功能里多一个功能),如下图:
![](http://images.cnitblog.com/blog/256729/201312/12232850-c9399622b42d4d4ead22077f08a5bc80.png)
20、激活表单模板页面,选择激活位置,点击确定即可:
![](http://images.cnitblog.com/blog/256729/201312/12232854-1f77b304486048f1ae680ed0db30acf0.png)
21、回到infopath.xsn表单,点击开发工具,代码编辑器,如下图:
![](http://images.cnitblog.com/blog/256729/201312/12232855-d147e4e18b324f9fa7b419f3abee9c32.png)
22、点击完代码编辑器,会弹出Visual Studio界面,如下图:
![](http://images.cnitblog.com/blog/256729/201312/12232856-e874c402e7844ce28070167a6fc2940d.png)
23、回到InfoPath模板,点击开发工具,添加OnLoad事件,如下图:
鼠标放在选择的事件上,会有提示,说明这个事件是做什么用的,在什么情况,我们应该使用该事件;
![](http://images.cnitblog.com/blog/256729/201312/12232857-fcdc6bafcfc9483d8497d248ae163422.png)
24、查看VS代码里,会多一个事件,如下图:
![](http://images.cnitblog.com/blog/256729/201312/12232859-5a8af50df04341da907f2e3cafae489b.png)
25、添加一个按钮,如下图:
接下来,我们可以右键菜单,选择添加按钮的代码;我们也可以添加其他的控件,用来读取或者展示我们的数据;
同时,在myFields中的Name上,右键可以复制xPath值,在表单代码中获取或者设置控件值的时候,都是需要的,也就是后面类似“/my:myFields/my:Name”这样的;
![](http://images.cnitblog.com/blog/256729/201312/12232900-0a50ac3f20194b5b9d9bb39489e3192b.png)
26、在按钮上右键,按钮属性,修改ID,点击编辑表单代码:
![](http://images.cnitblog.com/blog/256729/201312/12232904-c675d1be054f4ec99cfd37dee90bd512.png)
27、发现VS里多一个事件,可以在事件里添加我们的代码;我只是测试表达发布,写了个简单的代码,就是把一行string类型,输出到Name域里面,如下图:
![](http://images.cnitblog.com/blog/256729/201312/12232906-2af4ab45646a4305831cfa916dda7214.png)
28、更新模板的时候,可能会弹出版本号相同的问题,报错,下面有解决方法:
![](http://images.cnitblog.com/blog/256729/201312/12232907-93e5a0a545e8426799b729d05e1608d0.png)
29、更新模板的版本号,可以手动修改下表单选项中,版本控制的版本号,即可(强烈建议,版本号按照规律一点点来,不要乱写,便于管理):
![](http://images.cnitblog.com/blog/256729/201312/12232908-1075b75b0e2e42e598375bee44fe4ffc.png)
30、创建一个测试的文档库,作为表单发布使用,如下图,选择库设置:
![](http://images.cnitblog.com/blog/256729/201312/12232909-b5682d879c82453db386b714b057dfb5.png)
31、启用内容类型管理,如下图:
![](http://images.cnitblog.com/blog/256729/201312/12232910-d468beeab64642c4852242415be6c50c.png)
32、添加内容类型,如下图:
![](http://images.cnitblog.com/blog/256729/201312/12232914-da36859f9712432e96cbbd1432862514.png)
33、添加我们的表单,Publish:
![](http://images.cnitblog.com/blog/256729/201312/12232915-382a685f8f5b47f08b48118858c7909b.png)
34、修改默认的内容类型,把我们的设置为默认:
![](http://images.cnitblog.com/blog/256729/201312/12232916-550bbf599a2447d1a3d7fd78db9dcc76.png)
35、可以看到新建文档里面,有了我们发布的模板,点击试试:
![](http://images.cnitblog.com/blog/256729/201312/12232917-0f9d58a21ad7411486e439d7002431cd.png)
36、点击Publish,弹出我们的表单,说明配置成功:
我这里只是一个简单的测试表达,你可以试着开发推动工作流的,或者完成其他功能的表单,只要你需要;
![](http://images.cnitblog.com/blog/256729/201312/12232918-3e152126acf141e78685a38f141493d5.png)
37、点击“按钮”,发现按钮的代码执行了,如下图:
将“这是一条测试数据…”输出到Name域的控件里面了;
![](http://images.cnitblog.com/blog/256729/201312/12232919-3348d9cb1117463b9ee6191360e2c4c9.png)
38、后来尝试了调用一下SharePoint的对象模型,把Web.Title输出来了,如下图:
接下来,可以试试更复杂的SharePoint展示,或者,写一个SharePoint功能表单,都是可以的,但是,InfoPath的弱点在于控件比较少,不够灵活,这样区别于SharePoint页面。
![](http://images.cnitblog.com/blog/256729/201312/12232920-5799d44b6a594033a5d362f1999685db.png)
39、输出Web.Title简单的代码截图,如下图:
![](http://images.cnitblog.com/blog/256729/201312/12232921-ff3d15b3b16d4cbd87077ac3f7061584.png)
总 结
InfoPath表单在SharePoint中,有着挺重要的作用,看到的有收集xml信息,推动工作流,而我这里只是简单的介绍了下发布InfoPath模板和编写后台代码入门。例子比较简单,希望能够给入门的人带来帮助,有兴趣的可以自己尝试。
相关文章推荐
- SharePoint 2013 图文开发系列之InfoPath入门
- SharePoint 2013 图文开发系列之InfoPath入门
- SharePoint 2013 图文开发系列之InfoPath入门
- SharePoint 2013 图文开发系列之InfoPath入门
- SharePoint 2013 图文开发系列之InfoPath入门
- SharePoint 2013 图文开发系列之InfoPath入门
- SharePoint 2013 图文开发系列之入门教程
- SharePoint 2013 图文开发系列之可视化WebPart
- SharePoint 2013 图文开发系列之Visual Studio 创建母版页
- SharePoint 2013 图文开发系列之可视化WebPart
- SharePoint 2013 图文开发系列之可视化WebPart
- SharePoint 2013 图文开发系列之自定义字段
- SharePoint 2013 图文开发系列之应用程序页
- SharePoint 2013 图文开发系列之WebPart
- SharePoint 2013 图文开发系列之网站栏
- SharePoint 2013 图文开发系列之Visual Studio 创建母版页
- SharePoint 2013 图文开发系列之定义站点模板
- SharePoint 2013 图文开发系列之计时器任务
- SharePoint 2013 图文开发系列之创建内容类型
- SharePoint 2013 图文开发系列之Visual Studio 创建母版页