HCBBS Forum (Русский)
Submit Chemical Projects / Find Solutions
Amplify Your Requirements on a Broader Chemical Platform *Engineering · Technology · Equipment · Solutions*
Submit Request

Пример скрипта Wincc 3: сортировка записей в контроле MSHFGrid по полям

2016-04-16View Original

Thread Content

Иногда нам также необходимо, чтобы операторы могли после нажатия на элемент управления MSHFGrid сортировать данные по полям. В этой статье описывается способ реализации этой функции. 1. Подготовительные работы: в WinCC создается новая внутренняя переменная типа 32-битного числа с плавающей точкой под названием Sort, предназначенная для обозначения порядка сортировки — возрастающего или убывающего. На странице WinCC вставьте статический текст; назовите его txt. В свойствах элемента установите параметр «Эффект» → «Глобальный цвет» на значение «Нет». Параметр «Цвет» → «Цвет фона» должен иметь значение прозрачности 100, а толщина рамки — 0.

Для сортировки используйте следующий скрипт, который необходимо ввести в событие MSHFGrid → Объектные события → MouseUp:

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

If MSHFGrid.TextMatrix(0, item.MouseCol) = "Дата/Время" Then
If sort.Read = 2 Then
MSHFGrid.Sort = 1 ‘ Сортировка по возрастанию чисел
sort.Write 1
txt.Text = "В настоящее время данные сортируются по полю “ & MSHFGrid.TextMatrix(0, item.MouseCol) & “ в порядке возрастания.”
Else
MSHFGrid.Sort = 2 ‘ Сортировка по убыванию чисел
sort.Write 2
txt.Text = "В настоящее время данные сортируются по полю “ & MSHFGrid.TextMatrix(0, item.MouseCol) & “ в порядке убывания.”
End If
Else If sort.Read = 2 Then
MSHFGrid.Sort = 5 ‘ Сортировка по возрастанию символов
sort.Write 1
txt.Text = "В настоящее время данные сортируются по полю “ & MSHFGrid.TextMatrix(0, item.MouseCol) & “ в порядке возрастания.”
Else
MSHFGrid.Sort = 6 ‘ Сортировка по убыванию символов
sort.Write 2
txt.Text = "В настоящее время данные сортируются по полю “ & MSHFGrid.TextMatrix(0, item.MouseCol) & “ в порядке убывания.”
End If
End Sub
```

После сохранения и запуска скрипта вы увидите желаемый результат. Этот скрипт разработан на основе проекта из предыдущего блога. Чтобы узнать, как подключить MSHFGrid к таблице данных, ознакомьтесь с рекомендациями, приведенными в других скриптах для WinCC.
Reply #22016-04-17
Можно ли загрузить архивный файл?

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.