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.




Element erstellen

Unbeantwortet Dieser Beitrag hat 22 Antworten

Ohne Rang
71 Beiträge
geisbock erstellt 9 Nov. 2009 10:18
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hi,

ich will ein neues Element in eine SharePoint Liste eintragen. Dies mache ich über diesen Code:

  + 1 + "' Cmd='New'>" 

 

"<Field Name='ID'>New</Field>" 

 

"<Field Name='Title'>" + pcname + "</Field>" 

 

"</Method>";

So...jetzt habe ich mehrere Inhaltstypen wie kann ich bestimmen, zu welchem Inhaltstyp das Element hinzgefügt werden soll?

<Field Name="ContentTypeId"> + IdDesInhaltstyps + </Field>  (Das habe ich auch schon ausprobiert, funktioniert aber nicht!)

gruß geisbock

"<Method ID='"

Alle Antworten

Ohne Rang
71 Beiträge
geisbock Als Antwort am 10 Nov. 2009 11:54
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hi kann es sein das ich was an der ID ändern muss?

0x01005ECC0CC686FD3244AF1D80DC8D5127CF02005CA2E851CDBD324CBBBCAE4975EB52EB ??

gruß geisbock

 

Ohne Rang
71 Beiträge
geisbock Als Antwort am 11 Nov. 2009 12:58
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo???

Würde mir vielleicht jemand helfen, ich verzweifel noch!?

gruß geisbock

Ohne Rang
1714 Beiträge
C.Kaiser Als Antwort am 13 Nov. 2009 10:35
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

[quote user="geisbock"]

hi, kannst du mir sagen, wie ich wenn ich ein neues Element mit meinem c# programm erstelle es in ein bestimmten inhaltstyp schreibe? also ich habe verscheidene inhaltstypen und standartmäßig wird immer in den ersten geschrieben. was ist wenn ich jetzt in den 2 schreiben will?

Hast du eine Idee?

gruß geisbock

[/quote]

Sorry wenn das jetzt etwas grob klingt, aber könnte dir jemand dazu Hilfestellung geben, würde es auch jemand machen. Ich selber habe es noch nicht probiert, daher kann ich auch nur googlen (was übrigens meistens die Antwort auf viele Fragen ist ;-) ). Gerade Andi ist da recht fit.

Eventuell hilft dir dieser Link weiter:
http://www.communardo.de/techblog/2009/06/25/sharepoint-2007-ordner-in-listen-und-bibliotheken-entmystifiziert/

Ansonsten das WSS SDK durchwühlen oder das o.g. Tool verwenden.

Beste Grüße,
Christian

http://www.sharepoint-rhein-ruhr.de

Ohne Rang
71 Beiträge
geisbock Als Antwort am 13 Nov. 2009 11:05
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ja kein Problem. Ich dachte mir will einfach keiner schreiben^^

Das Problem ist ich hab ja schon die ganze Zeit gegoogelt aber halt nix gefunden was mich weiter bringt.

 

gruß geisbock

Ohne Rang
1714 Beiträge
C.Kaiser Als Antwort am 13 Nov. 2009 11:14
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

über

SPList currentList = <<Deine Liste>>;
SPContentTypeCollection ContentTypes;

ContentTypes = currentList.ContentTypes;

soltlest du alle ContentTypes der Liste in einer Collection bekommen. Damit soltlest du eigentlich unter Angabe der ID, den entsprechenden ContentType auswählen können.

Beste Grüße,
Christian

http://www.sharepoint-rhein-ruhr.de

Ohne Rang
71 Beiträge
geisbock Als Antwort am 13 Nov. 2009 11:15
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Naja der Link bringt mich auch nicht wirklich weiter. Ich denke das irgendwas mit der ContentID nicht stimmt das ich irgendwas davon ersetzten oder weglassen muss oder so...

gruß geisbock

Ohne Rang
1714 Beiträge
C.Kaiser Als Antwort am 13 Nov. 2009 11:33
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Bekommst du über den Code den ich dir oben gepostet habe, die korrekten IDs raus und kannst diese entsprechend verarbeiten?

Beste Grüße,
Christian

http://www.sharepoint-rhein-ruhr.de

Ohne Rang
71 Beiträge
geisbock Als Antwort am 13 Nov. 2009 13:05
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Oh das habe ich garnicht gesehen. Aber was soll zwischen << ? >> der Listenname oder das neue Objekt?

Das mit dem ContentType finde ich auch nicht!

Tut mir leid wenn ich mich ein bisschen dumm stelle bin aber ziemlich neu auf dem Gebiet

 

gruß geisbock

