前言
这个控件第一次遇见还是有点神奇的。回忆一下当时的场景还是很多让人印象深刻的,因为这个可把当时的自己给愁坏了啊,可以说当时自己还是处于蒙圈的状态,不知从何下手,因为觉得这是一个很神奇的东西,他怎么就可以吧数据库里的数据显示出来呢!
正文
首先我们来认识一下他是怎么来的,其实一开始常用部件中是没有这个的,这是后期因为需要而添加下去的。具体的步骤如下:首先打开VB在菜单栏中选择 ——工程——在下拉的菜单中找到——"部件"这一选项——单击后显示一个控件界面,在这个控件界面找到部件Microsoft Hierarchical FlexGrid Control 6.0(sp4) (oledb)
然后选中就可以了,如图:
当我们知道他是如何添加进来的时候,接下来我么就来了解一下他是如何工作的,这样才能更好的为我们服务,先让我们来了解一下他的基本内容:
在知道这些基本的数据之后,我们就可以进行一些操作了。就举个简单的例子就是在机房收费系统中的添加和删除用户其代码如下:
With MSHFlexGrid1 '填写表头
.Rows = 1 'rows表示表格的总行数
.CellAlignment = 4 'CellAlignment表示单元内容对其方式
.TextMatrix(0, 0) = "用户名"
.TextMatrix(0, 1) = "姓名"
.TextMatrix(0, 2) = "开户人"
Do While Not mrc.EOF '遍历所有记录,填入控件
.Rows = .Rows + 1 '循环添加记录
.CellAlignment = 4 'CellAlignment表示列内容对其方式4表示
.TextMatrix(.Rows - 1, 0) = Trim(mrc.Fields(0)) 'rows-1是横坐标,与上面的.Rows=1代表的有所不同
.TextMatrix(.Rows - 1, 1) = Trim(mrc.Fields(3)) '.Rows=1表示控件加载时总行数为1行(控件行数最小为1)表示坐标时,我们知道是从(0,0)开始的,因此Rows-1只是代表坐标从头开始,与控件加载时设定的行数无关
.TextMatrix(.Rows - 1, 2) = Trim(mrc.Fields(4))
mrc.MoveNext
Loop
End With
mrc.Close
End Sub
Private Sub form_load()
txtCombo_user_level.AddItem "一般用户"
txtCombo_user_level.AddItem "操作员"
txtCombo_user_level.AddItem "管理员"
txtCombo_user_level.ListIndex = 0
那么它的效果就如下图:
回顾,这个部件是十分实用也是很常用的,对于它的运用还有很多可以探索的地方,慢慢的试着将他熟练的掌握,对我们很有益处的。