WinCC Unified Daten tabellarisch darstellen:

Moien,
Siemens hat genau für den Zweck mal ein CWC (Table Custom Web Control) gemacht: Link
Das CWC basiert auf Tabulator. Sofern man mit JS umgehen kann ist damit fast alles möglich (auch Excel darstellungen).

NB: Hab bei mir das CWC angepasst und auf die neuste Version von Tabulator gehoben, um mehr Funktionen zu haben.

Gruß
Mike
 
Zuletzt bearbeitet:
hallo MCPC10

habe mich mit der Bibliothek nun auseinandergesetzt. So weit so gut - das wird die Lösung für meine Anwendung werden. Daher nochmals Danke für den Tipp.

Hab bei mir das CWC angepasst und auf die neuste Version von Tabulator gehoben, um mehr Funktionen zu haben

Nun bin ich auch zur Erkenntnis gelangt, dass die von Siemens bereitgestellte CWC-Bibliothek zu aktualisieren wäre. Mit VisualStudioCode. Allerdings ist die Siemens-Anleitung dazu etwas dürftig bzw. verwirrend. Wie bist du da vorgegangen?
 
Nun bin ich auch zur Erkenntnis gelangt, dass die von Siemens bereitgestellte CWC-Bibliothek zu aktualisieren wäre. Mit VisualStudioCode. Allerdings ist die Siemens-Anleitung dazu etwas dürftig bzw. verwirrend. Wie bist du da vorgegangen?

Moien,
Hab das CWC zuerst mal entpackt und dann die neuste Version (6.3.1) von Tabulator runtergeladen.
Dann im CWC Ordner den dist Ordner gelöscht und den von Tabulator eingefügt.
Da Nutzung von Tabulator Funktionen, durch Siemens, doch sehr bescheiden ist, ist das eigentlich plug and play.

Hab bei mir wohl noch in code.js folgendes angepasst:

Bei mir geh ich die Tabelle auch nach einer Änderung nicht neu erstellen sondern tausch die Daten einfach per setData/setColumns aus. (Finde ich sauberer als die Tabelle jedesmal neu zu erstellen)
Und verwende einige Events von Tabulator, wie doppelclick, etc die dann als Events auch bei Unified exposed werden.
Desweitern hab ich noch eine Funktionen hinzugefügt die mir alle Ausgewählten Zeilen zurückgibt (wie immer als JSON).

Bei mir wurde immer ein ekelhafter transparenter Rand angezeigt, hab deshalb height:'100%' gemacht statt height: 'calc(100% - 2px)'.
Glaub aber das hängt davon ab welches Theme man verwendet (kann man ändern und das hab ich auch gemacht).
Javascript:
//choose how the table should look like or behave. More information on http://tabulator.info/
var table = new Tabulator("#example-table", {
    height: 'calc(100% - 2px)', // set height of table to 100% minus 2 px, because the border of the table is 1px top and border // => '100%'
    data: tabledata, //load initial data into table
    layout: "fitColumns", //fit columns to width of table (optional)
    columns: columnStyle,
});

Aus mir nicht erdenklichen Gründen hat das CWC nicht auf einem MTP1500 (V19 Upd3) funktioniert aber wohl auf der PC RT.
Laut Log steht da JSON parsing error.
Abhilfe hat bei mir das ändern des default Wert der properties auf "[]" gemacht statt " ".
Javascript:
// contract (same as manifest.json)
{
    // Methods
    methods: {
        DrawTable: function(columnStyleString, tableDataString){
            columnStyle_ = JSON.parse(columnStyleString);
            tableData_ = JSON.parse(tableDataString);
            drawTable(false);
            columnStyle_ = null;
            tableData_ = null;
        }
    },
        // Events
        events: [],
            // Properties
            properties: {
                TableDataString: " ", // => "[]"
                    ColumnStyleString: " " // => "[]"
            }
},
 
Zurück
Oben