一、在机房中遇到的问题
问题一:
用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, Shift As Integer, x As Single, y As Single)
txtNowrow.Text = myflexgrid.TextMatrix(nowrow, 0) '将选中行的第一列数据(即用户名)赋给txtNowrow
End Sub
然后删除
Private Sub cmdDelete_Click()
'判断是否选中行
If nowrow = 0 Then
MsgBox "没有选中卡号", vbOKOnly + vbExclamation, "警告"
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 "用户已删除", vbOKOnly + vbExclamation, "警告"
mrc.Delete
mrc.Close
Else
mrc.MoveNext
End If
End Sub
二、MSFlexgrid控件的常用属性和事件
1、属性
row:单元格所在行
col:单元格所在列
textmatix:设置单元格内容
2、事件
MouseDown / MouseUp事件
Click事件
3、方法
removeitem方法
removeitem方法
additem方法
clear方法