这个窗体相对来说是不太难的,但是我敲的时候真的是有点费劲啊。主要问题是在删除这个按钮上。。。但是我们从头说起吧还是!!!
由于用户级别是不能添加内容的,所以这时候需要一个很简单的事件,那就是在combo1的KeyPress中这样的代码:KeyAscii = 0 接下来就是通过combo1中用户级别的变化来显示在控件中拉。这个功能也是相对容易的,具体代码如下:(我设置的msflexgrid的属性为固定行为0,行为1)
txtsql = "select * from user_info where level='" & Trim(Combo1.Text) & "'"
Set mrc = ExecuteSQL(txtsql, msgtext)
With MSFlexGrid1
.CellAlignment = 4
.Rows = 1
.TextMatrix(0, 0) = "用户名"
.TextMatrix(0, 1) = "姓名"
.TextMatrix(0, 2) = "开户人"
End With
Do While Not mrc.EOF
With MSFlexGrid1
.Rows = .Rows + 1
.CellAlignment = 4
.TextMatrix(.Rows - 1, 0) = Trim(mrc!UserId)
.TextMatrix(.Rows - 1, 1) = Trim(mrc!username)
.TextMatrix(.Rows - 1, 2) = Trim(mrc!head)
End With
mrc.MoveNext
Loop
这个功能就这样的实现啦,接下来我们说说删除的功能。其实和强制下机的代码几乎是一样的啦。首先需要选中行,这时候需要在删除的代码中写上以下的代码:
MSFlexGrid1.SelectionMode = flexSelectionByRow '单击的时候选择的是整行
MSFlexGrid1.FocusRect = flexFocusNone '在当前单元的周围画一个焦点框
MSFlexGrid1.Highlight = flexHighlightWithFocus '该值决定了所选定的单元是否突出显示
接下来就是删除啦,选中一行,点击删除按钮即可。但是要考虑到第一行,也就是表头是不能删除的。具体代码如下:
With MSFlexGrid1
If .RowSel = 0 Then
MsgBox "请选择数据", vbOKOnly + vbExclamation, "提示"
Exit Sub
Else
If .RowSel > 0 Then
txtsql = "delete from user_Info where cardno='" & Trim(.TextMatrix(.RowSel, 0)) & "'"
Set mrc = ExecuteSQL(txtsql, msgtext)
.RemoveItem .RowSel
End If
End If
End With
现在觉得这些代码的思路是很简单的,但是自己刚开始做的时候真的各种不知道,所以啊,自己在开始的时候就应该该怎样的实现,然后按着自己的想法写代码,遇到不会的属性什么的网上查。
假如删除完了,这个系统不就没有人可以进去啦吗?所以我们需要在数据库中添加一个新的用户级别,这个新的用户级别是不在代码中出来的,这样删除完了也就不怕啦啊!!!!
万事开头难,越做越容易,就当是勉励自己痛苦不堪的c++吧!!!