Fügen Sie Felder zum neuen/bearbeiteten Formular mit benutzerdefinierter Listendefinition (Dokumentbibliothek) hinzu.

sharepoint.stackexchange https://sharepoint.stackexchange.com/questions/8485

Frage

Ich verwende die Vorlage "Listendefinition" von Visual Studio 2010, um eine neue Listendefinition für eine Dokumentbibliothek zu erstellen.

Nichts Besonderes - ich möchte nur ein paar Felder zur Liste und der Standardansicht hinzufügen. Hinzufügen der Felder zu <Fields> in schema.xml und die jeweils <FieldRef> zu <Views> ist kein Problem, also habe ich die Liste mit meinen benutzerdefinierten Feldern.

Ich kann sie nur nicht dazu bringen, in den neuen/bearbeitenden Formularen zu erscheinen. ich dachte ShowInDisplayForm="TRUE" und ShowInNewForm="TRUE" war der richtige Weg, aber es scheint nichts zu tun - dann habe ich herausgefunden, dass die neue Listendefinitionsvorlage sie hinzufügt. "Upload.aspx, FileDlg.htm, EditDlg.htm".

Ich habe versucht, sie zu setzen <ows:ListProperty Select="MyColumn"> in editdlg.htm. Keine Änderung. Jetzt habe ich gesehen, dass VS2010 viel Code in die gibt schema.xml unter <Form Type="NewFormDialog" Path="EditDlg.htm"> was beginnt mit <ListFormOpening>.

Meine Frage: Wie arbeite ich mit der VS -Vorlage, um meine benutzerdefinierten Felder zu allen relevanten Dialogen hinzuzufügen (Bearbeiten/Neuen/Ansicht)?


Bearbeiten: herausgefunden, wie man dies auflöst, indem Sie das entfernen <ContentTypes> Referenz aus dem Schema.xml wie hier beschrieben. Ich verstehe immer noch nicht, ob dies der richtige Weg ist, um dies zu tun, da ich den Inhaltstyp jetzt aus der Bibliothek entfernt habe (während ich immer noch Dokumente gut hinzufügen kann ...). Erläuterung jemand?

War es hilfreich?

Lösung

Das "Problem" ist, dass jede Liste und Bibliothek an einen Inhaltstyp gebunden ist. Leider hat Microsoft das standardmäßig deaktiviert, indem "Inhaltstypverwaltung zulässig ist". Wenn Sie ein neues Feld erstellen, wie Sie es getan haben, wird es der Liste hinzugefügt, aber nicht an den Inhalt gebunden. Typ Die Liste hängt davon ab. Wenn Sie zu den Listeneinstellungen wechseln und Inhaltstypverwaltung aktivieren, können Sie dem Inhaltstyp die neuen "Listenfelder" hinzufügen und sie sehen.

Der beste Ansatz zum Hinzufügen von Feldern zu einer Listenvorlage besteht darin, Ihre eigenen Felder zu erstellen und einen Inhaltstyp hinzuzufügen. Anschließend erstellen Sie die Listenvorlage basierend auf diesem Inhaltstyp (einfach mit VS) oder fügen diesen Inhaltstyp auch der Liste hinzu.

Andere Tipps

Das Entfernen der ContentTypes -Referenz ist nicht unbedingt der richtige Weg, aber ich bin mir ziemlich sicher, dass es falsch ist. Sie sind aus einem bestimmten Grund da.

Sie haben zwei Optionen. Zunächst können Sie einen Inhaltstyp erstellen und die Felder auf diese Weise angeben. Sehen http://msdn.microsoft.com/en-us/library/ff728096.aspx Informationen zum Erstellen der benutzerdefinierten Liste über einen Inhaltstyp.

Zweitens können Sie den benutzerdefinierten Listentyp verwenden und einfach Ihre eigenen Felder hinzufügen.

  1. Fügen Sie nach dem Hinzufügen einer leeren Listen -Definition dem Soluiton über Visual Studio alle gewünschten Felder in die hinzu <Fields /> Sektion.

  2. Ersetzen Sie das ContentTypeF für ID 0x01 (Element) durch eine neue leere. In diesem Blog -Beitrag finden Sie ein Beispiel und eine vollständige Erklärung. http://jopx.blogspot.com/2007/05/sharepoint-2007-how-to-create-custom.html

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit sharepoint.stackexchange
scroll top