Compartir a través de


de la propiedad CustomFieldDataSet.CustomFieldsRow.MD_PROP_TYPE_ENUM

Obtiene o establece el tipo de campo personalizado.

Espacio de nombres:  WebSvcCustomFields
Ensamblado:  ProjectServerServices (en ProjectServerServices.dll)

Sintaxis

'Declaración
Public Property MD_PROP_TYPE_ENUM As Byte
    Get
    Set
'Uso
Dim instance As CustomFieldDataSet.CustomFieldsRow
Dim value As Byte

value = instance.MD_PROP_TYPE_ENUM

instance.MD_PROP_TYPE_ENUM = value
public byte MD_PROP_TYPE_ENUM { get; set; }

Valor de propiedad

Tipo: System.Byte
Un tipo de campo personalizado.

Comentarios

[MD_PROP_TYPE_ENUM] puede ser uno de los siguientes tipos de campo personalizado: costo, fecha, duración, indicador, número o texto. Sólo un campo personalizado de tipo texto puede tener una tabla de consulta jerárquica. Un campo personalizado de indicador de tipo no puede utilizar una tabla de búsqueda. Establecer [MD_PROP_TYPE_ENUM] con la enumeración de Microsoft.Office.Project.Server.Library.CustomField.Type .

Ejemplos

En el siguiente ejemplo se utiliza CustomFieldWS como el nombre de una referencia web al servicio web de Campos personalizados (https://ServerName/ProjectServerName/_vti_bin/psi/CustomFields.asmx). El controlador de eventos btnCustomField_Click es para un botón de una aplicación de formulario de Windows, como LoginDemo en la descarga del SDK de Project.

using PSLibrary = Microsoft.Office.Project.Server.Library;
. . .
private Guid customFieldUid;
. . .
private void btnCustomField_Click(object sender, EventArgs e)
{
    string cfName = "Test Task Cost";
    Guid entityTypeUid = new Guid(PSLibrary.EntityCollection.Entities.TaskEntity.UniqueId);
    lookupTableUid = Guid.Empty;
    ltRowDefaultUid = Guid.Empty;
    byte cfType = (byte)PSLibrary.CustomField.Type.COST;
    byte rollup = (byte)PSLibrary.CustomField.SummaryRollup.Sum;

    customFieldUid = CreateCustomField(
        customFields, cfName,
        entityTypeUid, lookupTableUid, ltRowDefaultUid,
        cfType, rollup);
}

// Test method for creating a custom field.
public Guid CreateCustomField(
    CustomFieldsWS.CustomFields customFields,
    string cfName,
    Guid entityTypeUid,
    Guid lookupTableUid,
    Guid ltRowDefaultUid,
    byte cfType,
    byte rollup
    )
{
    CustomFieldsWS.CustomFieldDataSet customFieldDataSet =
        new CustomFieldsWS.CustomFieldDataSet();
    CustomFieldsWS.CustomFieldDataSet.CustomFieldsRow cfRow =
        customFieldDataSet.CustomFields.NewCustomFieldsRow();
    Guid cfUid = Guid.NewGuid();

    cfRow.MD_PROP_UID = cfUid;
    cfRow.MD_AGGREGATION_TYPE_ENUM = rollup;
    cfRow.MD_ENT_TYPE_UID = entityTypeUid;
    cfRow.MD_PROP_NAME = cfName;
    cfRow.MD_PROP_IS_REQUIRED = false;
    cfRow.MD_PROP_IS_LEAF_NODE_ONLY = false;
    cfRow.MD_PROP_TYPE_ENUM = cfType;

    if (lookupTableUid == Guid.Empty)
        cfRow.SetMD_LOOKUP_TABLE_UIDNull();
    else
        cfRow.MD_LOOKUP_TABLE_UID = lookupTableUid;

    if (ltRowDefaultUid == Guid.Empty)
        cfRow.SetMD_PROP_DEFAULT_VALUENull();
    else
        cfRow.MD_PROP_DEFAULT_VALUE = ltRowDefaultUid;

    customFieldDataSet.CustomFields.Rows.Add(cfRow);

    try
    {
        bool validateOnly = false;
        bool autoCheckIn = true;
        customFields.CreateCustomFields(customFieldDataSet, validateOnly, autoCheckIn);
    }
    catch (SoapException ex)
    {
        // Add exception handler for ex.
        cfUid = Guid.Empty;
    }
    catch (Exception ex)
    {
        // Add exception handler for ex.
        cfUid = Guid.Empty;
    }
    return cfUid;
}

Vea también

Referencia

clase CustomFieldDataSet.CustomFieldsRow

Miembros CustomFieldDataSet.CustomFieldsRow

Espacio de nombres WebSvcCustomFields

Otros recursos

How to: Create an Enterprise Custom Field