从包含通过术语存储存储值的列的SharePoint列表中获取值,可以通过以下步骤使用JavaScript实现:
SP.ClientContext
对象创建一个与SharePoint网站的客户端上下文连接。然后,使用SP.List
对象加载指定的列表。CamlQuery
对象创建一个查询,以获取包含特定术语值的列表项。可以使用SP.CamlQuery.createAllItemsQuery
方法创建一个查询,或者使用自定义的CAML查询。SP.List.getItems
方法执行查询,将查询结果返回到一个SP.ListItemCollection
对象中。SP.ListItemCollection
对象的getEnumerator
方法获取一个枚举器。使用while
循环遍历枚举器并获取每个列表项。get_item
方法和列的内部名称提取特定列的值。如果包含通过术语存储值的列是文本类型,则可以直接使用get_item
方法提取值。如果是通过术语存储的列是多值列,则需要使用SP.Taxonomy.TaxonomyFieldValueCollection
对象的方法提取值。下面是一个示例代码,演示如何通过JavaScript从包含通过术语存储存储值的列的SharePoint列表中获取值:
// 假设列表名称为"SampleList",列名为"TermColumn"
function retrieveValuesFromList() {
var context = new SP.ClientContext.get_current();
var list = context.get_web().get_lists().getByTitle("SampleList");
var query = new SP.CamlQuery();
query.set_viewXml("<View><Query><Where><IsNotNull><FieldRef Name='TermColumn' /></IsNotNull></Where></Query></View>");
var items = list.getItems(query);
context.load(items);
context.executeQueryAsync(function() {
var enumerator = items.getEnumerator();
while (enumerator.moveNext()) {
var listItem = enumerator.get_current();
var termColumnValue = listItem.get_item("TermColumn");
// 处理列的值
console.log(termColumnValue);
}
}, function(sender, args) {
console.log(args.get_message());
});
}
在以上代码中,可以使用context.executeQueryAsync
方法指定查询成功和失败时的回调函数,以及异常处理。对于包含通过术语存储的列,可以根据实际需要进行进一步的处理,例如解析多值列中的每个术语值。
需要注意的是,以上代码是使用SharePoint的JavaScript对象模型(JSOM)实现的,相关的API和对象名称可能会有所不同,具体可以参考腾讯云文档和相关开发文档进行适配。
腾讯云相关产品和文档链接:
领取专属 10元无门槛券
手把手带您无忧上云