0

我希望 Sharepoint 2013 应用程序在首次运行时以编程方式创建企业自定义字段。

我摆弄了以下代码片段,但它不起作用

var projContext = PS.ProjectContext.get_current();
function AddCustomField() {
    $('#message').text('Adding Custom Field...');
    var object_to_add = new PS.CustomFieldCreationInformation();
    object_to_add.FieldType = CustomFieldType.Text;
    object_to_add.Name = "New_one";
    object_to_add.Description = "test description";
    projContext.CustomFieldCollection.add(object_to_add);
}

任何帮助,将不胜感激!

4

1 回答 1

1
var projContext = PS.ProjectContext.get_current();
var fieldType = PS.CustomFieldType.TEXT;
var customfields = projContext.get_customFields();
var entityTypes = projContext.get_entityTypes();
var projEntity = entityTypes.get_projectEntity();
var resourceEntity = entityTypes.get_resourceEntity();
var taskEntity = entityTypes.get_taskEntity();

projContext.load(customfields);
projContext.load(entityTypes);
projContext.load(projEntity);
projContext.load(resourceEntity);
projContext.load(taskEntity);

projContext.executeQueryAsync(QuerySucceeded, QueryFailed);

CreateField("Test", "Test", fieldType, projEntity);

function CreateField(name, description, fieldtype, entitytype) {
    var customfieldInfo = new PS.CustomFieldCreationInformation();
    customfieldInfo.set_description(description);
    customfieldInfo.set_name(name);
    customfieldInfo.set_fieldType(fieldtype);
    customfieldInfo.set_entityType(entitytype);

    customfields.add(customfieldInfo);
    customfields.update();
    projContext.load(customfields);
    projContext.executeQueryAsync(QuerySucceeded, QueryFailed);

}
于 2014-12-17T12:28:17.033 回答