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.




Display Form 2 spaltig?

Unbeantwortet Dieser Beitrag hat 14 Antworten

Ohne Rang
35 Beiträge
heinzmeiser39 erstellt 31 Mai 2016 17:20
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hi,

 

ich möchte der besseren Übersicht wegen das display Form (der Kundenliste mit mehreren verbundenen Webparts) in 2 Spalten haben.

Ist das möglich, wenn ja wie?

 

Danke und Grüße

Stefan

Alle Antworten

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 1 Juni 2016 09:20
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Es ist möglich, aber einigermaßen aufwendig. Es gibt die "alte" Möglichkeit über SharePoint Designer und XSLT und die "neue" Möglichkeit über JavaScript und CSR. Suche mal im Web danach - je nachdem, was Dir eher liegt, aber im Zweifel würde ich CSR nehmen.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
35 Beiträge
heinzmeiser39 Als Antwort am 2 Juni 2016 10:32
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hi andi,

 

vielen Dank. Habe schon herausgefunden, wie ich das mit einer einzigen Liste mache,

siehe hier:

Listform 2spaltig

 

aber ich habe ja mehrere Listen.

Wo wird das noch erklärt?

 

Vielen Dank und Grüße

Stefan

 

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 2 Juni 2016 10:57
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ich weiß ja nicht, was Du vorhast, aber prinzipiell kann man CSR natürlich auf mehrere Listen anwenden.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
35 Beiträge
heinzmeiser39 Als Antwort am 2 Juni 2016 11:08
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hi andi,

 

also hier ist das einfache Script, mit dem ich die Elemente einer Liste in 2 Spalten anordne.

Ich hätte  jetzt aber mehrere Listen, und würde gerne diese Listen in 2 Spalten aufteilen, oder anordnen.

 

 

 

// List Forms – User CSRListForm Server Tempalte
// Muawiyah Shannak , @MuShannak
 
(function () {
 
    // Create object that have the context information about the field that we want to change it's output render 
    var formTemplate = {};
    formTemplate.Templates = {};
    formTemplate.Templates.View = viewTemplate;
 
    SPClientTemplates.TemplateManager.RegisterTemplateOverrides(formTemplate);
 
})();
 
// This function provides the rendering logic for the Custom Form
function viewTemplate(ctx) {
   
    var formTable = "".concat("<table width='100%' cellpadding='5'>",
                                    "<tr>",
                                        "<td><div>Title</div></td>",
                                        "<td><div>{{TitleCtrl}}</div></td>",
                                        "<td><div>Date</div></td>",
                                        "<td><div>{{DateCtrl}}</div></td>",
                                    "</tr>",
                                    "<tr>",
                                        "<td><div>Category</div></td>",
                                            "<td><div>{{CategoryCtrl}}</div></td>",
                                        "<td><div>Active</div></td>",
                                        "<td><div>{{ActiveCtrl}}</div></td>",
                                    "</tr>",
                                    "<tr>",
                                        "<td></td>",
                                        "<td><input type='button' value='Save' onclick=\"SPClientForms.ClientFormManager.SubmitClientForm('{{FormId}}')\" style='margin-left:0' ></td>",
                                    "</tr>",
                              "</table>");

   
    //Replace the tokens with the default sharepoint controls
    formTable = formTable.replace("{{TitleCtrl}}", getSPFieldRender(ctx, "Title"));
    formTable = formTable.replace("{{DateCtrl}}", getSPFieldRender(ctx, "Date"));
    formTable = formTable.replace("{{CategoryCtrl}}", getSPFieldRender(ctx, "Category"));
    formTable = formTable.replace("{{ActiveCtrl}}", getSPFieldRender(ctx, "Active"));
    formTable = formTable.replace("{{FormId}}", ctx.FormUniqueId);

    return formTable;
}

