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 工作流库中的 布尔 方法。 这些方法用于计算由其参数传递的值并返回 truefalse

Condition 元素包含有关在其中实现 Condition 代码的 Microsoft .NET 程序集的信息,以及进行函数调用所需的参数。 它还包含有关应如何对工作流编辑器显示 Condition 语句的信息。

定义

<WorkflowInfo>
      <Conditions>
            <Condition>
               <RuleDesigner>…</RuleDesigner>
               <Paramaters>…</Parameters>
            </Condition>
            <Default>…</Default>
      </Conditions>
      <Action>…</Actions>
</WorkflowInfo>

元素和属性

下面各部分介绍了属性、子元素和父元素。

Attributes

属性

说明

**AppliesTo**

必需 **text**。 指定正在计算的条件语句应用于 SharePoint 列表或文档库。 通过对值进行更改,可以在工作流编辑器中显示或隐藏特定的条件语句,具体取决于与工作流关联的 SharePoint 列表的类型。

以下值不区分大小写:

  • **all** 指定条件语句可用于所有列表库和文档库类型。

  • **doclib** 指定仅当工作流与文档库关联时,才对工作流编辑器可见条件语句。 如果工作流与任何其他类型的列表相关联,则条件语句将从工作流编辑器中隐藏。

  • **list** 指定仅当工作流与 SharePoint 列表关联时,才对工作流编辑器可见条件语句。 如果工作流与列表类型以外的任何类型相关联,则条件语句将从工作流编辑器中隐藏。

  • **none** 指定在工作流编辑器中隐藏条件语句。

**装配**

必需 **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”。

以下值不区分大小写:

  • **Custom** 用于将当前 SharePoint 列表或文档库项目中的值与工作流设计器指定的值进行比较。

  • **Advanced** 用于指示 **Condition** 可用于比较任何类型的两个值, (例如文本、整数和日期) 。

**UsesCurrentItem**

可选 **Boolean**。 指定当前所选的项目与工作流相关联。

值类型:**布尔值**。

如果设置为 “true”,则工作流绑定到启动工作流实例的 SharePoint 列表项或文档库项。 使用声明性的无代码工作流编辑器时,此值始终返回 true ,并且无法更改。

子元素

RuleDesigner

参数

父元素

条件

示例

下面的示例演示如何在工作流设计过程中对无代码编辑器公开 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>

另请参阅