您好我尝试使用特定字段填充数组。但我总是得到:The property or field has not been initialized. It has not been requested or the request has not been executed. It may need to be explicitly requested.
我在Sharepoint 2013上使用sharepoint的内部名称。我认为我的Caml查询有问题。
以下是我使用的代码:
function retrieveListItems(siteUrl) {
var clientContext = new SP.ClientContext(siteUrl);
var oList = clientContext.get_web().get_lists().getByTitle('MatrixFiles');
var camlQuery = new SP.CamlQuery();
camlQuery.set_viewXml('<View><ViewFields><FieldRef Name="LinkFilename" /><FieldRef Name="WebCountry" /><FieldRef Name="WebDepartment" /><FieldRef Name="FileLeafRef" /></ViewFields><Query><OrderBy><FieldRef Name="LinkFilename" /></OrderBy></Query></View>');
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 listItemInfo = '';
var array = [];
var listItemEnumerator = this.collListItem.getEnumerator();
while (listItemEnumerator.moveNext()) {
var oListItem = listItemEnumerator.get_current();
console.log(oListItem);
array.push(oListItem);
}
alert(oListItem.get_item('LinkFilename'));
}
奇怪的是数组被SPListItems填充,但是当我尝试在警报中使用特定字段时,会发生错误。不知道为什么......
任何帮助对你的时间来说都很棒。
BTW我使用了SP Caml Query helper。
答案 0 :(得分:1)
我想这个错误正在发生,因为尚未加载sp.js脚本。
尝试:
int myfunc(int n)
{ int result = 0;
for (int i = 0; i<n; i++)
for (int j = i; j>0; j--)
if (i%j == 0)
result += j;
return result;
}
此答案可能会有所帮助:SharePoint 2013 add javascript after whole page load
答案 1 :(得分:1)
尝试使用 FileLeafRef 。 LinkFilename是一个无效的计算字段。