Problema di smistamento SpQuery.
-
12-11-2019 - |
Domanda
Ho questo SpliStem.Folder in SharePoint che contiene una proprietà denominata "ID Asset".
Ho questi dati nella mia lista
.
Asset ID | Name | Asset Type
1 | GamesFolder | Games
2 | AppsFolder | softwares
3 | MusicFolder | music
Nel mio codice ho fatto questo
.
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();
Io uso .Folder perché ogni voce nell'elenco è un documentazione. Il valore restituito è sempre "1".Non so cosa c'è che non va perché il mio smistamento non funziona affatto.
Aiutami a risolvere questo problema.Grazie.
Soluzione
Ciao Carls Penso che ci sia un problema per il nome del campo.U includi spazio nel nome del campo
Se si desidera evitare di dover cercare quale sia il nome interno di un particolare campo, quando si chiama la colonna, non includere spazi o caratteri speciali.Una volta creato il campo (colonna), tornare indietro e rinominare il campo per includere gli spazi o i caratteri speciali come desiderato.SharePoint manterrà ancora il nome del campo originale senza spazi e puoi utilizzarlo direttamente nella tua query senza problemi.
Altri suggerimenti
o Usa il suo nome interno:
query.query="
Un po 'tardi ma se stai avendo problemi, potresti essere in grado di utilizzare tutte o una parte del seguente GIST: https://gist.github.com/trgraglia/4672176
E come afferma la risposta accettata, il nome del campo è il problema.È necessario utilizzare il nome statico del campo.Il nome statico rimarrà sempre lo stesso.Anche se la colonna è rinominata.Quindi è necessario ottenere la colonna dalla collezione di colonne tramite il nome visualizzata e quindi ottenere il nome statico dalle proprietà.