WinCC笔记:02.MSHFlex控件 —— (5) 升降序排列 & 指定行的背景颜色

一、准备工作

 在Wincc中新建一个32位浮点数类型内部变量Sort,用于标记是升序还是降序排列。

插入一个静态文本,命名为txt

插入一个按钮,文本为改变颜色

二、从数据库中导入数据到MSHFlex控件

   具体见(31条消息) WinCC笔记:02.MSHFlex控件 —— (4) 使用复选框选择显示字段_qq_42016887的博客-CSDN博客

三、写脚本进行升降序排列

在MSHFGrid控件事件-对象事件-mouseup中写脚本

当鼠标指针移动到元素上方,并松开鼠标左键时,会发生 mouseup 事件

Sub MouseUp(Byval Item,  Byval Button,  Byval Shift,  Byval x,  Byval y)  
Dim MSHFGrid,txt,sort
Set MSHFGrid=ScreenItems("Grid")
Set sort=HMIRuntime.Tags("sort")
Set txt=ScreenItems("txt")

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
End Sub

flexSortNone0不执行排序
flexSortGenericAscending1一般升序。猜出文本是字符串还是数字
flexSortDescending2一般降序。
flexSortNumericAscending3数值升序。将字符串转换为数值
flexSortNumericDescending4数值降序。
flexSortStringNoCaseAsending5字符串升序。不区分大小写
flexSortNoCaseDescending6字符串降序。不区分大小写
flexSortStringAscending7字符串升序。区分大小写
flexSortStringDescending8字符串降序。区分大小写
flexSortCustom9自定义。用 Compare 事件来对行进行比较

四、写脚本改变颜色

对“改变颜色”按钮的单击事件编辑脚本

Sub OnClick(Byval Item)     
Dim Grid,rowcount,colcount,i,j
Set Grid=ScreenItems("Grid")         
'以下代码添加背景颜色
rowcount=Grid.Rows
colcount=Grid.cols
For i=1 To rowcount-1
   Grid.Row=i
    For j=1 To colcount-1
      Grid.Col=j
      If i Mod 3=0 Then
         Grid.CellBackColor =2147483661  '蓝色
       Else
         Grid.CellBackColor =2147483653  '白色
       End If
    Next
Next
End Sub

效果如下

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值