Ich stand letztens vor dem Problem, dass ich eine Art Zwischenspeicherung der EditForm.asp benötigte.
Also suchte und suchte und suchte ich und fand auch einige Lösungswege.
Der einfachste Weg ohne großartige Programmierung geht über den Sharepoint Designer.
Also öffnet den Designer und wählt die Liste, dessen EditForm ihr um den neuen Button zum Zwischenspeichern erweitern wollt.
Öffnet danach die EditForm.aspx im erweiterten Überarbeitungsmodus.
Hier müsst Ihr nun das vorhandene ListViewWebpart ausblenden: (nicht entfernen, sonst funktioniert das ganze aus irgendeinem Grund nicht)
Dann klickt Ihr in den Bereich darüber, und fügt ein benutzerdefiniertes Listenformular hinzu:
Dieses Formular kann man nun nach belieben anpassen, auch Buttons einfügen ;)
Also hauen wir einen eigenen Speichernbutton dazu, welcher speichert und danach diese Seite wieder öffnet:
Die systemseitige Methode ddwrt:GenFireServerEvent('___commit;___redirect{}') speichert das aktuelle ListItem und ruft danach die Seite wieder auf.
Das ist meiner Meinung nach die einfachste Methode, allerdings kann man diese JavaScript-Methode auch in einer CustomAction aufrufen.
Weiter besteht die Möglichkeit eine eigene Klasse zu schreiben, welche von SaveButton ableitet, aber all diese Methoden haben mehr Programmieraufwand zur Folge.
Wenn dazu jemand ein Beispiel möchte, steh ich dazu gern zur Verfügung ;)
Für modale Dialoge muss man sich dann schon AJAX bedienen. Dazu werde ich in Zukunft auch ein Beispiel posten.
Soweit erstmal ;)



Keine Kommentare:
Kommentar veröffentlichen