Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Gets or sets the roll-up type for a custom field.
Namespace: WebSvcCustomFields
Assembly: ProjectServerServices (in ProjectServerServices.dll)
Syntax
'Declaration
Public Property MD_AGGREGATION_TYPE_ENUM As Byte
Get
Set
'Usage
Dim instance As CustomFieldDataSet.CustomFieldsRow
Dim value As Byte
value = instance.MD_AGGREGATION_TYPE_ENUM
instance.MD_AGGREGATION_TYPE_ENUM = value
public byte MD_AGGREGATION_TYPE_ENUM { get; set; }
Property value
Type: System.Byte
A number that represents a roll-up type.
Remarks
Set MD_AGGREGATION_TYPE_ENUM with the CustomField.SummaryRollup enumeration.
Examples
The following example uses CustomFieldWS as the name of a web reference to the Custom Fields web service (https://ServerName/ProjectServerName/_vti_bin/psi/CustomFields.asmx). The btnCustomField_Click event handler is for a button on a Windows Form application, such as LoginDemo in the Project SDK download.
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;
}
See also
Reference
CustomFieldDataSet.CustomFieldsRow class
CustomFieldDataSet.CustomFieldsRow members