Ejemplo de script Wincc 3: El control MSHFGrid ordena los registros según los campos
Thread Content
A veces también es necesario permitir que el operador, al hacer clic en el control MSHFGrid, pueda ordenar los datos según los campos. Este artículo explica cómo se puede lograr esta función. I. Trabajos preparatorios: En Wincc, se crea una variable interna de tipo número flotante de 32 bits, llamada Sort, para indicar si la ordenación debe ser ascendente o descendente. En la página de WinCC, se debe insertar un texto estático. El nombre de este texto debe ser “txt”. En las propiedades del texto, en la opción “Efectos”, se debe establecer “No” para el color global. En la misma sección, bajo la opción “Color”, el valor de “Transparencia” debe ser 100, y el grosor del borde debe ser 0.**Script de ordenación**: En el evento “Object Events – MouseUp” del control MSHFGrid, se debe escribir el siguiente script:
```vba
Dim MSHFGrid, txt, sort
Set MSHFGrid = ScreenItems("MSHFGrid")
Set sort = HMIRuntime.Tags("Sort")
Set txt = ScreenItems("txt")
If MSHFGrid.TextMatrix(0, item.MouseCol) = “Fecha y hora” Then
If sort.Read = 2 Then
MSHFGrid.Sort = 1 ‘Ordenar por valores en orden ascendente
sort.Write 1
txt.Text = “Actualmente se está ordenando por el campo “ & MSHFGrid.TextMatrix(0, item.MouseCol) & “ en orden ascendente.”
Else
MSHFGrid.Sort = 2 ‘Ordenar por valores en orden descendente
sort.Write 2
txt.Text = “Actualmente se está ordenando por el campo “ & MSHFGrid.TextMatrix(0, item.MouseCol) & “ en orden descendente.”
End If
Else If sort.Read = 2 Then
MSHFGrid.Sort = 5 ‘Ordenar por caracteres en orden ascendente
sort.Write 1
txt.Text = “Actualmente se está ordenando por el campo “ & MSHFGrid.TextMatrix(0, item.MouseCol) & “ en orden ascendente.”
Else
MSHFGrid.Sort = 6 ‘Ordenar por caracteres en orden descendente
sort.Write 2
txt.Text = “Actualmente se está ordenando por el campo “ & MSHFGrid.TextMatrix(0, item.MouseCol) & “ en orden descendente.”
End If
End Sub
```
Después de guardar y ejecutar este script, se podrá ver el resultado. Este script está basado en el proyecto del blog anterior. Para saber cómo conectar MSHFGrid a una tabla de datos, consulte los artículos recomendados sobre scripts de WinCC.