Pergunta

Eu tenho esse SPListItem.Folder no sharepoint que contém uma propriedade chamada "Asset ID".

Eu tenho esses dados na minha lista

Asset ID  |     Name      |  Asset Type 
    1     |  GamesFolder  |    Games
    2     |  AppsFolder   |    softwares
    3     |  MusicFolder  |    music

No meu código eu fiz isso

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();

Eu uso .Folder porque cada entrada na lista é um DocumentSet.O valor retornado é sempre “1”.Não sei o que há de errado por que minha classificação não funciona.

Por favor me ajude a resolver esse problema.Obrigado.

Foi útil?

Solução

Olá Carls, acho que há um problema com o nome do campo.Você inclui espaço no nome do campo

Se você quiser evitar ter que procurar qual é o nome interno de um determinado campo, ao nomear sua coluna pela primeira vez, não inclua espaços ou caracteres especiais.Depois que o campo (coluna) for criado, volte e renomeie o campo para incluir espaços ou caracteres especiais conforme desejado.O SharePoint ainda manterá o nome do campo original sem espaços e você poderá usá-lo diretamente em sua consulta sem problemas.

Outras dicas

ou use seu internalName:

query.Query = "<OrderBy><FieldRef Name='Asset_x0020_ID' Acrescentando='FALSE'/></OrderBy>";

Um pouco tarde, mas se você estiver tendo problemas, poderá usar toda ou parte da seguinte essência:https://gist.github.com/trgraglia/4672176

E como afirma a resposta aceita, o nome do campo é o problema.Você precisa usar o nome estático do campo.O nome estático sempre permanecerá o mesmo.Mesmo se a coluna for renomeada.Portanto, você deve obter a coluna da coleção de colunas pelo nome de exibição e, em seguida, obter o nome estático das propriedades.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top