搬家第二天-30.Wincc V7.3 MSHFGrid 对表格字段进行升降序排列VBS脚本

我的另外一篇博客写了《Wincc V7.3使用复选框和MSHFGrid定制表格显示字段》(http://blog.sina.com.cn/s/blog_724246b90102wlex.html),有时候我们还需要让操作人员能够点击MSHFGrid控件后,按照字段进行排序,本文介绍如何实现这一个功能。

一 准备工作

  在Wincc中新建一个32位浮点数类型内部变量Sort,用于标记是升序还是降序排列。在Wincc页面插入一个静态文本,名字修改为txt,属性-效果-全局颜色设置为“否”,属性-颜色-背景颜色“透明度”为100,边框粗细为0.

二 排序脚本

在MSHFGrid控件事件-对象事件-mouseup中写入以下脚本:

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 If

End Sub

 

保存后运行,就可以看到效果了,这个脚本是在上一个博客的项目基础上做的,MSHFGrid如何连接到数据表,请参考上一个博客内容。

posted @ 2021-01-30 20:24  来自金沙江的小鱼  阅读(541)  评论(0编辑  收藏  举报