加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

【VB版机房收费】MSFlexGrid控件

发布时间:2020-12-15 03:40:10 所属栏目:百科 来源:网络整理
导读:一、在机房中遇到的问题 问题一: 用msflexgrid控件的时候,设置click事件以达到查询的目的,并且将查询内容显示在控件中,需要删除上一次查询的内容,有两种方法。 第一种方法是,在第二次显示内容的时候先判断控件的第二行是否有内容,有的话则删除,用循

一、在机房中遇到的问题

问题一:

用msflexgrid控件的时候,设置click事件以达到查询的目的,并且将查询内容显示在控件中,需要删除上一次查询的内容,有两种方法。

第一种方法是,在第二次显示内容的时候先判断控件的第二行是否有内容,有的话则删除,用循环语句来判断,直到第二行(除了第一行的表头)没有内容为空的时候,再显示该显示的内容。

第二种方法是,在第二次显示的内容的时候,直接将内容显示在控件的第二行,将原内容覆盖。调用该函数即可。代码如下:

Public Sub viewData()
      txtSQL = "select * from User_Info where Level = '" & comboLevel.Text & " ' "
      Set mrc = ExecuteSQL(txtSQL,MsgText)
      With myflexgrid
             .Rows = 1 '直接从第二行开始显示
            .CellAlignment = 4
            '设置控件的第一行内容
            .TextMatrix(0,0) = "用户名"
            .TextMatrix(0,1) = "姓名"
            .TextMatrix(0,2) = "开户人"
    
            Do While Not mrc.EOF
                .Rows = .Rows + 1
                .CellAlignment = 4
                .TextMatrix(.Rows - 1,0) = mrc.Fields(0)
                .TextMatrix(.Rows - 1,1) = mrc.Fields(3)
                .TextMatrix(.Rows - 1,2) = mrc.Fields(4)
                mrc.MoveNext
            Loop
       End With
        mrc.Close
End Sub
问题二:

将MSFlexgrid控件中显示的数据导入Excel,首先要做好准备工作就是引用。

代码如下:

Dim xlapp As New Excel.Application '声明Excel对象
    Dim xlBook As Excel.workbook
Dim xlSheet As Excel.worksheet
Private Sub cmdExcel_Click()
'判断是否有记录可供导出
    If myflexgrid.Text = "" Then
        MsgBox "没有查询结果",vbOKOnly + vbExclamation,"警告"
        Exit Sub
    Else
        Set xlBook = xlapp.workbooks.Add(1)
        Set xlSheet = Excel.activeworkbook.activesheet
        For i = o To myflexgrid.Rows - 1
            For j = 0 To myflexgrid.Cols - 1
                xlSheet.cells(i + 1,j + 1) = myflexgrid.TextMatrix(i,j)
            Next j
        Next i
        xlapp.Visible = True
    End If
End Sub

问题三

MSFlexGrid控件删除指定行

首先先选中行,即设置鼠标事件。

Private Sub myflexgrid_MouseDown(Button As Integer,Shift As Integer,x As Single,y As Single)
        nowrow = myflexgrid.MouseRow '选中行的行号赋给nowrow
End Sub
Private Sub myflexgrid_MouseUp(Button As Integer,y As Single)
        txtNowrow.Text = myflexgrid.TextMatrix(nowrow,0)  '将选中行的第一列数据(即用户名)赋给txtNowrow
End Sub
然后删除

Private Sub cmdDelete_Click()
'判断是否选中行
If nowrow = 0 Then
    MsgBox "没有选中卡号","警告"
    Exit Sub
End If
      txtSQL = "select * from User_Info where userid = '" & txtNowrow.Text & " ' "
      Set mrc = ExecuteSQL(txtSQL,MsgText)
      If (Trim(mrc.Fields(0)) = Trim(txtNowrow.Text)) Then
        MsgBox "用户已删除","警告"
            mrc.Delete
            mrc.Close
      Else
            mrc.MoveNext
    End If
End Sub


二、MSFlexgrid控件的常用属性和事件

1、属性

???????????? row:单元格所在行

??????????? col:单元格所在列

??????????? textmatix:设置单元格内容

2、事件

?????????? MouseDown / MouseUp事件
?????????? Click事件
3、方法
????????? removeitem方法
??????????additem方法
????????? clear方法

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读