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.




Dokumenten Bibliothek Formular Anpassungen _ Automatische Übernahme von Inhalt

Geprüfte Antwort Dieser Beitrag hat 6 Antworten

Ohne Rang
13 Beiträge
GaH erstellt 12 März 2013 10:21
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo zusammen,

ich bin gerade dabei ein neues Formular (Edit.aspx) für eine Dokumentenbibliothek anzupassen.
Es ist gewünscht das das Feld 'Name' nicht editierbar / deaktiviert ist und ein anderes Feld (nennen wir es Feld1) soll den Dateinamen (ohne Endung) beinhalten.

Z.B.:

Dokument Upload: MyDocument.pdf

Name: [ DEAKTIVIERT / NICHT EDITIERBAR ] myDocument
Feld1:  [           AKTIVIERT / EDITIERBAR          ] myDocument

 

Habt ihr eine Idee für mich?
Ich setze alle Änderungen im SP2010 Designer um.

 

Grüße,
TempNER

Alle Antworten

Ohne Rang
242 Beiträge
Peter Oswald Als Antwort am 13 März 2013 09:09
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo, nun, entweder ich habe das Problem noch nicht richtig erkannt oder es ist wirklich so einfach:

  • "Name" aus dem Formular entfernen
  • "Feld1" in der Bibliothek anlegen und danach im Formular hinzufügen

Soll "Name" auch angezeigt, aber nicht editierbar sein, verändere das FormField in der Eigenschaft auf "Display"

Ohne Rang
13 Beiträge
GaH Als Antwort am 13 März 2013 15:12
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

nun gut. vielleicht habe ich mich etwas zu unpräzise ausgedrückt...

Szenario:

User lädt ein Dokument hoch..nach Auswahl und Upload des Dokuments erhält man ja die "EditForm.aspx", welches alle angezeigten und erstellten Spalten darstellt. Nun geh ich ins SP Designer und erstelle eine neue Form, welche zB "myCustomForm.aspx", welches als Standardmäßig angezeigt wird an Stelle der "EditForm.aspx".

Hier ist meine Erfahrung, dass Standardmäßig das Feld "Name" nicht mehr drin vor kommt. Jetzt habe ich aber z.B. das Feld "Titel". In dieser Spalte soll bereits beim öffnen der Form der Name des hochgeladenen Dokuments in der entsprechenden Textbox angezeigt werden.

 

1. Upload "myDocument.pdf"

2. CustomEditForm.aspx - myDocument.pdf; Title = myDocument ....

 

Das ist das was gefragt ist. Es soll also bereits beim ÖFFNEN der Form der aktuelle Name in einem anderen Feld angezeigt werden.
Ich hoffe das ist nun besser erklärt...

 

Viele Grüße und Danke,
TempNER

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 13 März 2013 16:22
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ich sehe zwei grundsätzliche Möglichkeiten:

1. einen EventReceiver programmieren, der auf ItemAdding reagiert und dort den Dateinamen in den Titel überträgt. Beim Upload wird erst danach das EditForm angezeigt und im Titelfeld steht schon der richtige Wert.

2. JavaScript auf der EditForm, das den Dateinamen aus dem Name-Feld holt und in die Titel-Textbox schreibt.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
13 Beiträge
GaH Als Antwort am 13 März 2013 16:27
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Mhh, ne Idee wie das via Javascript umzusetzen ist. Kenn mich leider nicht so gut damit aus :/

 

Danke fürs Antworten! :)

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 13 März 2013 16:33
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Eine direkt passende Anleitung habe ich nicht und das ganze ist auch nicht ganz einfach. Aber hier die passenden Suchbegriffe: https://www.google.de/search?q=sharepoint+javascript+custom+list+forms

Das hier kann dafür sehr hilfreich sein: http://sputility.codeplex.com/

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
13 Beiträge
GaH Als Antwort am 8 Apr. 2013 16:07
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

sooo,...es wäre Vollbracht. Das ganze hat etwas Hirnschmalz benötigt und ist auch nicht 100% nach meinen Vorstellungen, aber letztendlich erfüllt es den Mittel zum Zweck.

Im SP Designer eine neue eigene Form anlegen (zB "myCustomEditForm.aspx"), dort dann den "Erweiteter Modus" aktivieren und die Stelle

<asp:Content ContentPlaceHolderId="PlaceHolderMain" runat="server">

im Code suchen.

 

Unter dieser Stelle, habe ich folgendes geschrieben:

<script type="text/javascript" src="/Offen/jquery-1.6.2.min.js"></script>
<script type="text/javascript" src="/Offen/jquery.SPServices-0.7.2.min.js"></script>
<script type="text/javascript">

 $(document).ready(function() {
 docTitle = document.title;
 docTitle = docTitle.substr(docTitle.indexOf ("-") + 2);
 docTitle = docTitle.substr(0,docTitle.lastIndexOf("."));
 document.getElementById("ID").value = docTitle;
 
 });
 </script>

 

Hierbei ist zu beachten das der Title wie folgt aussieht: [DOKUMENTBIBLIOTHEK_NAME] - [DOKUMENT_NAME].[DATEI_ENDUNG]
Via IndexOf gehe ich bis zum Bindestrich + 2 [DOKUMENTENBIBLIOTHEK_NAME], da er den Bindestrich und den Leerzeichen mitzählt.
Via lastIndexOf nehme ich den string und fange von hinten an bis zum Punkt [DATEI_ENDUNG] und lösche diese Zeichen. Übrig bleibt der Dateiname [DOKUMENT_NAME].

Bei ID muss man via FireBug oder ähnliches die ID der Textbox kopieren und diese verwenden (wird von SP automatisch generiert und ist in meinem Fall ein 62 Zeichen langer ID).

 

Diese Lösung ist NICHT für jeden geeignet, ich für meinem Fall weiß das die Dokumentenbibliothek in denen dies verwendet wird keine Bindestriche enthalten. Somit wird der String richtig gebaut.


Danke an Andi für den Denkanstoß.