Wednesday, December 23, 2015

SharePoint-hosted apps: Add Fields (Columns) to SharePoint List in Host Web using JSOM



var onQuerySucceeded = function(sender, args) {
    alert("List Field Updated");
}

var onQueryFailed = function (sender, args) {
    alert('Request failed. ' + args.get_message() + '\n' + args.get_stackTrace());
}

var createFields = function (listName) {
    var clientContext = new SP.ClientContext.get_current();
    var factory = new SP.ProxyWebRequestExecutorFactory(appWebUrl);
    context.set_webRequestExecutorFactory(factory);
    var parentContext = new SP.AppContextSite(clientContext, hostWebUrl);

    // Get List
    var list = parentContext.get_web().get_lists().getByTitle(listName);
    var fieldCollection = list.get_fields();

    /*
    $(fieldsCollection).each(function (index, fieldValue) {
        fieldCollection.addFieldAsXml(fieldValue, true, SP.AddFieldOptions.defaultValue);
    });*/
    
    fieldCollection.addFieldAsXml("", true, SP.AddFieldOptions.defaultValue);
    fieldCollection.addFieldAsXml("", true, SP.AddFieldOptions.defaultValue);
    clientContext.load(fieldCollection);

    clientContext.executeQueryAsync(onQuerySucceeded, onQueryFailed);

}

// Add custom columns to the SharePoint List in Host Web
createFields("Projects");


No comments:

Post a Comment