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.




set PeopleEditor.CommaSeparatedAccounts

Geprüfte Antwort Dieser Beitrag hat 2 Antworten

Ohne Rang
194 Beiträge
Florian Lippert erstellt 11 Aug. 2011 11:16
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo zusammen,

ich habe leider ein Problem, den CommaSeparatedAccounts Wert eines PeopleEditor zu setzen...

Das merkwürdige ist: An einder Stelle funktioniert das ganze an einer anderen jedoch nicht.

Im PageLoad funktioniert das ganze so:

[quote]

Bearbeiter.CommaSeparatedAccounts = ""; //Bearbeiter = PeopleEditor

foreach (PickerEntity thisOne in merkeBearbeiter)
{
     //Die Namen in das Feld schreiben
     Bearbeiter.CommaSeparatedAccounts += thisOne.DisplayText + ",";
 }

[/quote]

Bei einem Click-Event mache ich es so, aber es funktioniert nicht:

[quote]

string [] splitter = new string [] { ";#" };

string [] bearbeiterParts = meinListenItem["Bearbeiter"].ToString().Split(splitter, StringSplitOptions.RemoveEmptyEntries); //meinListenItem = SPListItem
for (int i = 1; i < bearbeiterParts.Length; i += 2)
{
    Bearbeiter.CommaSeparatedAccounts += bearbeiterParts[i] + ",";
}

[/quote]

Das ergebnis ist, dass alle Namen direkt hintereinander weggeschreiben werden und somit als EIN name erkannt wird... (Person1Person2Person3Person4 usw.)

Bei der Erstellung des ListeItems habe ich die Personen mit einem PeopleEditor ermittelt - also (müssten) die Namen vorhanden sein!

Ich kann mir ehrlichgesagt nicht vorstellen, dass es daran liegt, dass ich einmal nur mit Strings arbeite (im Click-Event) und an anderer Stelle mit den PickerEntitys (im PageLoad) und mir da ebenfalls nur nen String geben lasse... Ich lasse mich aber genre eines besseren belehren ;-)

Ich hoffe mir kann jemand sagen woran das liegt. Vielen Dank!

Vg

Alle Antworten

Ohne Rang
194 Beiträge
Florian Lippert Als Antwort am 11 Aug. 2011 11:41
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Kaum postet man etwas, ist es schon wieder "veraltet" :P

Bei dem Code im PageLoad bekomme ich nun das ergebnis, dass NUR der zu letzt eingetragene Wert drin ist oO

Ohne Rang
194 Beiträge
Florian Lippert Als Antwort am 12 Aug. 2011 11:52
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

-.- es könnte alles doch so einfach sein...

[quote]

ArrayList Bearbeiter = new ArrayList();

 string [] splitter = new string [] { ";#" };
string [] bearbeiterParts = myItem["Bearbeiter"].ToString().Split(splitter, StringSplitOptions.RemoveEmptyEntries);


            for (int i = 1; i < bearbeiterParts.Length; i += 2)
            {
                PickerEntity newEnt = new PickerEntity();
                newEnt.Key = bearbeiterParts[i];
                newEnt.DisplayText = bearbeiterParts[i];
                Bearbeiter.Add(newEnt);
            }


            BearbeiterPE.UpdateEntities(Bearbeiter);

[/quote]

so funktioniert es bei mir komplett...