【机房收费系统】MSHflexgrid的用法

                     做机房的时候用到的很多次数的MSHflexgrid控件也是很重要的一部分,现在来总结一下它的用法。

   一、它是从哪“变”出来的?

          引用控件Microsoft Hierarchical FlexGrid Control 6.0(sp4) (oledb),看到了吧,它是以这样的形式出现的~

  

  二、怎么用它显示数据库里面的内容?

          要写出如下代码:

         比如:          

    txtSQL = "select * from recharge_info where "  '调用数据库的代码
    
    txtSQL = txtSQL & "cardno='" & Trim(txtCardno.Text) & "'"
    
    txtSQL = txtSQL & " order by cardno "
    Set mrc = ExecuteSQL(txtSQL, msgText)
    
    With myflexgrid                  '使用MSHflexgrid控件与数据库的联系
        .ColWidth(3) = 1700   'rowheight 是行高     '这里可以设置它内部单元格的大小,防止数据太长显示不了
        .Rows = 2                   '默认2行
        .CellAlignment = 4        '居中显示
        .TextMatrix(1, 0) = "学号"     '第一行,第一列的标题名称
        .TextMatrix(1, 1) = "卡号"
        .TextMatrix(1, 2) = "充值金额"
        .TextMatrix(1, 3) = "日期"
        .TextMatrix(1, 4) = "时间"
        .TextMatrix(1, 5) = "用户ID"
        .TextMatrix(1, 6) = "状态"
         
        Do While Not mrc.EOF          '这样可以防止空白行的出现
            .Rows = .Rows + 1
            .CellAlignment = 4
            .TextMatrix(.Rows - 1, 0) = mrc.Fields(1)
            .TextMatrix(.Rows - 1, 1) = mrc.Fields(2)
            .TextMatrix(.Rows - 1, 2) = mrc.Fields(3)
            .TextMatrix(.Rows - 1, 3) = mrc.Fields(4)
            .TextMatrix(.Rows - 1, 4) = mrc.Fields(5)
            .TextMatrix(.Rows - 1, 5) = mrc.Fields(6)
            .TextMatrix(.Rows - 1, 6) = mrc.Fields(7)
            mrc.MoveNext
        Loop
        
    End With
    mrc.Close
    

 三、如果需要条件查询应该怎么写呢?

                 


 四、如何删除单击选中的某一行?

        这里,我深刻的感受到,自己思考的满足感,而不是直接就看别人的直接用。我想,这次算的上是自己做的吧,以后一定要自己先考虑,先查查,这样做才是正确的提高。

      代码如下:

         myflexgrid.SelectionMode = flexSelectionByRow '设置MSHFlexGrid1的选择方式是按行选择

 '选中的那行,就是当前的row
 txtSQL = "select * from online_info where cardno= '" & myflexgrid.TextMatrix(myflexgrid.Row, 2) & "'"   
    Set mrc = ExecuteSQL(txtSQL, msgText)
    On Error GoTo err
    
    mrc.Delete
    mrc.Update
    mrc.Close
    
    myflexgrid.RemoveItem myflexgrid.Row<span style="white-space:pre">	</span>'移除当前选中的行
err:
  If Error = 3021 Then
    MsgBox "该学生已下机!"
  End If

        小结:

        一定要自己先查查思考怎么做,有的知识没有现成的答案,需要我们自己去筛选才行,经过思考的大脑才最闪亮~

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