HCBBS Forum (Deutsch)
Submit Chemical Projects / Find Solutions
Amplify Your Requirements on a Broader Chemical Platform *Engineering · Technology · Equipment · Solutions*
Submit Request

Wincc-Skriptbeispiel 3 – Sortierung von Datensätzen nach Feldern mit dem MSHFGrid-Kontrollelement

2016-04-16View Original

Thread Content

Manchmal müssen wir auch sicherstellen, dass der Benutzer nach dem Klicken auf das MSHFGrid-Element die Daten nach bestimmten Feldern sortieren kann. In diesem Artikel wird erklärt, wie diese Funktion umgesetzt werden kann. 1. Vorbereitungen: In Wincc wird eine neue interne Variable vom Typ 32-Bit-Fließkommazahl namens Sort erstellt, um anzuzeigen, ob die Sortierung in aufsteigender oder absteigender Reihenfolge erfolgen soll. Fügen Sie auf der WinCC-Seite einen statischen Text ein. Geben Sie diesem Text den Namen „txt“. Setzen Sie in den Eigenschaften unter „Effekt“ die Einstellung „Globale Farbe“ auf „Nein“. Unter den Eigenschaften „Farbe“ setzen Sie die Einstellung „Hintergrundfarbe“ auf eine Transparenz von 100. Die Dicke des Rahmens soll 0 sein.

**Sortierungs-Skript:** Schreiben Sie das folgende Skript in die Ereignisbeschreibung „Object Event – Mouseup“ des Kontrollelements MSHFGrid:

```vba
Dim MSHFGrid, txt, sort
Set MSHFGrid = ScreenItems("MSHFGrid")
Set sort = HMIRuntime.Tags("Sort")
Set txt = ScreenItems("txt")

If MSHFGrid.TextMatrix(0, item.MouseCol) = “Datum/Uhrzeit” Then
If sort.Read = 2 Then
MSHFGrid.Sort = 1 ‘Sortieren nach steigenden Werten
sort.Write 1
txt.Text = “Derzeit wird nach dem Feld “ & MSHFGrid.TextMatrix(0, item.MouseCol) & “ in aufsteigender Reihenfolge sortiert.”
Else
MSHFGrid.Sort = 2 ‘Sortieren nach absteigenden Werten
sort.Write 2
txt.Text = “Derzeit wird nach dem Feld “ & MSHFGrid.TextMatrix(0, item.MouseCol) & “ in absteigender Reihenfolge sortiert.”
End If
Else If sort.Read = 2 Then
MSHFGrid.Sort = 5 ‘Sortieren nach alphabetischer Reihenfolge
sort.Write 1
txt.Text = “Derzeit wird nach dem Feld “ & MSHFGrid.TextMatrix(0, item.MouseCol) & “ in alphabetischer Reihenfolge sortiert.”
Else
MSHFGrid.Sort = 6 ‘Sortieren nach absteigender alphabetischer Reihenfolge
sort.Write 2
txt.Text = “Derzeit wird nach dem Feld “ & MSHFGrid.TextMatrix(0, item.MouseCol) & “ in absteigender alphabetischer Reihenfolge sortiert.”
End If
End Sub
```

Speichern und ausführen Sie das Skript – dann werden Sie das Ergebnis sehen. Dieses Skript basiert auf den Projekten aus dem vorherigen Blogbeitrag. Wie man MSHFGrid mit Tabellen verbindet, finden Sie in anderen Artikeln zu WinCC-Skripten.
Reply #22016-04-17
Kann man eine komprimierte Datei hochladen?

Submit a Project

**Looking for Chemical Technology, Equipment & Solutions?** No Registration Required Broader Platform Exposure | Global Chemical Service Provider Connections

Submit Request — Free Consultation

Disclaimer

This is an automated machine translation of the original thread. Some technical terms may have inaccuracies; the original text shall prevail. Click "View Original" at the top right to access the source page, which supports IP-based automatic real-time language translation. Please watch out for contact details and sales inducements to prevent fraud. All content and translations are for reference only, representing solely the poster's personal views. For enquiries, email service@hcbbs.com.