Ich erstelle meine ContentTypes und danach versuche ich, meine Felder zu erstellen.Legen Sie die Gruppe eines SpField-Elements programmgesteuert fest
ich curently an der Wand meinen Kopf bin schlagen, nach etwa für ein paar Stunden auf der Suche, wie die Gruppen zu bekommen, dass Sie Felder in platzieren können (überprüfen Bild, um zu sehen, was ich beziehe zu)
Kann jemand erklären, wie ich eine Liste dieser Gruppen von meinem Bild bekommen kann?
var web = _Ctx.Web;
_Ctx.Load(web, w => w.ContentTypes, w => w.Fields);
_Ctx.ExecuteQuery();
foreach (lavaPOINT_Page page in new PageAndFieldData().Pages)
{
if (!web.ContentTypes.ToList().Exists(i => i.Id.ToString() == page.ID))
{
var spbt = web.ContentTypes.Add(new ContentTypeCreationInformation()
{
Name = page.Name,
Id = page.ID,
Group = page.Group,
Description = page.Group
});
_Ctx.Load(spbt, f => f, f => f.Fields.Include(i => i.InternalName));
_Ctx.ExecuteQuery();
}
}
var fields = web.Fields;
var Groups = ? // how do i get the Groups *??
foreach (var field in new PageAndFieldData().Fields)
{
var teaser = web.Fields.FirstOrDefault(i => i.InternalName == field.field_name); // if dont exist = create
if (teaser == null)
{
var fieldXml = "<Field Type=\"Note\" DisplayName=\"Teaser\" Required=\"FALSE\" EnforceUniqueValues=\"FALSE\" Indexed=\"FALSE\" NumLines=\"6\" RichText=\"FALSE\" Sortable=\"FALSE\" Group=\"Fields\" ID=\"{fdfba8f7-4521-4db4-b6c2-8ab88e065834}\" SourceID=\"{5119e221-4abe-4200-8d82-910db701336a}\" StaticName=\"NewsPageTeaser\" Name=\"NewsPageTeaser\" RestrictedMode=\"TRUE\" RichTextMode=\"Compatible\" IsolateStyles=\"FALSE\" AppendOnly=\"FALSE\" UnlimitedLengthInDocumentLibrary=\"FALSE\"></Field>";
var spField = web.Fields.AddFieldAsXml(fieldXml, false, AddFieldOptions.DefaultValue);
//_Ctx.Load(spField);
//_Ctx.ExecuteQuery();
}
}
Sie können nicht alle Gruppen abrufen, aber Sie können die Gruppe für jedes Feld mithilfe der Eigenschaft 'Field.Group' ermitteln. –