刚做完机房收费系统,我们在此期间遇到了很多关于MSHflexgrid的操作。现在来总结一下关于它的一系列常见用途!
1.关于它的属性页设置:右击属性
2:属性和方法
由于该控件涉及到的属性和方法比较多,我就介绍几个我们在机房系统中最常使用的几个吧。
.rows :行属性第一行其返回值为0,依次类推
.rowsel:选中行数,可以为一个范围多行
.mouserow:鼠标所在行
.cols:列属性
.clowidth:列宽
.textmatrix(introw,intcol):返回具体某一单元各中的内容
.cellallignment:单元格中内容的对齐方式
.backcolorsel:选中单元格背景色
.remouveitem:移除某一行内容
3:事件
mousedown,mouseup :当鼠标按下或弹起时的相应的操作
clear:清除内容,一般用在防止所需内容重复加载时
4:以上是我们遇到的一些基础内容
同时,在机房收费系统中,我们遇到的将flexgrid表中的记录删除也算是接触到的一个比较新的知识,我把我的解决方法总结一下。
Private Sub flexgriduserinfo_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single) '鼠标按下时
With flexgriduserinfo
.Row = .MouseRow '选中行为鼠标所在行
currentrow = .Row '当前第几行
.Col = 0 '以选中第0列为标准
End With
End Sub
'mouseup事件,鼠标选中某一条记录
Private Sub flexgriduserinfo_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)
With flexgriduserinfo
If currentrow > 0 Then '如果存在选中的一行
.RowSel = currentrow '.rowsel行为当前行即选中行
.ColSel = .Cols - 1 '保证永远只选中一行
End If
End With
End Sub
Private Sub cmddelete_Click()
Dim mrc As ADODB.Recordset
Dim txtSQL As String
Dim msgText As String
'将删除的用户从注册表中删除
txtSQL = "select * from user_info where user_ID='" & flexgriduserinfo.TextMatrix(flexgriduserinfo.Row, 0) & "'"
Set mrc = ExecuteSQL(txtSQL, msgText)
If Not mrc.EOF Then
mrc.Delete
mrc.Update
End If
With flexgriduserinfo
If .RowSel = 1 Then '如果选中标题行,注意我这里将标题行放在了第二行所以.rowsel=1
MsgBox "请选中要删除的一行!"
Exit Sub
End If
.RemoveItem .Row '移除要删除的一行
MsgBox "用户删除成功!"
Exit Sub
End With
End Sub