我有一个包含n个列数的SharePoint列表。我想获得列表中的第5行,例如使用SharePoint Web服务。我搜索了互联网并找到了一些代码,但很难理解查询语法。我不能指定列表的单行吗?任何建议?使用Sharepoint Web服务获取一行SharePoint列表
0
A
回答
1
SPServices的语法真的不容易。我创建了一个名为SharepointPlus的JavaScript库,允许执行类似SQL的查询。
的JavaScript代码(已加载jQuery和SharepointPlus之后)会是这样的:
var row=5; // I assume that when you say "row #5", you mean the item with the ID = 5
$SP().list("Name of your list").get({fields:"NameField",where:"ID = "+row}, function(data) {
if (data.length===0) alert("The item with ID = "+row+" doesn't exist!")
else alert("NameField = "+data[0].getAttribute("NameField"))
})
0
使用SPServices您可以使用下面的代码:
$(window).ready(function() {
GetItemsFromList();
});
function GetItemsFromList()
{
$().SPServices({
operation: "GetListItems",
async: false,
listName: "MyTestList",
CAMLViewFields: "<ViewFields><FieldRef Name='Title' /><FieldRef Name='Name' /></ViewFields>",
CAMLQuery: "<Query><Where><Eq><FieldRef Name='ID'/><Value Type='Number'>5</Value></Eq></Where></Query>",
completefunc: function (xData, Status) {
// $(xData.responseXML).SPFilterNode("z:row").each(function() {
$(xData.responseXML).find("z\\:row,row").each(function() {
var liHtml = "<li>" + $(this).attr("ows_Title") + " " + $(this).attr("ows_Name") + "</li>";
$("#tasksUL").append(liHtml);
alert(liHtml);
});
}
});
}
在上面的代码我获取id = 5的项目,或者您可以从列表中获取所有项目并从数据表中获取第5行。 您可以通过更改查询到在上面的代码如下得到列表中的所有项目:
CAMLViewFields: "<ViewFields><FieldRef Name='Title' /><FieldRef Name='Name' /></ViewFields>"
您还可以使用客户端对象模型。以下是使用ECMA脚本的代码:
ExecuteOrDelayUntilScriptLoaded(retrieveListItems, "sp.js");
function retrieveListItems()
{
var clientContext = new SP.ClientContext();
var siteColl = clientContext.get_site();
var oList = siteColl.get_rootWeb().get_lists().getByTitle('MyTestList');
var camlQuery = new SP.CamlQuery();
camlQuery.set_viewXml("<View><Query><Where><Eq><FieldRef Name='ID' /><Value Type='Number'>5</Value></Eq></Where></Query><ViewFields><FieldRef Name='Title'/></ViewFields></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 listItemEnumerator = collListItem.getEnumerator();
var currentitemtitle = "";
while (listItemEnumerator.moveNext())
{
var oListItem = listItemEnumerator.get_current();
currentitemtitle = currentitemtitle + oListItem.get_item('Title') ;
}
}
function onQueryFailed(sender, args)
{
alert('Request failed. ' + args.get_message() + '\n' + args.get_stackTrace());
}
在上面的代码中,我从列表中获取ID为5的项目。您也可以通过更改上面给出的查询来获取所有项目,然后遍历行获取第5行。
我希望这可以帮助..
相关问题
- 1. 使用Sharepoint Web服务从特定SharePoint站点获取userinfo
- 2. sharepoint web服务
- 3. SharePoint 2007:如何使用Web服务从列表名称获取列表URL?
- 4. SharePoint Web服务:需要在子站点获取列表
- 5. SharePoint Web部件和SharePoint Web服务
- 6. 从.NET访问Sharepoint列表Web服务
- 7. 获取SharePoint列表
- 8. SharePoint Web服务 - GetListItems
- 9. 如何编写SharePoint列表Web服务(Sharepoint 2007)
- 10. Sharepoint:如何使用Web服务获取列表的根文件夹地址?
- 11. Programaticaly使用Web服务在Sharepoint列表中创建新列:C#
- 12. LINQ to SharePoint问题与SharePoint Web服务
- 13. 使用SharePoint Web服务获取工作流状态
- 14. 使用Sharepoint Web服务获取站点ID
- 15. Sharepoint - Soap Web服务 - 给定列表名称,如何获取列表GUID?
- 16. SharePoint - 如何使用列表Web服务插入新项目?
- 17. 的Sharepoint:添加项目到列表中使用web服务
- 18. 使用SharePoint Web服务访问列表时出错
- 19. 的Sharepoint插入使用列表Web服务
- 20. 使用REST API获取Sharepoint 2013列表
- 21. SharePoint 2010 - 使用SOAP Web服务
- 22. 登录到SharePoint Web服务使用一个非FBA服务器
- 23. 如何使用SharePoint Web服务删除SharePoint子站点?
- 24. 使用Sharepoint Web服务从Sharepoint文档库下载文件
- 25. 如何使用FormsAuthentication连接到SharePoint列表服务以获取所有列表
- 26. 从URL获取SharePoint列表
- 27. 从sharepoint获取列表项
- 28. SharePoint自定义Web服务
- 29. 访问Sharepoint Web服务
- 30. SharePoint UserProfileService Web服务权限
如果是sharepoint 2010,您可以使用客户端对象模型。 –
以下任何建议是否对您有所帮助? –
我发现这样的事情,它的工作原理:query.InnerXml = “ ” + “<值类型= \” 计数器\ “>” +的rowNum +“ “; –