【机房收费系统】MSHflexgrid的使用(完整)

                 悄悄地,机房收费系统结束了,我的心也随着蒲公英慢慢飘远。。我和机房的点点滴滴一张张的回放着,突然,一个美丽的控件吸引了我。不觉之间,我的指尖已被它牢牢抓住,书写我和它----MSFflexgrid控件的美好历程。

           它有着美丽的外表,又有着非凡的涵养。

           它来自远方的部件:

            上面的控件便是它的家,它见到我们的时候,就变成了下面这亭亭玉立的样子

                                       【机房收费系统】MSHflexgrid的使用(完整)_第1张图片


          干净,优雅,这就是它。


         它带给我很多意想不到的作用,让我更好的展现数据库里的数据,功能强大。先给大家介绍一下它的属性:


           

            通用这里的性质比较常用:

            行:指显示在窗体上的行数,固定行:固定位置不变,即使我们下拉数据,第一行的固定,让我们始终可以看到标题。列也类似。

            一些位置类的属性:

               

                  【机房收费系统】MSHflexgrid的使用(完整)_第2张图片

               有了这些,我们便可以轻松的使用了。

                就这样说,还是有些陌生,下面,展出我自己的实例:

               首先,为了用户友好,我让控件在窗体出现的时候,就展示出标题行:如下

                 


           

        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
    

          当你想执行clear操作时,标题行也就随着不见了,所以,可以写成

              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

        不同的方式,都可以,更多的,需要我们自己多多探索。
      

你可能感兴趣的:(数据库,编程代码)