SharePoint ist die CAML-Abfrage, die in der "Erstellt Von" - Feld mit Benutzername
Hey, ich habe ein Formular für die Administratoren, wo Sie legen Sie einen Benutzernamen ("Domäne\name") und den code bekommt und legt einige Informationen aus ihm heraus.
Es ist ein riesiges Projekt und einige der Listen enthalten, die den Benutzernamen als string ("Domäne\name"), aber einige Listen zählen nur auf das "Erstellt Von" - Spalte wird automatisch erstellt.
Ich will wissen, was ist die Schnellste Art eine Abfrage dieser Listen unter Verwendung der username string. Ich habe versucht, die gleiche Abfrage wie die, die ich für die erste Art von Listen, und es offensichtlich nicht funktioniert hat -
<Where><Eq><FieldRef Name='UserName'/><Value Type='Text'>domain\\username</Value></Eq></Where>
Danke.
InformationsquelleAutor yellowblood | 2010-05-20
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es zwei verschiedene "Erstellt Von" - Felder, eine für alle Positionen und eine speziell für Dokumentbibliotheken ("Dokument Erstellt Von"). Der interne name für die "Erstellt Von" - Feld ist "Autor", so
<FieldRef Name='Author'/>
wäre der beste start. Das zweite Feld, das der Autor von der eigentlichen Datei in einem Dokument Bibliothek, hat einen internen Namen "Created_x0020_By". Ausgehend von Ihrem Szenario ich habe das Gefühl, Sie brauchen nur das erstere, sondern das letztere ist gut zu wissen jedenfalls, da die Daten in Ihnen gespeichert ist anders."Erstellt Von" ist ein Benutzer-Feld, so dass die string-version seine Daten
ID;#Full Name
. Inzwischen ist "Dokument Erstellt Von" ist ein text-Eingabefeld für eine einzelne Textzeile, und seine Daten gespeichert ist, als den eigentlichen Benutzernamen (mit Domäne, falls vorhanden). Also deine obige Abfrage funktioniert in dem Fall von einem Dokument Bibliothek, und Suche auf<FieldRef Name='Created_x0020_By'/>
. Wenn Sie wollte, um die Suche auf das "Erstellt Von" - Feld, aber Sie haben etwas kniffliger zu sein, aber Sie sollten in der Lage sein, um es zu erreichen, durch einen Verweis auf die SharePoint-ID des Benutzers. Der folgende Code ist ein Beispiel für eine andere Benutzer-Feld-Abfrage, die ich verwende, zum Vergleich.Diese gezielt herausgefiltert, die der aktuelle Benutzer. Verwenden Sie es für Ihre Zwecke verwenden, ersetzen Sie 'AssignedTo' mit 'Autor' und
<UserID Type='Integer' />
mit der ID des Benutzers in Frage.nvm, es behoben. Beim Abfragen der "Autor" - Spalte ID, müssen Sie einen "LookupId=" True "Attribut" der "FieldRef-Element-tag". Arbeiten, vielen Dank!
InformationsquelleAutor Grace Note
Ich würde empfehlen, die folgenden:
Holen Sie sich die SharePoint-Benutzer durch aufrufen der EnsureUser-Methode, D. H.:
Abfrage der Liste mit der ID des SharePoint-Benutzer:
Feuer der Abfrage für die Liste
InformationsquelleAutor Mr_T