Frage

Ich erstellung ein WebPart, das wie ein neues Formular fungiert.Basierend auf der Ansicht erhalte ich mich auf Felder und rendern sie in meinem Webpart mit spffield.fieldrenderningcontrol.

Meine Spalten sind Site-Spalten, auf dieser Ebene wurden einige erforderlich, die einem Inhaltstyp hinzugefügt wurden, der einer Liste hinzugefügt wurde.Nach dem Aufgenommen der Liste wurden bestimmte Spalten, die nicht erforderlich waren, erforderlich, und einige, die auf der Site-Spaltenebene benötigt wurden, sind jetzt nicht.

Im Folgenden ist der Code, den ich verwende, um mein Formular zu rendern.Egal, was ich ausprobiert habe, das Rendern des Kontrolls scheint sich aus der Site-Spaltenebene auszuziehen, nicht der Listen-Inhaltstypebene.Ich kann die Steuerung nicht von einem spfiedlink rendern.

Ich habe Kommentare in den Code um den Bereich gestellt, denke ich, denke ich möglicherweise am Ende. generasacodicetagpre.

helperclass.getsharepointcontrols generasacodicetagpre.

Wenn jemand irgendwelche Ideen hat, wäre ich sehr dankbar.Ich habe sogar versucht, mit einem begrenzten Erfolg über Microsoft-Code nachzudenken.

War es hilfreich?

Lösung 2

Ich habe mir weiter gesucht, und es scheint, dass das Spfield in dem erforderlichen Status des Listenfelds gelesen wird. Auf einer benutzerdefinierten Liste können Sie jedoch das gewünschte Feld bearbeiten, indem Sie auf den Spaltennamen in den Listeneinstellungen klicken.

Für eine Dokumentbibliothek fehlt die erforderliche Feldeinstellung. Die einzige Möglichkeit, dass Sie das gewünschte Feld einstellen können, ist entweder im Site-Inhaltstyp und drücken Sie die Änderung herunter (was das erforderliche Feld überall ändern würde, überall, wo Sie es verwenden, nicht nur in der angegebenen Liste) oder Sie können mit .NET oder PowerShell den Code verwenden So legen Sie das Feld auf der Liste auf, die erforderlich ist. Entfernen Sie dann eine beliebige Referenz in meinem ursprünglichen Code an spfieldlink. generasacodicetagpre.

Es ist seltsam, wie der ursprüngliche Code, den ich in einer benutzerdefinierten Liste verzeichnete, im Vergleich zu einer Dokumentenbibliothek sehr unterschiedlich.

Ich habe dies entdeckt, indem Sie die Feldbeschreibung in meinem WebPart anzeigen. Wenn sich die lokale Beschreibung in der Beschreibung der Site-Spalte unterscheidet, wenn Sie Feld anrufen.Decription haben, haben Sie immer die lokale Beschreibung erhalten. Welches das Anrufen von Spfield aus der Liste bedeutete, hat Ihnen die Werte aus der in der Liste angegebenen Spalte in der Liste nicht aus der Site-Spalte gegeben. Also machte ich eine Abfrage, wenn die Spalte auf der Liste erforderlich war, und obwohl es sich in der Site-Spalte befand, war es nicht für die Liste.

Alternative Fix Anstelle von PowerShell ist das Erstellen einer Layouts-Seite, mit der Sie von den Bibliothekseinstellungen anrufen, mit denen Sie den erforderlichen Wert für jede der Spalten in der Liste ändern können, da eindeutig diese Funktionalität ausgerichtet hat. (Vielleicht aus einem guten Grund, warum ich noch nicht gefunden habe).

Andere Tipps

vielleicht sehen, wie das CodePlex-Projekt BatchEDIT es tut: http://sp2010batchedit.codeplex.com/

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