ListView.Top = TreeView.Top
ListView.Height = TreeView.Height
imgSplit.Top = TreeView.Top
imgSplit.Height = TreeView.Height
End Sub
单击Treeview中的班级号码则调用TreeView_NodeClick事件和ListviewLoad事件在Listview中显示该班级下面学生的信息列表。
Private Sub TreeView_NodeClick(ByVal Node As MSComctlLib.Node)
'正在导入数据,提示用户等待
Me.MousePointer = 11
If Node.Tag = "classid" Then
'开始在ListView中显示数据
classid = Left(Node.Text, 6)
Call ListviewLoad(classid)
ElseIf Node.Key = "S" Then
Call SqlListview(SqlSearch)
Else
ListView.ListItems.Clear
End If
End Sub
Public Sub ListviewLoad(ByVal classid As String)
Dim Listit As ListItem
ListView.ListItems.Clear
ListView.LabelEdit = lvwManual
ListView.View = 3
Dim ef As New ADODB.Recordset
classid = Left(classid, 6)
sqlstr = "select * from StuInfo where SID like '" & classid & "__' order by SID"
ef.Open sqlstr, con, 1, 1
Do While Not ef.EOF
Set Listit = ListView.ListItems.Add(, , ef.Fields("SID"))
Listit.SubItems(1) = ef.Fields("SName")
Listit.SubItems(2) = ef.Fields("SGender")
Listit.SubItems(3) = ef.Fields("SMinzu")
Listit.SubItems(4) = ef.Fields("SZhengzhi")
Listit.SubItems(5) = ef.Fields("SDormitory")
Listit.SubItems(6) = ef.Fields("SAddress")
ef.MoveNext
Loop
ef.Close: Set ef = Nothing
ListView.SetFocus
End Sub
在显示该班级下面所有学生信息的同时,用户可以对记录进行管理:添加新记录、编辑或者删除当前记录,为此在Listview中创建右键菜单,用来对记录进行操作。
在本系统中,在系统默认情况下,班级编号作为学号的前面辣位。为了体现这一关系,需要将班级编号赋给显示学号的文本框。
“添加”子菜单的Click事件的设计思路:
用户单击“添加”子菜单时,调用frmmain中的“添加学生信息”子菜单显示FrmAddStu窗体,同时将Command1的Caption属性设置为“确定(&O)”。
Private Sub pop3_Click()
'添加学生资料
Call Frmstu.AddStu
End Sub
Public Sub AddStu()
Call FrmAddStu.LoadStu("00000000")
End Sub
修改学生资料的Click事件的设计思路和添加学生资料的设计思路类似,但是由于只是对记录进行修改,不需要调用AddNew操作,只要对数据进行Update操作即可。
Private Sub pop4_Click()
'修改学生资料
Call Frmstu.ModifyStu
End Sub
Public Sub ModifyStu()
'显示窗口
Dim EditNum As String
If ListView.SelectedItem.Selected Then
EditNum = CStr(ListView.SelectedItem.Text)
Call FrmAddStu.LoadStu(EditNum)
Else
Exit Sub
End If
End Sub
删除学生资料的设计思路:
在删除记录之前弹出询问框,确认用户是否真的要删除当前记录,如果用户选择了“是”,则删除该条记录,否则就不执行任何操作。
在删除记录过程中,使用学生的学号作为关键字,调用Execute方法来删除当前记录。
在删除了当前记录以后,需要重新移动当前记录;由于改变了当前记录集的内容,所以需要调用ListviewLoad子过程来刷新Listview中的内容。Private Sub pop5_Click()
'删除学生资料
Call Frmstu.DelStu
End Sub
Public Sub DelStu()
If ListView.SelectedItem.Selected Then
If MsgBox("确定要删除学号为 " & ListView.SelectedItem.Text & "的全部资料吗!", vbYesNo + 32 + vbDefaultButton2) = vbYes Then
sqlstr = "delete from StuInfo where SID='" & ListView.SelectedItem.Text & "'"
con.Execute sqlstr
Call ListviewLoad(classid)
End If
End If
End Sub
学生信息包括了学号、姓名、出生日期、性别、家庭住址、联系电话等内容。在Listview中列出了各学籍信息的学号和姓名以供用户进行导航,但是在实际管理中,还需要显示出某一条学生信息的详细列表。为此,设计详细信息框,来罗列用户的各种详细信息。当用户单击“显示该生详细资料”子菜单时,显示frmstuinfo窗体(图3.6),并以学生学号为关键字,将该学生的全部资料赋值给frmstuinfo中的对应文本框。
图3.6 学生详细信息
Private Sub pop1_Click()
'显示详细资料
Call Frmstu.ListView_DblClickEnd Sub
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] ... 下一页 >>