悄悄地,机房收费系统结束了,我的心也随着蒲公英慢慢飘远。。我和机房的点点滴滴一张张的回放着,突然,一个美丽的控件吸引了我。不觉之间,我的指尖已被它牢牢抓住,书写我和它----MSFflexgrid控件的美好历程。
它有着美丽的外表,又有着非凡的涵养。
上面的控件便是它的家,它见到我们的时候,就变成了下面这亭亭玉立的样子
干净,优雅,这就是它。
它带给我很多意想不到的作用,让我更好的展现数据库里的数据,功能强大。先给大家介绍一下它的属性:
通用这里的性质比较常用:
行:指显示在窗体上的行数,固定行:固定位置不变,即使我们下拉数据,第一行的固定,让我们始终可以看到标题。列也类似。
一些位置类的属性:
有了这些,我们便可以轻松的使用了。
就这样说,还是有些陌生,下面,展出我自己的实例:
首先,为了用户友好,我让控件在窗体出现的时候,就展示出标题行:如下
myflexgrid.AllowUserResizing = flexResizeColumns '可以让用户拉伸行宽 With myflexgrid '自定义的名称 .Rows = 2 '初始的行,显示2行,即一行标题,一行空白行,如果要用固定行的话,就要这样做 .TextMatrix(0, 0) = "学号" '第一行即为(0),第一列(0)输入标题行 .TextMatrix(0, 1) = "卡号" .TextMatrix(0, 2) = "充值金额" .TextMatrix(0, 3) = "日期" .TextMatrix(0, 4) = "时间" .TextMatrix(0, 5) = "用户ID" .TextMatrix(0, 6) = "状态" End With
当让它显示数据库里面的信息的 时候,要用到循环语句:
With myflexgrid Do While Not mrc.EOF .Rows = .Rows + 1 '防止产生空白行 .TextMatrix(.Rows - 2, 0) = mrc.Fields(1) '-2的目的是让数据从第一行显示(非标题行) .TextMatrix(.Rows - 2, 1) = mrc.Fields(2) .TextMatrix(.Rows - 2, 2) = mrc.Fields(3) .TextMatrix(.Rows - 2, 3) = mrc.Fields(4) .TextMatrix(.Rows - 2, 4) = mrc.Fields(5) .TextMatrix(.Rows - 2, 5) = mrc.Fields(6) .TextMatrix(.Rows - 2, 6) = mrc.Fields(7) mrc.MoveNext Loop .Rows = .Rows - 1 '最后会产生一行空白行,需要删掉 End With mrc.Close
myflexgrid.rows=1
这样就只显示了标题行哦~
当你选中一个空格的时候,想让它自动选中那一行,那么,你有好多种方法:
可以这样:
myflexgrid.SelectionMode = flexSelectionByRow '设置MSHFlexGrid1的选择方式是按行选择也可以这样:
Public CURRENTROW As Integer
Private Sub myflexgrid_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) '选中一行,特别好用 With myflexgrid .Row = .MouseRow CURRENTROW = .Row .Col = 0 .ColSel = .Cols - 1 End With End Sub Private Sub myflexgrid_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) 'MSHFlexGrid1选中一行 With myflexgrid .RowSel = CURRENTROW .ColSel = .Cols - 1 End With End Sub