Ohne Rang
1714 Beiträge
C.Kaiser Als Antwort am 13 Nov. 2009 13:25
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Kein Problem. Die << >> haben nichts zu bedeuten, dass soll dir nur anzeigen, dass du da bitte deine Liste einträgst. Du musst dich aber ein wenig mit dem SDK, Visual Studio und IntelliSense beschäftigen. ;)

SPSite site =  new SPSite("http://sitecollection");
//Site Collection und Webanwendung können von der URL her übereinstimmen, müssen aber nicht
SPWeb web = site.OpenWeb("
http://test");
SPList list = web.GetList("
http://test/liste");
SPContentTypeCollection ContentTypes;
ContentTypes = list.ContentTypes;

Siehe auch hier: http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spweb.aspx

Das Ganze ist natürlich ohne Gewähr, da ich auch kein purer Programmierer bin.

Edit:
Mal nebenbei, wie versuchst du das überhaupt? Per Workflow, per Webpart, EventHandler?

Beste Grüße,
Christian

http://www.sharepoint-rhein-ruhr.de

Ohne Rang
71 Beiträge
geisbock Als Antwort am 13 Nov. 2009 14:07
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Also das hier ist mein Code:

 

 

 

 

 

 

 

String

 

webUrl = http://Server1000;

 

 

String listenName = "Test";

Lists.

Lists lists = new Lists.Lists();

lists.Credentials = System.Net.

CredentialCache.DefaultCredentials;

lists.Url = webUrl +

"/_vti_bin/lists.asmx";

 

 

XmlDocument xmlDoc = new XmlDocument();

 

 

XmlElement query = xmlDoc.CreateElement("Query");

 

 

XmlElement batch = xmlDoc.CreateElement("Batch");

 

Wenn ich was schreibe gibt der mir ja immer was vor und da finde ich das mit dem ContentTypeCollection nicht.

 

gruß geisbock

Ohne Rang
1714 Beiträge
C.Kaiser Als Antwort am 13 Nov. 2009 14:10
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

dann werden dir Assembly Referenzen fehlen? welche using-Statements benutzt du?

Beste Grüße,
Christian

http://www.sharepoint-rhein-ruhr.de

Ohne Rang
1714 Beiträge
C.Kaiser Als Antwort am 13 Nov. 2009 14:25
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

nochmal die Frage:
wie versuchst du überhaupt in die Liste zu schreiben? Webpart, EventHandler, Workflow oder was ganz anderes?

Beste Grüße,
Christian

http://www.sharepoint-rhein-ruhr.de

Ohne Rang
71 Beiträge
geisbock Als Antwort am 13 Nov. 2009 14:38
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

per webservice. Dieser hat den Namen Lists.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

using

 

 

System;

using

 

 

System.Collections.Generic;

using

 

 

System.Text;

using

 

 

System.CodeDom;

using

 

 

System.CodeDom.Compiler;

using

 

 

System.Security.Permissions;

using

 

 

System.Web;

using

 

 

System.Web.Services;

using

 

 

System.Web.Services.Description;

using

 

 

System.Web.Services.Discovery;

using

 

 

System.Xml;

using

 

 

System.Xml.Serialization;

using

 

 

System.Runtime.InteropServices;

using

 

 

System.Reflection;

using

 

 

Microsoft.Win32;

using

 

 

System.IO;

using

 

 

System.Windows.Forms;

using

 

 

System.Management;

using

 

 

System.Data;

using

 

 

Microsoft.VisualBasic.Devices;

using

 

 

System.Xml.XPath;

gruß geisbock

Ohne Rang
1714 Beiträge
C.Kaiser Als Antwort am 13 Nov. 2009 14:51
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

gut dann ists es klar, dass du entsprechende Sachen nicht findest...

füge mal die SharePoint-Assemblys (heißen Windows SharePoint Services) und folgende using-Statements hinzu:

using Microsoft.SharePoint;
using Microsoft.SharePoint.WebControls;

Eventuell brauchst du das hier auch noch für die ContentTypeCollection:
using System.Collections;
using System.Collections.Generic;

Beste Grüße,
Christian

http://www.sharepoint-rhein-ruhr.de

Ohne Rang
71 Beiträge
geisbock Als Antwort am 13 Nov. 2009 14:58
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Bei mir gibts den assembly verweis Sharpoint service nicht

 

Ohne Rang
1714 Beiträge
C.Kaiser Als Antwort am 13 Nov. 2009 15:01
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

entwickelst du auf einer Maschine, auf der WSS 3.0 oder MOSS installiert ist? Wenn ja, dann gibts den ;)

Beste Grüße,
Christian

http://www.sharepoint-rhein-ruhr.de

Ohne Rang
71 Beiträge
geisbock Als Antwort am 16 Nov. 2009 10:51
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Bei mir gibts den verweis nit ka warum.

 

gruß geisbock

Ohne Rang
1714 Beiträge
C.Kaiser Als Antwort am 16 Nov. 2009 11:09
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

du musst den Verweis auch deinem VS Projekt zuordnen.

Rechts Klick auf Verweise -> Hinzufügen -> .NET Tab auswählen -> Windows SharePoint Services

Wenn du auf einer ´Maschine entwickelst, wo SharePoint installiert ist, solltest du diesen Verweis/Reference haben.

Beste Grüße,
Christian

http://www.sharepoint-rhein-ruhr.de

Ohne Rang
71 Beiträge
geisbock Als Antwort am 16 Nov. 2009 11:23
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Das ist mir soweit klar, aber ich habe nur WindowsBase und WindowsFormsIntegartion. Bei mir selbst auf dem PC ist meine ich auch kein SP installiert das läuft auf nem server. Es sollte aber trotzdem möglcih sein den inhaltstyp zu ändern oder? Ich denke das irgendwas an dem Xml Code falsch ist oder die ID von der Spalte .

 

gruß geisbock

Ohne Rang
1714 Beiträge
C.Kaiser Als Antwort am 16 Nov. 2009 11:30
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ja ich gehe auch davon aus, dass die ID falsch ist, die du verwendest, daher der Code oben, mit dem du rausbekommst, welche IDs der SharePoint intern verwendet. / bzw wie deren Aufbau ist.

Wenn deine Entwicklungsumgebung natürlich vom SharePoint entkoppelt ist, ist ein kleineres Problem (dann fehlt natürlich auch der Veweis und daher schrieb ich auch "mit einem installierten SharePoint"). Du solltest ja am besten Wissen, was bei dir installiert ist.

Eine andere Möglichkeit wäre, dir die stsadm Erweiterungen von Lapointe runterzuladen und die Inhaltstypen zu exportieren. In der Exportdatei, werden dann auch die IDs angegeben (http://stsadm.blogspot.com/). Das geht aber auch nur, wenn du Zugriff auf den Server hast.

Ansonsten kann ich dir nicht weiterhelfen.

Edit: SharePoint Entwicklung ohne Zugriff auf einen SharePoint Server zu haben ist ziemlich doof. Vor allem bezüglich debugging (siehe hier). Ich würde dir empfehlen eine Entwicklungsmaschine zu bauen (VPC oder VMWare) wo du Zugriff auf alles hast und entsprechend Fehlersuche betreiben kannst. Ansonsten macht Entwicklung gegen SharePoint sehr wenig Spass...

Beste Grüße,
Christian

http://www.sharepoint-rhein-ruhr.de

Ohne Rang
71 Beiträge
geisbock Als Antwort am 16 Nov. 2009 13:44
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hab noch ne vermutung. Wie würde der code denn aussehen, wenn ich in die liste gehe dort 2 inhaltstypen habe und dann in einen reingehe und dort wieder 2 inhaltstypen zu auswahl habe und dann in einen von beidem reinschreiben möchte?

 

gruß geisbock

Ohne Rang
71 Beiträge
geisbock Als Antwort am 17 Nov. 2009 11:23
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

 

Hi Leute,

hier ist nochmal mein ganzer Code mit dem ich versuche ein neues Element in einen bestimmten Inhaltstyp zu erstellen.

Vielleicht sieht ja jemand meinen Fehler!

Die Variable "inhaltstyp" ist die ID des Inhaltstypes. Nämlich :

0x01005ECC0CC686FD3244AF1D80DC8D5127CF02005CA2E851CDBD324CBBBCAE4975EB52EB

 

gruß geisbock

Das mit dem Bild hat nicht so ganz geklappt aber wenn ich den Code kopiere wird der so auseinander gezogen. Kann mir jemand sagen wie man das macht, dass der normal bleibt?

 

if (pcvorhanden == false && cbPC.Checked)

{

batch.InnerXml =

 

"<Method ID='" + 1 + "' Cmd='New'>" +

 

"<Field Name='ID'>New</Field>" +

 

"<Field Name='ContentTypeId'>"+ inhaltstyp +" </Field>" +

 

"<Field Name='Title'>" + pcname + "</Field>" +

 

"</Method>";

 

XmlNode resultneu = lists.UpdateListItems(listenName, batch);

 

MessageBox.Show("Der PC mit dem Namen " + pcname + " wurde in die Liste eingetragen\nSie k”nnen die Daten jetzt eintragen!");

}

}

//Ende if cbPC.checked