SharePointCommunity
Die deutschsprachige Community für SharePoint, Microsoft 365, Teams, Yammer und mit Azure

Sponsored by

Willkommen im Forum Archiv.
Einträge sind hier nicht mehr möglich, aber der Bestand von 12 Jahren SharePoint-Wissen ist hier recherchierbar.




Spalte editieren

Geprüfte Antwort Dieser Beitrag hat 4 Antworten

Ohne Rang
82 Beiträge
Tim K. erstellt 3 Jan. 2011 14:03
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo liebe Community,

ich möchte in meiner SPBibliothek die Spalte "Geändert von" über folgenden Code bearbeiten:

            ClientContext clientContext = new ClientContext("http://myserver/test");
            Web web = clientContext.Web;
            List list = web.Lists.GetByTitle("test4");
            ListItemCollection allItems = list.GetItems(new CamlQuery()
            {
                ViewXml = @" <View>
                                <Query>
                                    <Where>
                                        <Geq>
                                            <FieldRef Name='FileLeafRef'/>
                                            <Value Type='Integer'>test2</Value>
                                        </Geq>
                                    </Where>
                                </Query>
                               <RowLimit>100</RowLimit>
                            </View>"
            });

            clientContext.Load(allItems);

            clientContext.ExecuteQuery();

            if (allItems != null && allItems.Count > 0)
            {
                ListItem item = allItems[0];
                item["Geändert von"] = "mir";
                item.Update();

                clientContext.ExecuteQuery();
            }

Spalten vom Typ "eine Textzeile" kann ich damit mühelos bearbeiten, aber die Spalte "Geändert von" ist vom Typ "Person oder Gruppe". Die Fehlermeldung besagt, dass die Spalte nicht vorhanden ist.

Bin für Hinweise dankbar :)

LG

Alle Antworten

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 3 Jan. 2011 16:30
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Schau Dir mal im Debugger an welchen Typ die Spalte enthält (ich weiß es gerade nicht auswendig). Zuweisung des Loginnamens sollte aber funktionieren.

Die Spalte "Geändert von" kann man allerdings nicht setzen, weil das von SharePoint bei jeder Änderung automatisch gemacht wird.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
82 Beiträge
Tim K. Als Antwort am 3 Jan. 2011 17:11
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Gut, die Spalte finde ich jetzt, doch ich kann den Eintrag noch nicht editieren

(Es wurden ungültige Daten zur Aktualisierung des Listeneintrags verwendet. Das Feld, das Sie aktualisieren möchten, ist möglicherweise schreibgeschützt.)

Deshalb wollte ich mir überhaupt mal ansehen, was aktuell drinnen steht. Doch wenn ich mir das in einer Variablen ausgeben lasse, wird "Microsoft.SharePoint.Client.FieldUserValue" zurückgegeben. Ist das so richtig ? Eigentlich sollte da ja der Benutzer drinne stehen.

Ich nutze dafür visual studio 2010 Version 4.0.

"Der Weise lernt mehr von der Frage eines Dummen, als der Dumme eines Weisen".

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 3 Jan. 2011 17:37
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Genau das ist der Punkt. Im Feld steht etwas vom Typ FieldUserValue und genau das mußt Du auch wieder reinschreiben.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
82 Beiträge
Tim K. Als Antwort am 4 Jan. 2011 10:44
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

achso, alles klar ^^

einfach variable von dem typ definieren und mit z.B.

                FieldUserValue          h;

                h = FieldUserValue.FromUser("Der Benutzer");
                item["Spalte"] = h;

Danke läuft prima :)

"Der Weise lernt mehr von der Frage eines Dummen, als der Dumme eines Weisen".