我正在尝试检索列表的“描述”字段。这是SharePoint创建的默认字段,我无法删除或不需要它。 连接正常。
我的代码:
function getCoursesToDelete()
{
var clientContext = new SP.ClientContext(siteUrl);
var oList = clientContext.get_web().get_lists().getByTitle('CoursesToDelete');
var camlQuery = new SP.CamlQuery();
camlQuery.set_viewXml('<GetListItems><Query /><ViewFields><FieldRef Name="Description" /> </ViewFields><QueryOptions /></GetListItems>');
this.collListItem = oList.getItems(camlQuery);
clientContext.load(collListItem);
clientContext.executeQueryAsync(Function.createDelegate(this, this.onQuerySucceeded), Function.createDelegate(this, this.onQueryFailed));
}
然后:
function onQuerySucceeded(sender,args)
{
var listItemEnumerator = collListItem.getEnumerator();
while (listItemEnumerator.moveNext())
{
var oListItem = listItemEnumerator.get_current();
alert(oListItem.get_item('Description'));
}
}
答案 0 :(得分:1)
var context = new SP.ClientContext(siteUrl);
var list = context.get_web().get_lists().getByTitle(listTitle);
var field = list.get_fields().getByInternalNameOrTitle(fieldName);
field.set_required(false);
field.update();
context.executeQueryAsync(
function() {
console.log('Field has been set as optional');
},
function (sender, args) {
console.log(args.get_message());
}
);
var context = new SP.ClientContext(siteUrl);
var list = context.get_web().get_lists().getByTitle(listTitle);
var field = list.get_fields().getByInternalNameOrTitle(fieldName);
field.deleteObject();
context.executeQueryAsync(
function() {
console.log('Field has been deleted from a List');
},
function (sender, args) {
console.log(args.get_message());
}
);