Condition 元素 (WorkflowInfo)
适用于:SharePoint 2016 |SharePoint Foundation 2013 |SharePoint Online |SharePoint Server 2013
表示 Condition 语句,它是可在声明性、基于规则的无代码工作流编辑器(如 Microsoft SharePoint Designer 2010)中显示的规则句子的一部分。
当工作流由与 Microsoft SharePoint Foundation 2010 中的 SharePoint 列表或文档库项对应的事件触发时,通常需要评估应采取的工作流操作或是否需要执行操作。 Condition 元素允许工作流使用工作流编辑器提供给它的值和参数来执行此计算。
每个 Condition 元素还对应于指定 SharePoint Foundation 2010 工作流库中的 布尔 方法。 这些方法用于计算由其参数传递的值并返回 true 或 false。
Condition 元素包含有关在其中实现 Condition 代码的 Microsoft .NET 程序集的信息,以及进行函数调用所需的参数。 它还包含有关应如何对工作流编辑器显示 Condition 语句的信息。
定义
<WorkflowInfo>
<Conditions>
<Condition>
<RuleDesigner>…</RuleDesigner>
<Paramaters>…</Parameters>
</Condition>
<Default>…</Default>
</Conditions>
<Action>…</Actions>
</WorkflowInfo>
元素和属性
下面各部分介绍了属性、子元素和父元素。
Attributes
属性 |
说明 |
---|---|
**AppliesTo** |
必需 **text**。 指定正在计算的条件语句应用于 SharePoint 列表或文档库。 通过对值进行更改,可以在工作流编辑器中显示或隐藏特定的条件语句,具体取决于与工作流关联的 SharePoint 列表的类型。 以下值不区分大小写:
|
**装配** |
必需 **text**。 指定包含 Condition 元素实现代码的 .NET 程序集。 值类型: **String**。 指定包含工作流代码的 .NET 程序集。 格式应如下所示: 程序集名称、版本、区域性和 PublicKeyToken 示例: Assembly=>Microsoft.SharePoint.WorkflowActions, 版本=12.0.0.0, Culture=neutral、 PublicKeyToken= 71e9bce111e9429c> |
**ClassName** |
必需 **text**。 包含实现条件元素代码的完全限定类名。 值类型: **String**。 完全限定的类名,其中实现了自定义条件元素代码。 示例: **Xml**: ClassName=>**Microsoft.SharePoint.WorkflowActions.Helper**> |
**FunctionName** |
必需 **text**。 类中实现 Condition 代码的布尔值方法的名称。 值类型: **String**。 表示实现条件元素代码的类中的方法名称。 **示例方法**: 'Bool myCondition (WorkflowContext context, string ListGUIDorName, int ItemWorkflowAttachedTo) ' **Xml**: FunctionName=>myCondition> |
**ItemKeyType** |
可选 **text**。 默认对象类型的特定于实现的标识符。 |
**名字** |
必需 **text**。 指定本地化条件名称。 |
**类型** |
可选 **text**。 指定 “Condition” 元素是 “Custom” 还是 “Advanced”。 以下值不区分大小写:
|
**UsesCurrentItem** |
可选 **Boolean**。 指定当前所选的项目与工作流相关联。 值类型:**布尔值**。 如果设置为 “true”,则工作流绑定到启动工作流实例的 SharePoint 列表项或文档库项。 使用声明性的无代码工作流编辑器时,此值始终返回 true ,并且无法更改。 |
子元素
父元素
示例
下面的示例演示如何在工作流设计过程中对无代码编辑器公开 Condition 元素。
<WorkflowInfo Language="en-us">
<Conditions And="and" Or="or" Not="not" When="If" Else="ElseIf">
<Condition
AppliesTo="list"
Assembly="MyWorkflowProject.Workflow1,
PublicKeyToken=71e9bce111e9429c,
Version=1.0.0.0,
Culture=neutral"
ClassName="MyWorkflowProject.Workflow1.MyClass"
FunctionName="IsOrderComplete"
Name="Check if item in %1 is a complete order"
Type="Custom"
UsesCurrentItem="True">
<RuleDesigner>...</RuleDesigner>
</Condition>
</Conditions>
</WorkflowInfo>