函数从SP上的列表中检索项目
Function to retrieve items from a lists on SP
我试图从Sharepoint列表中提取数据来创建一些图形,我需要一个函数来从列表中提取项目,我可以在列表名称等参数中插入,以及我想提取的列名。因此,我可以实例化一个函数:extractData (listName, ColumnTitle1, ColumnTitle2),以便通过实例化该函数轻松地从不同的列表中提取。
function retrieveListItems() {
var clientContext = new SP.ClientContext(siteUrl);
var list1 = clientContext.get_web().get_lists().getByTitle("List_Name");
var camlQuery = new SP.CamlQuery();
camlQuery.set_viewXml('<View><Query><Where><Geq><FieldRef Name=''ID''/>' +
'<Value Type=''Number''>1</Value></Geq></Where></Query><RowLimit>200</RowLimit></View>');
this.collListItem = list1.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();
for (var i = 1; i<column1Titles.length;i++){
myArray1[i].push(oListItem.get_item(column1Titles[i]));
}
}
Graph("holder", global1[1], "High Risk Project", global1[2], "Yes");
// This instantiates my graph, I need something like this but to extract the data.
}
function onQueryFailed(sender, args) {
alert('Request failed. ' + args.get_message() + ''n' + args.get_stackTrace());
} // end of fail
你的代码不是很清楚。你想往你的阵列里塞什么?如果你的列表有三列(ID, Title, Amount)和三行,那么你的数组就会像这样
[0] = 1; // ID
[1] = "Some stuff"; // Title
[2] = 25; // amount
[3] = 2; // ID
[4] = "Something"; // Title
[5] = 15; // Amount
[6] = 3; // ID
[7] = "Something else"; // Title
[8] = 36; // Amount
我不认为这真的有意义,不是吗?也许你想让1行= 1行。那么这个数组就是这样的:
[0][0] = 1;
[0][1] = "Some stuff"; // Title
[0][2] = 25; // amount
[1][0] = 2; // ID
[1][1] = "Something"; // Title
[1][2] = 15; // Amount
[2][0] = 3; // ID
[2][1] = "Something else"; // Title
[2][2] = 36; // Amount
如果是这样的话,你的循环将是这样的:
var myArray1=[],j=0;
while (listItemEnumerator.moveNext()) {
var oListItem = listItemEnumerator.get_current();
myArray1[j]=[];
for (var i = 1; i<column1Titles.length;i++){
myArray1[j].push(oListItem.get_item(column1Titles[i]));
}
}
顺便说一句,微软的API太难用了^^我创建了一个API: http://aymkdn.github.io/SharepointPlus/好用。你的代码看起来像我的库:
$SP().list("list_name").get({fields:column1Titles, rowlimit:"200", where:"ID >= 1"}, function(data) {
var myArray1=[];
for (var i=0, len=data.length; i < len; i++) {
myArray1[i]=[];
for (var c=0; c < column1Titles.length; c++)
myArray1[i].push(data[i].getAttribute(column1Titles[c]));
}
Graph("holder", global1[1], "High Risk Project", global1[2], "Yes");
})
相关文章:
- 正在将数据主题添加到所有项目
- 使用JSP从服务器检索和显示图像
- 通过Magento的网络服务检索运费
- 动态地改变“”的URL;添加新项目”;链接使用javascript/jquery
- 使用ASP.NET将谷歌地图添加到项目中,并从数据库中检索位置
- Firebase-正在从推送项目中检索数据
- 检索当前日期之后的项目
- 解析 - 仅检索具有匹配 ACL 的项目
- 将项目吐到不同的数组中并将其检索回来
- 如何存储拖动&将项目放入cookie,然后在另一个页面中检索
- 使用POST从DB中检索指定的项目
- 如何从Google Apps脚本项目属性中存储和检索对象
- 按顺序从chrome.storage检索多个项目
- Meteor仅为集合中的所有项目检索一个图像
- 剑道组合框检索选定项目与虚拟
- 在$http上检索数组并在离子列表的离子项目中查看
- 如果存在数组的元素,则从 mongodb 集合中检索项目(meteor js)
- Dojo拖放:如何检索项目的顺序
- 函数从SP上的列表中检索项目
- 如何使用“this”从选定项目检索id