//This function code set the required properties and call the OOTB (default) function that use to render Sharepoint Fields
function getSPFieldRender(ctx, fieldName)
{
    var fieldContext = ctx;

    //Get the filed Schema
    var result = ctx.ListSchema.Field.filter(function( obj ) {
        return obj.Name == fieldName;
    });

    //Set the field Schema  & default value
    fieldContext.CurrentFieldSchema = result[0];
    fieldContext.CurrentFieldValue = ctx.ListData.Items[0][fieldName];

    //Call  OOTB field render function
    return ctx.Templates.Fields[fieldName](fieldContext);
}

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 2 Juni 2016 11:31
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ich verstehe nicht, was Du erreichen möchtest. Ein Listenformular ist zum Anzeigen, Neuanlegen oder Ändern eines einzelnen Listenelements. Wo kommen da mehrere Listen ins Spiel?

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
35 Beiträge
heinzmeiser39 Als Antwort am 2 Juni 2016 11:50
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

so sieht mein default display form aus:

 

 

 

und das sollte 2 spaltig sein. Weil nur in diesem Display form kann ich die Kundennummer mittels eines Javascripts automatisch dem jeweils neuen Element hinzufügen.

siehe noch hier:

prefill with related lists

http://www.nothingbutsharepoint.com/2011/01/26/sharepoint-2010-related-list-pre-fill-aspx/

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 2 Juni 2016 12:16
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Du willst also gar nicht das eigentliche Formular zweispaltig haben, sondern die anderen Webparts in einer zweiten Spalte rechts neben dem Formular? Das geht sogar noch viel einfacher. Du brauchst dazu einfach eine (oder mehrere) neue Webpartzone. Die kannst Du ganz einfach per SharePoint Designer einfügen.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
35 Beiträge
heinzmeiser39 Als Antwort am 2 Juni 2016 13:11
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

echt? also auch im "Standardanzeigeformular"? wie kann ich denn eine neue Webpartzone hinzufügen?

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 2 Juni 2016 13:19
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Schaue Dir einfach die Seite im SPD an. Es gibt oben sogar einen Button zum Einfügen einer Webpartzone ;-)

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
35 Beiträge
heinzmeiser39 Als Antwort am 2 Juni 2016 13:42
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

ok, danke aber schau mal:

 

 

wenn ich auf Webpartzone klicke, passiert nichts.

Ich hab auch noch ein Problemchen mit einem Javascript, manchmal läuft, manchmal läufts nicht. Aber das gleiche Script läuft bei den anderen Listen "Ansprechpartner" und "Historie" immer. Nur bei Wiedervorlage läuft es nur manchmal. Das ist ganz schon doof :(

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 2 Juni 2016 13:52
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Der Cursor muß dazu an einer geeigneten Stelle stehen. Du kannst auch einfach die vorhandene Zone in Zeile 30 kopieren und ihr eine andere ID geben.

Zu dem Script kann ich nichts sagen, weil ich es nicht kenne. Schaue es Dir im Debugger an, dann solltest Du schnell sehen, was schiefläuft.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
35 Beiträge
heinzmeiser39 Als Antwort am 6 Juni 2016 09:37
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hi andi,

 

danke, aber wenn ich die Datei kundenliste.aspx bearbeite, indem ich die Zeile 30 kopiere, die ID auf "NOTMAIN" ändere, und eine zeile darüber einsetze, kommt beim Speichern folgende Fehlermeldung:

 

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 6 Juni 2016 10:02
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Die Fehlermeldung sagt es doch: Du hast etwas falsches kopiert, nämlich eine Webpartverbindung.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
35 Beiträge
heinzmeiser39 Als Antwort am 6 Juni 2016 11:46
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hab an einer Anderen Stelle die Webpartzone kopiert.

Jetzt kommt diese Meldung:

 

 

Im Moment soll ich aber auch noch herausfinden, welche Erweiterungen es für Sharepoint gibt, mit denen ich Reports/Rechnungen als PDF oder so erstellen kann, aber halt ohne die SQL Reports, weil Office 365 Sharpeoint online.....