InfoPath 2010调用REST的一个小应用
来源:互联网 发布:登录淘宝网电脑版 编辑:程序博客网 时间:2024/06/03 07:18
在做InfoPath 2007相关的项目中,我们经常使用InfoPath来调用SharePoint 2007的Web Service. 那么如今SharePoint 2010支持了REST,我们可以尝试调用REST。
需求:自定义一个SharePoint 2010 列表的表单。要求在用户输入“Title”时,检查一下当前列表中是否有相同Title的Item存在,如果存在的话,禁止表单的提交。
思路:使用InfoPath 2010调用REST实现。首先通过REST去列表中查询是否有title等于当前表单填写的Item,如果有的话,返回结果,并且禁止提交。如果查询不到,则允许提交。
第一步,自定义表单。点击列表项目的”自定义表单”,然后对表单做一些简单的处理,如下图。(列表的列有:Title, MyDate以及Query Result,这个是记录title的REST查询的返回结果的)
第二步,添加数据源. 我们需要添加一个“接收数据(Receive Data)”的数据源。我现在需要查询的是列表TestList,所用REST的URL如下: “http://servername/_vti_bin/listdata.svc/TestList”
第三步,对InfoPath的Rule添加逻辑。
选中表单中的Title文本框,添加一个“当字段的值发生变化时(This Field Changed)”使用“查询数据(Query for Data)”.Rules的逻辑和调用Web Service(http://www.cnblogs.com/fanwenxuan/archive/2011/03/14/1984159.html)时的逻辑基本类似:拼接REST, 执行查询并且返回结果。
拼接REST:
concat("http://<ServerName>/_vti_bin/listdata.svc/TestList", "?$filter=Title eq ", "'", Title, "'")
执行查询:这里只需要做一个指向于Data Connection的“Query for data”的活动即可。
返回查询结果:(我这里对返回的结果的几个属性做了拼接,并且把结果的值返回到Query Result这个文本中)
第四步,增加验证。
我的验证逻辑是:如果查询没有返回结果,表示相同Title的Item不存在;如果有返回结果,表示存在相同Title的Item。对Title的文本控件在增加一个验证(validating)的逻辑:
Condition: Qurey Result is not blank.
ScreenTip: The item has existed.
第五步,发布表单。
接下来,就去验证你的逻辑吧!
注意:
1.在使用SharePoint 2010的REST的时候,首先要安装ADO.Net 3.5SP1:http://www.microsoft.com/downloads/en/details.aspx?displaylang=en&FamilyID=3e102d74-37bf-4c1e-9da6-5175644fe22d
2.在你拼接REST时,你最好先在URL测试一下,检查是否能用。
参考:
http://blogs.msdn.com/b/infopath/archive/2010/02/11/add-a-dynamic-map-to-a-contact-form-using-rest-web-services.aspx
- InfoPath 2010调用REST的一个小应用
- infopath 一个应用(转)
- 一个简单的SharePoint表单库 + InfoPath应用
- 简介REST,以及RESTful的小应用!
- Infopath 2010的变化
- REST的小例子
- 一个常见REST应用场景的困惑和探究
- windbg 的一个小应用
- 蓝牙的一个小应用
- 一个天气预报的小应用
- ListView的一个小应用
- Sharepoint构建轻量型应用之InfoPath的简单应用案例!
- How to Clone an Infopath Form 如何复制一个新的 eForm/Infopath Form ?
- [SharePoint 2010– InfoPath]通过REST Web Service在表单中嵌入地图
- Rest 风格的webservice 调用
- 监视API调用的一个小程序
- ios调用dismissViewController的一个小陷阱
- 一个函数调用模式的小坑
- 1-26工作日志
- js 调试
- 数据库SQL基本语法
- MapServer6.4.1教程学习--缩放和漫游控件(2-1)
- 工作日志
- InfoPath 2010调用REST的一个小应用
- 2014年终总结书
- Windows静态库和动态库的创建和使用
- Spring——DataSource
- XP系统,开机启动报NTDETECT 失败
- 传统线程互斥技术(三)
- 半路出家————跨过第一道槛
- Windows的程序性能分析和函数呼叫列表工具LTProf (Call Graph at Runtime)
- 怎样在VS2010中打开VS2012的项目