在前面的四篇博文中,我们讨论了如何从数据视图webpart(DVWP)的表单操作链接中创建一个工作流。继续这一话题,我们已经掌握了如何传递表单域到工作流,这一技巧本身确实已经很强大了。但是,如果你需要传递该表单中包含的更多的信息到工作流时怎么做?

这里有一个此类应用。

表单操作

记住,通过一个向导修改过的表单操作中会按照向导中排列的顺序以JavaScript调用的方式体现在该链接的HREF属性中。

1、通过右击链接,并在上下文菜单中选择“表单操作...”来运行表单操作向导(从编辑模板)。

2、为了运行/创建一个工作流,需要添加一个[自定义操作]并点击设置。

3、点击“变量”按钮

我们必须在将要接收我们传递的数据的工作流中创建一个变量。

4、点击“添加...”按钮

5、为我们的变量填写名称和类型

不论你设置为什么类型,工作流都会将类型转换成字符串。(更多细节会在将来的博文中讨论。)

6、为该工作流创建的变量都可以通过“工作流数据”进行访问。下面我们将讨论如何传递数据到这些已经创建好的变量中,并在我们的工作流中使用该数据。

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

转载于:https://www.cnblogs.com/Sunmoonfire/archive/2010/08/30/1813029.html

SharePoint:扩展DVWP - 第10部分:在表单操作工作流中传递工作流变量相关推荐

  1. SharePoint:扩展DVWP - 第34部分:使用图标形式的表单操作链接

    上一次,我们对我们的DVWP的外观进行了最后的加工,实现了下图中 1-5 的部分.这一次,我们将继续完成剩下的6 和 7 ,来为其添加一个图标. 在本系列中间的部分,Greg Schaefer提了一个 ...

  2. AngularJS表单操作几个例子(表单提交,表单编辑默认值)

    听同事讲AngularJS比jquery还要强大一些于时就开始了AngularJS学习工作,但在学习AngularJS中发现对于表单提交与表单默认值都不会搞,下面来看看几个关于AngularJS Fo ...

  3. 10 react表单操作(未封装版) 喜欢点赞加关注!谢谢

    import React, { Component } from "react" import { log } from "util"; export defa ...

  4. Selenium自动化测试框架基础学习(元素表单操作)(Selenium操作)

    目录 一.Selenium自动化测试框架 1.1什么是框架? 1.2为什么使用框架? 1.3Selenium-webdriver工作原理 1.4selenium环境搭建(详情查阅讲义) 1.5什么是S ...

  5. JQuery入门常用的一些方法、表单操作、正则验证

    获取一组radio被选中项的值 var item = $('input[@name=items][@checked]').val(); 获取select被选中项的文本 var item = $(&qu ...

  6. Flask 表单操作库 flask_WTF flask_WTForms

    一.安装 flask_WTF 0.14.X flask_WTF 英文文档          flask_WTF 中文文档0.12        Flask表单验证组件WTForms Flask-WTF ...

  7. 下面关于表单的叙述错误的是_下面是关于表单数据环境的叙述,其中错误的是A.可以在数据环境中加入与表单操作有关的表B.数据环...

    (文)已知等比数列{xn}的公比是不为1的正数,数列{yn}满足yn?logxna=2(a>0,a≠1),当y4=15,y7=9时,数列{yn}的前 在等差数列{an}中,若an<0,a2 ...

  8. Vue常用特性——表单操作、表单域修饰符(number:转化为数值 ;trim:去掉开始和结尾的空格 ; lazy : 将input事件切换为change事件)||自定义指令|| 局部指令

    Vue常用特性 常用特性概览 <!DOCTYPE html> <html lang="en"> <head><meta charset=& ...

  9. 开源免费OA教程:移动端工作表单操作条的使用方法

    O2OA移动端工作页面目前支持在App.钉钉.企业微信.微信公众号.小程序.UniApp.华为Welink等等各种移动端解决方案中使用. 操作条 先说下操作条是个啥. 咱们O2OA的流程表单设计器是一 ...

  10. 简单的form表单操作的几种写法

    为什么80%的码农都做不了架构师?>>>    function save(){var name = $('#name').val();var email = $('#email') ...

最新文章

  1. 统计每天某一时间段的SQL语句
  2. cmd运行Java中文乱码,无法加载主类Error: Could not find or load main class
  3. 每日一道算法题--leetcode 509--斐波那契数(动态规划)--python
  4. windows linux 通过SSH X11Forwrding 使用图形化界面
  5. Realm及相关对象——《跟我学Shiro》
  6. 【直播】如何学习计算机视觉各大方向,言有三6大直播集中上线
  7. Android中应用安装分析
  8. 攻防世界 ——crypto
  9. VTK:网格之PointInterpolator
  10. Vue项目实战07:引入Normalize.css样式初始化
  11. 吴裕雄 Bootstrap 前端框架开发——Bootstrap 排版:设置浮动和偏移
  12. Python 手册——调用解释器
  13. linux执行jmeter脚本解决响应数据为空
  14. biee mysql,Linux环境中使用BIEE 连接SQLServer业务数据源的简单示例
  15. 十年期货股票行情数据轻松处理——TDengine在同心源基金的应用
  16. Uniapp引入和使用阿里矢量图
  17. 人脸对齐(一)--定义及作用
  18. 电脑小米手机,小米手机怎么连接电脑?
  19. centos下的vim安装
  20. python绘制旭日图

热门文章

  1. h3c服务器设置u盘引导,H3C FlexServer R390服务器装系统前的准备工作
  2. Leader:这样的 Bug 你也写的出来???
  3. Apache Commons Net 实现 FTP 上传/下载/删除/同步
  4. Linux 命令之 scp 文件传输
  5. 项目在服务器的绝对路径,项目在云服务器上的绝对路径
  6. springboot 配置mybatis
  7. java设计模式中的动态代理
  8. JDK8下maven使用maven-javadoc-plugin插件报错
  9. element的form表单中如何一行显示多el-form-item标签
  10. Vuejs2.0学习之二(Render函数,createElement,vm.$slots,函数化组件,模板编译,JSX)...