设为首页 收藏本站
查看: 1080|回复: 0

[经验分享] SharePoint:扩展DVWP

[复制链接]

尚未签到

发表于 2015-9-29 13:46:11 | 显示全部楼层 |阅读模式
  在前面的四篇博文中,我们讨论了如何从数据视图webpart(DVWP)的表单操作链接中创建一个工作流。继续这一话题,我们已经掌握了如何传递表单域到工作流,这一技巧本身确实已经很强大了。但是,如果你需要传递该表单中包含的更多的信息到工作流时怎么做?
  这里有一个此类应用。

表单操作
  记住,通过一个向导修改过的表单操作中会按照向导中排列的顺序以JavaScript调用的方式体现在该链接的HREF属性中。
  1、通过右击链接,并在上下文菜单中选择“表单操作...”来运行表单操作向导(从编辑模板)。
DSC0000.png
DSC0001.png
  2、为了运行/创建一个工作流,需要添加一个[自定义操作]并点击设置。
DSC0002.png
  3、点击“变量”按钮
DSC0003.png
  我们必须在将要接收我们传递的数据的工作流中创建一个变量。
  4、点击“添加...”按钮
DSC0004.png
  5、为我们的变量填写名称和类型
DSC0005.png
  不论你设置为什么类型,工作流都会将类型转换成字符串。(更多细节会在将来的博文中讨论。)
  6、为该工作流创建的变量都可以通过“工作流数据”进行访问。下面我们将讨论如何传递数据到这些已经创建好的变量中,并在我们的工作流中使用该数据。
DSC0006.png
  7、让我们在看一下在创建完工作流后表单操作链接的HREF中的JavaScript调用:
  之后



<a href="javascript: {ddwrt:GenFireServerEvent(concat('__workflowStart={{A50B3A56-0C82-43E3-917E-D37E2E036F3B},New,{F6244C84-AAE5-45E0-9C71-60F6AB31F584},ff1_x007b__x0024_Pos_x007d_={ff1',$Pos,'}*ff2_x007b__x0024_Pos_x007d_={ff2',$Pos,'}*ff3_x007b__x0024_Pos_x007d_={ff3',$Pos,'}*ff4_x007b__x0024_Pos_x007d_={ff4',$Pos,'}*ff5_x007b__x0024_Pos_x007d_={ff5',$Pos,'}*ff6_x007b__x0024_Pos_x007d_={ff6',$Pos,'}*ff7_x007b__x0024_Pos_x007d_={ff7',$Pos,'}*};__commit'))}">保存文件</a>

  
我们在前面两篇博文中详细讨论了这块代码的语法。这一次,我们只看一下__workflowStart函数的第四个参数。
  还记得吗,第四个参数如下所示:



ff1_x007b__x0024_Pos_x007d_={ff1',$Pos,'}*ff2_x007b__x0024_Pos_x007d_={ff2',$Pos,'}*ff3_x007b__x0024_Pos_x007d_={ff3',$Pos,'}*ff4_x007b__x0024_Pos_x007d_={ff4',$Pos,'}*ff5_x007b__x0024_Pos_x007d_={ff5',$Pos,'}*ff6_x007b__x0024_Pos_x007d_={ff6',$Pos,'}*ff7_x007b__x0024_Pos_x007d_={ff7',$Pos,'}*
  工作流变量 - 在上面的代码中所有的变量都是自动添加的,以便我们可以访问表单域的值。幸运的是,我们可以使用相同的语法添加任何我们需要的字段。
  比如,如果我们需要传递一个字符串如“Insert”,以便我们可以写一条审计跟踪信息,我们可以简单的添加myVar=Insert*到该名值对列表,这样就可以通过工作流数据以myVar的形式访问该值了。
  所以,想要添加我们的变量时,可以简单的添加名/值对到末尾:



ff1_x007b__x0024_Pos_x007d_={ff1',$Pos,'}*ff2_x007b__x0024_Pos_x007d_={ff2',$Pos,'}*ff3_x007b__x0024_Pos_x007d_={ff3',$Pos,'}*ff4_x007b__x0024_Pos_x007d_={ff4',$Pos,'}*ff5_x007b__x0024_Pos_x007d_={ff5',$Pos,'}*ff6_x007b__x0024_Pos_x007d_={ff6',$Pos,'}*ff7_x007b__x0024_Pos_x007d_={ff7',$Pos,'}*myVar=Insert*

  由于这是一个很大的由星号分隔(事实上是终止)的字符串,所以不要在两边用引号引起来。换句话说,如果你希望myVar的值中包含一个空格(如"New Item"),星号是该字符串的结束符,所以可以这样写:
  …*myVar=New Item*
  
注意:星号(*)与其说是一个分隔符,倒不如说是终止符更加贴切。换句话说,它并不是用来分隔数据,实际上它标志着每一个名/值对的结束。这也正是为什么最后会以星号结束,而不是只出现在两个名/值对之间。所以,不要忘记最后的星号
  
  下一次:为什么不是所有的字段都出现在表单域中?接下来的扩展DVWP系列中我们将对此进行详细讨论。
  
  参考资料
  
SharePoint: Extending the DVWP – Part 10: Passing Workflow Variables to a Form Action Workflow

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-120553-1-1.html 上篇帖子: SharePoint:扩展DVWP 下篇帖子: Sharepoint管理中心显示“!服务器场配置未完成!”
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表