码迷,mamicode.com
首页 > Windows程序 > 详细

搬家第二天-33.Wincc V7.3 MSHFGrid 读取表格数据并制作表头

时间:2021-02-01 12:16:38      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:merger   代码   serve   int   runtime   font   chart   ati   img   

在Wincc页面上使用MSHFGrid控件可以读取数据库表,一般来说,显示效果是这样的:

技术图片

有时候我们希望有表头,显示成这个样子:

技术图片

这样的话,我们就需要在处理MSHFGrid控件时,多做一些处理。下面详细描述一下实现这种效果的步骤。

一 准备工作

    假设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,InsertRowCount,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
‘以下代码添加表头
InsertRowCount=3  ‘插入两行
For i=1 To InsertRowCount
   MSHFGrid.AddItem "",1
Next
‘写“表头”
For i=1 To MSHFGrid.Cols-1
 MSHFGrid.TextMatrix(3,i)=MSHFGrid.TextMatrix(0,i)
Next
For i=1 To MSHFGrid.Cols-1
  MSHFGrid.TextMatrix(0,i)="" ‘去掉原有的“表头”
Next
colcount=MSHFGrid.Cols
MSHFGrid.MergeCells= 1 ‘合并方式为自由合并
For j=1 To colcount-1
  MSHFGrid.TextMatrix(1,j)="***装置工艺参数表"
  MSHFGrid.TextMatrix(2,j)="查询时间:" & Now
Next
MSHFGrid.Mergerow(1)=True  ‘第一行合并
MSHFGrid.Mergerow(2)=True  ‘第二行合并
‘MSHFGrid.AllowUserResizing=3 ‘行高列宽皆可调整
MSHFGrid.Row=1
MSHFGrid.Col=1
‘单元格对齐方式 CellAlignment
‘0 左,顶部
‘1 左,居中
‘2 左,底部
‘3 居中,顶部
‘4 居中,居中
‘5 居中,底部
‘6 右,顶部
‘7 右,居中
‘8 右,底部
‘9 默认方式:也即字符串左,居中;数值右,居中
MSHFGrid.CellAlignment=4  ‘水平居中,垂直居中
MSHFGrid.Row=2
MSHFGrid.Col=1
MSHFGrid.CellAlignment=7

‘设置表头两行行高
MSHFGrid.Row=1
MSHFGrid.CellFontSize =14
MSHFGrid.Row=2
MSHFGrid.CellFontSize =14
MSHFGrid.RowHeight(1)=600
MSHFGrid.RowHeight(2)=600

End Sub

搬家第二天-33.Wincc V7.3 MSHFGrid 读取表格数据并制作表头

标签:merger   代码   serve   int   runtime   font   chart   ati   img   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!