SharePoint:扩展DVWP - 第29部分:修改Remove模版上的表单操作工作流
之前我们已经在第7部分到第12部分学习了这方面的内容,当时我们创建了表单操作工作流 。
但不要忽略这一篇。因为这里会提到很多需要大家特别注意的地方。
在上一篇中,Terminated 和Resigned 按钮都创建了出来,但现在,他们仍然和编辑模板中的保存链接一样。 那么,让我们来继续完成它们的修改。
1. 在 SharePoint Designer (SPD)中, 右键点击Terminated并选择 Form Actions
小心陷阱!!!
2. 如果你已经为你的编辑模板创建了 [Custom Action],此时会显示在这里。不要点击Settings...按钮 ! 否则你会打开编辑模板中保存按钮上关联的工作流。
相反,单击 [Custom Action],然后点<<删除,然后确定 。该操作将删除到Save工作流的所有连接。
删除现有的 [Custom action],以断开表单操作与它的关联。
3. 右键单击Terminated并再次选择Form Actions。
4. 点击[Custom Action],然后点击添加 >> 为该链接关联一个新的工作流
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