2016-04-27 84 views

回答

0

您可以使用下面的代碼創建並使用查找表更新自定義字段。但是我們無法更新或刪除內置自定義字段

var projContext = new ProjectContext(projectServerUrl); 

CustomFieldCollection CustomField = projContext.CustomFields; 
EntityTypes Entitytype = projContext.EntityTypes; 
LookupTableCollection lookupTables = projContext.LookupTables; 
projContext.Load(CustomField); 
projContext.Load(Entitytype); 
projContext.Load(lookupTables); 
projContext.ExecuteQuery(); 

CustomFieldCreationInformation NewfieldInfo = new CustomFieldCreationInformation(); 
NewfieldInfo.Id = new Guid(); 
NewfieldInfo.Name = "The Name"; 
NewfieldInfo.Description = "The Description"; 
NewfieldInfo.IsWorkflowControlled = true; 
NewfieldInfo.IsRequired = true; 
NewfieldInfo.IsEditableInVisibility = false; 
NewfieldInfo.IsMultilineText = false; 

LookupTable lookuptable = lookupTables.ToList().Find(x => x.Name == "LookupTableName"); 
projContext.Load(lookuptable); 
projContext.ExecuteQuery(); 
NewfieldInfo.LookupTable = lookuptable; 

NewfieldInfo.EntityType = Entitytype.ProjectEntity; 
NewfieldInfo.FieldType = CustomFieldType.TEXT; 

projContext.CustomFields.Add(NewfieldInfo); 
projContext.CustomFields.Update(); 
projContext.ExecuteQuery(); 
相關問題