SharePoint:扩展DVWP 第23部分:工作流实现基于其他字段自动创建标题

在我们实现级联下拉框功能时,创建关系列表很重要,它可以将网站栏彼此关联起来。关系列表的标题栏对于实现级联来说无关紧要。然而,从人性话角度考虑,如果有标题的话,会使维护工作变得更容易。上一次,我们通过jQuery实现了标题内容的自动创建。我知道,并不是所有的人都跟我一样喜欢jQuery。那么,这里有一个好消息...

你可以通过工作流实现几乎同样的效果。

使用工作流来完成标题的创建

当然,我们会用SharePoint Designer来创建工作流。所以,运行SPD并打开我们的网站:

 

1、点击“新建文档”旁边的箭头,选择“工作流”

会弹出工作流设计器向导。

 

2、起一个名字

3、选择列表

 

4、取消选中“允许从项目中手动启动此工作流”,选中“新建项目时自动启动此工作流”

 

5、点“下一步”

 

6、然后点击“操作”并选择“其他操作...”

 

选择“生成动态字符串”。

7、点击“动态字符串

 

8、点击“添加查找”

 

9、保持“源”为“当前项目”,然后设置“域”为拼接标题所用的第一个字段。在本例中为“Contries”

10、点“确定”

输入一个空格,一个减号,再一个空格(或者任何你设计的分割信息)

11、再次点击“添加查找”

这一次,选择第二个拼接标题所用的字段(在这里我选择States)

12、点“确定”

13、点击“变量:变量

然后点击“新建变量...”

14、将其命名

15、点击“操作”并选择“更新列表项”

16、点击“此列表

17、点“添加”并在“设置此域”中选择标题。

18、点击“fx”按钮

修改“源”为“工作流数据”,“域”为txtTitle

19、点击“确定”3次

20、点“完成”

你会看到一条提示信息:

...稍等片刻,工作流就创建好了。

现在,我们就完成了“动态”创建标题的工作流设计。

注意事项

使用工作流来实现有很多缺点,不一定会出错,但是给人感觉很不爽。

1、最明显的缺点是标题不会立即设置。工作流的执行需要一定的时间。在此期间,标题将是空的,这一点比较晕,使得字段的排序看起来很乱。
2、任何拼接标题所需的字段必须是必填项,或者你必须在工作流里对其进行检查,如果没有值就赋一个默认值。如果你以前用过工作流的话,就会知道,使用条件语句和分支,不是那么简单的。
3、如果工作流错误结束,我们的标题将永远不会被设置。
4、如果用来拼接标题的字段发生了变化,这种变化是不能同步的。为了能够同步回来,你就必须写一个在创建和修改时都自动启动的工作流。但是,这样你就必须不断的跟踪和检查字段,从而在修改标题前判断其是否发生了更改。
5、如果你开启了版本控制,那么你会在每次设置或重置标题后都得到一个新的版本。
6.瑕疵:如果创作者没有编辑权限(比如,去掉编辑权限的讨论者),工作流将失败,因为该工作流运行在该用户的ID下,所以更新列表项时会遇到拒绝访问。

 

下一次:我们将学习使用SPServices创建列表项。 

参考资料

SharePoint: Extending the DVWP – Part 23: Creating Title Based on Other Fields with a Workflow

原文地址:https://www.cnblogs.com/Sunmoonfire/p/1824854.html