首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SPQuery排序问题

SPQuery排序问题
EN

Stack Overflow用户
提问于 2012-02-24 09:30:41
回答 3查看 1.6K关注 0票数 0

我在sharepoint中有这个SPListItem.Folder,它包含一个名为"Asset“的属性。

我的列表中有这些数据,

代码语言:javascript
复制
Asset ID  |     Name      |  Asset Type 
    1     |  GamesFolder  |    Games
    2     |  AppsFolder   |    softwares
    3     |  MusicFolder  |    music

在我的代码中我做了这个

代码语言:javascript
复制
SPList objList = web.Lists["MyList"];
SPQuery query = new SPQuery();

query.Query = "<OrderBy><FieldRef Name='Asset ID' Ascending='FALSE'/></OrderBy>";
query.ViewAttributes = "Scope=\"Recursive\"";               
query.RowLimit = 1;

SPListItemCollection items = objList.GetItems(query);

return objList.Items[0].Folder.Properties["Asset ID"].ToString();

我使用.Folder,因为列表中的每个条目都是DocumentSet。返回的值总是"1“。我不知道怎么回事,为什么我的分类不起作用。

请帮我解决这个问题。谢谢。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-02-24 10:29:17

嗨,Carls,我想有关于字段名的问题。U在字段名中包含空格。

如果您想避免找出特定字段的内部名称,当您给列起名时,不要包含任何空格或特殊字符。创建字段(列)后,返回并重命名该字段,以包括所需的空格或特殊字符。SharePoint仍将保留原始字段名,不带空格,您可以在查询中直接使用该字段名而不存在任何问题。

票数 1
EN

Stack Overflow用户

发布于 2013-12-06 00:44:21

或者使用它的internalName:

query.Query = "";

票数 0
EN

Stack Overflow用户

发布于 2014-10-07 17:01:17

有点晚,但如果您有问题,您可能可以使用以下要点的全部或部分:https://gist.github.com/trgraglia/4672176

正如公认的答案所述,字段名是问题所在。您需要使用该字段的静态名称。静态名称将始终保持不变。即使该列被重命名。因此,您应该通过显示名称从列集合中获取列,然后从属性中获取静态名称。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9428361

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档