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.




Exception: Value does not fall within the expeted range bei Hinzufügen in eine Liste

Geprüfte Antwort Dieser Beitrag hat 15 Antworten

Ohne Rang
12 Beiträge
enVir0n erstellt 23 März 2010 14:26
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo zusammen,
ich arbeite momentan daran Daten aus einem Webpart in eine Liste zu schreiben nur immer tritt die oben genannte Exception auf. Ich habe mal ein wenig recherschiert und herausgefunden das es am Spaltennamen liegen könnte, dass ich diesen falsch eingebe.
Um dies vorzubeugen habe ich alle Spaltennamen aus der Übersicht kopiert und in mein Programm geschrieben danach trat der Fehler aber weiterhin auf.
Habt bitte ein wenig Verständnis dafür das dies unter Umständen eine doofe Frage ist nur bin ich was Sharepoint angeht noch ziemlich unerfahren.

Gruß
René

Alle Antworten

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 23 März 2010 15:44
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Da hilft wohl nur debuggen, um nähere Informationen zum Fehler zu bekommen. Spalten haben außerdem einen sichtbaren Displayname/Title und einen InternalName, der durchaus unterschiedlich sein kann. Viele Methoden des Objektmodells erwarten den internen Namen.

Den internen Namen siehst Du wenn Du in den Listeneinstellungen auf eine Spalte klickst. In der URL ganz hinten.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
12 Beiträge
enVir0n Als Antwort am 23 März 2010 16:12
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

kann es sein das es mit dem '_' zusammen hängt

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 23 März 2010 16:27
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Das kann mit allem möglichen zusammenhängen. Wenn man bei der Anlage einer Spalte Sonderzeichen benutzt, dann erhält man einen internen Namen, bei dem diese Codiert sind.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
12 Beiträge
enVir0n Als Antwort am 23 März 2010 16:43
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

kann ich dann einfach den internen namen kopieren oder ist das nicht so einfach?

Ohne Rang
12 Beiträge
enVir0n Als Antwort am 23 März 2010 16:44
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Also ich habe das jetzt mal debuggt

Mein Programm ist an dem Punkt in den catch Block gesprungen als ich mich mit der Liste verbinden wollte

SPWeb mySite = SPContext.Current.Web;
SPListItemCollection listItems = mySite.Lists["projects"].Items;
SPListItem item = listItems.Add();

Wobei ich mir ziemlich sicher bin das es funktionieren muss der Listenname ist genau kopiert ....

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 23 März 2010 18:06
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Bei Listen wird seltsamerweise der sichtbare Name verlangt, also nicht der interne.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
12 Beiträge
enVir0n Als Antwort am 23 März 2010 18:10
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

das ist ja der sichtbare name...

Ohne Rang
12 Beiträge
enVir0n Als Antwort am 24 März 2010 10:51
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Also ich habe jetzt mal ne komplett neue Liste erstellt ohne '_' und habe immernoch damit Probleme ich verzweifel hier noch

Ohne Rang
29 Beiträge
Benjamin Windler Als Antwort am 24 März 2010 11:07
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Die Gross- / Kleinschreibung hast du berücksichtigt?

Ohne Rang
12 Beiträge
enVir0n Als Antwort am 24 März 2010 11:43
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

SO nun klappt es nachdem ich die Liste neu hinzugefügt habe, habe ich vergessen eine Spalte hinzuzufügen.

 

Jetzt komme ich aber zu einer neuen Fehlermeldung:

 

"Invalid data has been used to update the list item. The field you are trying to update may be read only"

 

ich hoffe da könnt ihr mir ein paar denkanstöße geben

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 24 März 2010 14:56
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Mehr als die Fehlermeldung können wir auch nicht sagen. Du hast in irgendein Feld ungültige Daten geschrieben.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
12 Beiträge
enVir0n Als Antwort am 24 März 2010 15:49
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Also ich wüsste nicht wo ich einen falschen Wert rein geschrieben habe

 

Ich habe lediglich zwei Ideen wo es sein könnte:

Bei den boolean ähnlichen Spalten kommt das Yes oder No rein oder true / false?

 

Zweite Idee Lookups:

Ich habe eine Liste Projekte.
Außerdem habe ich eine Liste Firma

Projekte sollen Firmen zugeordnet werden. Kann ich dann einfach bei Projekte den FIrmennamen eingeben wenn dieser in Projekte ein Lookup ist?

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 24 März 2010 17:09
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Bei boolschen Feldern true oder false verwenden. Natürlich als Wert, nicht als string. Bei lookups einen SPFieldLookupValue verwenden.

Ich denke, Du solltest etwas mehr mit dem Debugger arbeiten und ab und zu einen Blick ins SDK riskieren ;-)

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
12 Beiträge
enVir0n Als Antwort am 24 März 2010 21:41
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Naja ich habe voll Probleme mit dem Debugegr der springt irgendwie nie in mein Code sondern bekomme ich direkt die Fehlermeldung angezeigt

 

Ich muss ein wenig zu meiner Verteidigung sagen ich befinde mich in einer Informatikausbildung und momentan läuft der praktische Teil der Ausbildung wo wir für ein Unternehmen ein Projekt realisieren müssen. Ich habe vor dem Projekt kaum mit C# gearbeitet geschweige denn mit Sharepoint. Von dem Unternehmen kam überhaupt nichts das uns weiterhelfen könnte dabei ist es ein Unternehmen das nicht fachfremd ist die sagten lediglich machen sie mal.

Nun da stehen wir nun und wissen noch nicht so ganz weiter ;)

Ich probiere das morgen mal aus

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 25 März 2010 08:18
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

[quote user="enVir0n"]die sagten lediglich machen sie mal[/quote]

Das wird Dir im späteren Berufsleben noch öfter passieren... Sieh es einfach als gute Übung an. Das, was Du dabei durch eigenes Ausprobieren lernst, das vergißt Du so schnell nicht wieder.

Den Debugger solltest Du unbedingt zum Laufen bringen, es ist ein unverzichtbares Werkzeug. Leider gibt es da aber so viele Fehlerquellen, da kann ich Dir nicht wirklich einen Tip geben.

Viele Grüße
Andi
af @ evocom de
Blog