Compartilhar via


SPFieldWorkflowStatus.GetFieldValueAsText method

Converte o valor do campo em uma cadeia de caracteres de texto.

Namespace:  Microsoft.SharePoint
Assembly:  Microsoft.SharePoint (in Microsoft.SharePoint.dll)

Syntax

'Declaração
Public Overrides Function GetFieldValueAsText ( _
    value As Object _
) As String
'Uso
Dim instance As SPFieldWorkflowStatus
Dim value As Object
Dim returnValue As String

returnValue = instance.GetFieldValueAsText(value)
public override string GetFieldValueAsText(
    Object value
)

Parâmetros

  • value
    Type: System.Object

    Um objeto que representa o valor do campo.

Valor retornado

Type: System.String
Uma representação de cadeia de caracteres de um inteiro de 32 bits.

Comentários

Quando você acessa diretamente a um campo, o valor do campo será retornado enquanto digita Object. Você pode usar o método GetFieldValueAsText para converter o valor do campo brutos ao texto de status correspondente.

Um campo de WorkflowStatus é um campo de várias opções e cada opção representa um status, conforme definido no modelo de fluxo de trabalho. Você pode obter uma lista de opções de status chamando o método de GetStatusChoices do modelo ou acessando a propriedade Choices do objeto SPFieldWorkflowStatus .

As opções de status do fluxo de trabalho de três estados serão listadas na tabela a seguir.

Valor do campo

Texto de status

0

Iniciando

1

Falha na inicialização

2

Em andamento.

3

Erro ocorreu

4

Cancelado

5

Concluído

6

Falha ao iniciar (tentando novamente)

7

Ocorreu um erro (tentando novamente)

Examples

O exemplo a seguir é um aplicativo de console que leva a um item de uma lista, acessa o campo WorkflowStatus do item e imprime o valor bruto do campo e o texto de status correspondente.

O aplicativo pressupõe que o site tem uma lista de chamada "Test List" e se a lista possui associação pelo menos um fluxo de trabalho e um item da lista.

Imports System
Imports Microsoft.SharePoint
Imports Microsoft.SharePoint.Workflow

Module ConsoleApp
   Sub Main()
      Using site As SPSite = New SPSite("https://localhost")
         Using web As SPWeb = site.OpenWeb()

            Dim listName As String = "Test List"

            Dim list As SPList = web.Lists(listName)
            Dim association As SPWorkflowAssociation = list.WorkflowAssociations(0)
            Dim fieldName As String = association.Name

            Dim statusField As SPFieldWorkflowStatus = _
               CType(list.Fields.GetField(fieldName), SPFieldWorkflowStatus)

            ' Get the first item in the list.
            Dim item As SPListItem = list.Items(0)

            ' Get the value of the WorkflowStatus field.
            Dim value As Object = item(fieldName)

            ' Print the field value and corresponding text.
            Console.WriteLine("The value of the field is {0}, which means '{1}'.", _
                               value.ToString(), statusField.GetFieldValueAsText(value))
         End Using
      End Using
      Console.Write(vbCrLf + "Press ENTER to continue...")
      Console.ReadLine()
   End Sub
End Module
using System;
using Microsoft.SharePoint;
using Microsoft.SharePoint.Workflow;

namespace Test
{
   class ConsoleApp
   {
      static void Main(string[] args)
      {
         using (SPSite site = new SPSite("https://localhost"))
         {
            using (SPWeb web = site.OpenWeb())
            {
               string listName = "Test List";

               SPList list = web.Lists[listName];
               SPWorkflowAssociation association = list.WorkflowAssociations[0];
               string fieldName = association.Name;

               SPFieldWorkflowStatus statusField = 
                  list.Fields.GetField(fieldName) as SPFieldWorkflowStatus;

               // Get the first item in the list.
               SPListItem item = list.Items[0];

               // Get the value of the WorkflowStatus field.
               object value = item[fieldName];

               // Print the field value and corresponding text.
               Console.WriteLine("The value of the field is {0}, which means '{1}'.",
                                 value.ToString(), statusField.GetFieldValueAsText(value));
            }
         }
         Console.Write("\nPress ENTER to continue...");
         Console.ReadLine();
      }
   }
}

O aplicativo imprime parecido com o seguinte texto no console. (Saída varia dependendo do status do fluxo de trabalho no primeiro item da lista).

The value of the field is 2, which means 'In Progress'.

Press ENTER to continue...

Ver também

Referência

SPFieldWorkflowStatus class

SPFieldWorkflowStatus members

Microsoft.SharePoint namespace

GetFieldValueAsHtml(Object)