搬家第二天-32.Wincc V7.3MSHFGrid控件给指定的行加背景颜色

2021-03-01 15:25

阅读:468

标签:man   selection   onclick   scree   initial   persist   src   系统   名称   

我们使用MSHFGrid读取SQL Server数据表之后,有时候希望给表格背景加上颜色,那么可以这样做。

一 准备工作

   假设SQL Server有这样一张表格

技术图片

Wincc页面上有一个MSHFGrid控件,名字是MSHFGrid,有一个按钮,按钮点击VBS脚本如下:

Sub OnClick(ByVal Item)              
Dim conn
Dim ssql
Dim ors
Dim ocom
Dim scon
Dim MSHFGrid
Dim ADODC
Dim PCName
Dim i,j,rowcount,colcount
PCName=HMIRuntime.Tags("@LocalMachineName").Read
scon="Provider = SQLOLEDB.1;Integrated Security=SSPI;Persist SecurityInfo=False;Initial Catalog =MyDB;Data Source = " &PCName & "\WINCC"
ssql="select * from charttable"
Set conn=CreateObject("ADODB.Connection")
conn.ConnectionString=scon
conn.Cursorlocation=3
conn.open
Set ors=CreateObject("ADODB.RecordSet")
Set ocom=CreateObject("ADODB.Command")
ocom.commandtype=1
Set ocom.ActiveConnection=conn
ocom.CommandText=ssql
Set ors=ocom.Execute
Set MSHFGrid=ScreenItems("MSHFGrid")
Set MSHFGrid.DataSource=ors
MSHFGrid.Refresh
MSHFGrid.colwidth(1)=2500
Set ors=Nothing
conn.close
Set conn=Nothing
‘以下代码添加背景颜色
rowcount=MSHFGrid.Rows
colcount=MSHFGrid.cols
‘Msgbox MSHFGrid.BackColor
‘MSHFGrid.AllowBigSelection=True
‘MSHFGrid.b
For i=1 To rowcount-1
   MSHFGrid.Row=i
    For j=1 To colcount-1
      MSHFGrid.Col=j
      If i Mod 3=0 Then
         MSHFGrid.CellBackColor =2147483661  ‘蓝色

       Else
          MSHFGrid.CellBackColor =2147483653  ‘白色
       End If
    Next
Next

End Sub

 

上述脚本使第3、6、9……行表格背景是蓝色,其他行背景是白色,在写脚本的时候需要注意,一般来说我们写下控件名称按下.后,系统会自动列出可选的属性、方法,但这里CellBackColor 属性并不会出现在属性/方法列表里,这可能会给编程人员一点迷惑,以为WINCC里面的控件是阉割版本,不支持一些属性。我估计这是WINCC的一点bug吧。运行后效果如下:

技术图片

搬家第二天-32.Wincc V7.3MSHFGrid控件给指定的行加背景颜色

标签:man   selection   onclick   scree   initial   persist   src   系统   名称   

原文地址:https://www.cnblogs.com/fishingsriver/p/14350368.html


评论


亲,登录后才可以留言!