cf2000 发表于 2015-9-30 07:57:19

SharePoint:扩展DVWP

  之前我们已经在第7部分到第12部分学习了这方面的内容,当时我们创建了表单操作工作流 。
  但不要忽略这一篇。因为这里会提到很多需要大家特别注意的地方。
  在上一篇中,Terminated 和Resigned 按钮都创建了出来,但现在,他们仍然和编辑模板中的保存链接一样。 那么,让我们来继续完成它们的修改。

  1. 在 SharePoint Designer (SPD)中, 右键点击Terminated并选择 Form Actions
  小心陷阱!!!
   2. 如果你已经为你的编辑模板创建了 ,此时会显示在这里。不要点击Settings...按钮 ! 否则你会打开编辑模板中保存按钮上关联的工作流。
  相反,单击 ,然后点<<删除,然后确定 。该操作将删除到Save工作流的所有连接。

      删除现有的 ,以断开表单操作与它的关联。
   3. 右键单击Terminated并再次选择Form Actions。
   4. 点击,然后点击添加 >> 为该链接关联一个新的工作流
  5. 点击Move Up,以使得该工作流先执行。

      现在你可以从头开始设计该表单操作的工作流了
  6.然后 ,你可以点击Settings…按钮开始配置工作流。

工作流
  我们之前通过在PreSaveAction()中使用 SPServices实现了向审计列表中写数据。我们还讨论过如何将表单数据和更多的变量用于工作流。
  既然我们已经将除Effective Data外的字段控件转换成了Label,我们就可以从工作流中访问他们了。 我们会使用Create List Item操作来创建列表项:
  1. 选择审计列表,所需要的所有字段将自动显示出来。简单地一个一个过,每个都点击Modify…然后选择适合的表单域值:

      必填字段将自动被添加到 Create New List Item 对话框中
   2. 当轮到Change Type 时 ,从选项字段列表中选择Terminate

   3. 当你完成后,单击OK , Finish和OK 。 (如果你在此之后又回来编辑这里,那么在点击第二个OK前注意接下来会提到的陷阱)
   4. 请记下接下来弹出的窗口中的工作流的编号。(你可能需要在你的XSLT中添加一些注释,以便在以后的工作很容易找到该编号。)

   5. 在Resign按钮上重复以上过程。
  小心陷阱!!!
  如果你在此前曾经使用我们第10部分:在表单操作工作流中传递工作流变量 中的方法进行过设置 ,请不要点击第二个OK 。 因为这样做将覆盖您所做的工作流传递变量的修改。
  只需记住, 表单操作和工作流是两个独立的实体形式即可。 要访问您的表单中的域和工作流中的变量,你要走第10部分的过程。但是,如果你不想把你的变量覆盖掉,就千万别在完成工作流的初始创建后点击表单操作上的OK按钮。
  当我们完成后,通过设计窗格切换到remove模板 ,然后再把模版名称给换回来。从:



<xsl:template name="dvt_1.rowremove">
<xsl:param name="Pos" />
<tr>
. . .
</tr>
</xsl:template>
<xsl:template name="dvt_1.rowedit">
<xsl:param name="Pos" />
<tr>
. . .
</tr>
</xsl:template>

  恢复成 ...



<xsl:template name="dvt_1.rowedit">
<xsl:param name="Pos" />
<tr>
. . .
</tr>
</xsl:template>
<xsl:template name="dvt_1.rowremove">
<xsl:param name="Pos" />
<tr>
. . .
</tr>
</xsl:template>

  
下一次 ,我们将继续扩展DVWP之旅,添加一些筛选器和选项卡,使其中的信息易于区分,从而将它们组合成更容易维护的集合。
  
  参考资料
  SharePoint:Extending the DVWP - Part 29:Modifying Form Action Workflows on the remove Template
页: [1]
查看完整版本: SharePoint:扩展DVWP