Wincc 脚本示例3-MSHFGrid控件对记录按照字段进行排序? 有时候我们还需要让操作人员能够点击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如何连接到数据表,请参考其他wincc脚本推荐的帖子。 查看更多1个回答 . 1人已关注