Compartilhar via


SPFieldCalculated class

Representa um campo calculado em uma lista.

Inheritance hierarchy

System.Object
  Microsoft.SharePoint.SPField
    Microsoft.SharePoint.SPFieldCalculated

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

Syntax

'Declaração
Public Class SPFieldCalculated _
    Inherits SPField
'Uso
Dim instance As SPFieldCalculated
public class SPFieldCalculated : SPField

Comentários

Se você definir as propriedades da classe SPFieldCalculated , você deve chamar o método Update para que as alterações tenham efeito no banco de dados.

Use a propriedade Formula para implementar uma fórmula em um campo calculado. Para obter informações sobre os diferentes tipos de fórmulas que você pode usar, consulte Calculated Field Formulas.

Dica

Windows SharePoint Services 3.0 não oferece suporte para herdar dessa classe.

Examples

O exemplo a seguir cria um campo calculado em uma lista e o adiciona ao modo de exibição. O campo calculado exibe "Sim" se o valor de MyColumn2 é maior do que MyColumn1.

Dim webSite As SPWeb = SPContext.Current.Site.AllWebs("MyWebSite")
Try
    Dim list As SPList = webSite.Lists("MyList")
    Dim fields As SPFieldCollection = list.Fields

    Dim newFieldName As String = fields.Add("MyNewColumn", SPFieldType.Calculated, False)
    Dim newField As SPFieldCalculated = CType(fields(newFieldName), SPFieldCalculated)
    newField.Formula = "=[MyColumn1]<[MyColumn2]"
    newField.Update()

    Dim view As SPView = list.Views("MyView")
    Dim viewFields As SPViewFieldCollection = view.ViewFields
    viewFields.Add(newFieldName)
    view.Update()
Finally
    webSite.Dispose()
End Try
using (SPWeb oWebsite = SPContext.Current.Site.AllWebs["Website_Name"])
{
    SPList oList = oWebsite.Lists["MyList"];
    SPFieldCollection collFields = oList.Fields;

    string strNewFieldName = collFields.Add("MyNewColumn", 
        SPFieldType.Calculated, false);
    SPFieldCalculated strNewField =       
        (SPFieldCalculated)collFields[strNewFieldName];
    strNewField.Formula = "=[Column1]<[Column2]";
    strNewField.Update();

    SPView oView = oList.Views["MyView"];
    SPViewFieldCollection collViewFields = oView.ViewFields;
    collViewFields.Add(strNewFieldName);
    oView.Update();
}   

Dica

Determinados objetos implementam a interface IDisposable , e você deve evitar reter esses objetos na memória depois que eles não são mais necessários. Para obter informações sobre boas práticas de codificação, consulte Disposing Objects.

Thread safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Ver também

Referência

SPFieldCalculated members

Microsoft.SharePoint namespace