📄 frmstudent.vb
字号:
Me.cbbBirthPlace.DisplayMember = "籍贯"
Me.cbbBirthPlace.ValueMember = "籍贯编号"
dv = db.RunSelectSQL("select 学籍编号,学籍名称 from 学籍代码表")
Me.cbbStatus.DataSource = dv
Me.cbbStatus.DisplayMember = "学籍名称"
Me.cbbStatus.ValueMember = "学籍编号"
db.Dispose()
End Sub Public Overrides Sub LoadData()
Dim strFilter As String
If txbOne.Text.Trim.Length = 0 Then
If txbTwo.Text.Trim.Length = 0 Then
If txbThree.Text.Trim.Length = 0 Then
strFilter = ""
Else
strFilter = "where 年级 like '"
strFilter += txbThree.Text.Trim + "%'"
End If
Else
strFilter = "where 姓名 like '"
strFilter += txbTwo.Text.Trim + "%'"
If txbThree.Text.Trim.Length <> 0 Then
strFilter += " and 年级 like '"
strFilter += txbThree.Text.Trim + "%'"
End If
End If
Else
strFilter = "where 学号 like '"
strFilter += txbOne.Text.Trim + "%'"
If txbTwo.Text.Trim.Length <> 0 Then
strFilter += " and 姓名 like '"
strFilter += txbTwo.Text.Trim + "%'"
If txbThree.Text.Trim.Length <> 0 Then
strFilter += " and 年级 like '"
strFilter += txbThree.Text.Trim + "%'"
End If
Else
If txbThree.Text.Trim.Length <> 0 Then
strFilter += " and 年级 like '"
strFilter += txbThree.Text.Trim + "%'"
End If
End If
End If
'清空DataSet11
DataSet11.Clear()
SqlConnection1.ConnectionString = DataBase.sConn
Dim strSQL As String
SqlDataAdapter1.SelectCommand.CommandText _
= "select * from 学生信息 " + strFilter
'根据查询条件重新填充DataSet11
SqlDataAdapter1.Fill(DataSet11)
dtData = DataSet11.Tables("学生信息")
If dtData.Columns.Count < 15 Then
dtData.Columns.Add("班级")
dtData.Columns.Add("政治面貌")
dtData.Columns.Add("民族")
dtData.Columns.Add("籍贯")
dtData.Columns.Add("学籍")
End If
bmData = Me.BindingContext(DataSet11, "学生信息")
If bmData.Count <> 0 Then
bmData.Position = 0
End If
End Sub Public Overrides Sub SetDataGrid()
LoadData()
'定义一个DataGrid表样式
Dim ts As New DataGridTableStyle
Dim aColumnTextColumn As DataGridTextBoxColumn
Dim numCols As Integer = dtData.Columns.Count
Dim i As Integer
For i = 0 To numCols - 1
'If i = 6 Then
' i = 10
'End If
aColumnTextColumn = New DataGridTextBoxColumn
aColumnTextColumn.MappingName = _
dtData.Columns(i).ColumnName
aColumnTextColumn.HeaderText = _
dtData.Columns(i).ColumnName
aColumnTextColumn.NullText = ""
aColumnTextColumn.ReadOnly = True
'aColumnTextColumn.Width = 55
ts.GridColumnStyles.Add(aColumnTextColumn)
Next
ts.AlternatingBackColor = Color.LightGray
ts.AllowSorting = False
ts.MappingName = dtData.TableName
dgdList.TableStyles.Clear()
dgdList.TableStyles.Add(ts)
Dim dv As DataView = dtData.DefaultView
dv.AllowNew = False
dv.AllowDelete = False
'dv.AllowEdit = False
'设置数据源
dgdList.DataSource = dtData.DefaultView
bmData = Me.BindingContext(DataSet11, "学生信息")
lblCount.Text = "记录数:" + dtData.Rows.Count.ToString()
SetDetailData()
End Sub Private Sub SetDetailData() Dim dtClassId, dtPolity, dtNation, _
dtBirthPlace, dtStatus As DataTable
Dim db As DataBase = New DataBase
dtClassId = db.RunSelectSQL _
("select 班级编号,班级名称 from 班级信息 order by 班级名称").Table
dtPolity = db.RunSelectSQL _
("select 政治面貌编号,政治面貌 from 政治面貌代码表").Table
dtNation = db.RunSelectSQL _
("select 民族编号,民族 from 民族代码表").Table
dtBirthPlace = db.RunSelectSQL _
("select 籍贯编号,籍贯 from 籍贯代码表").Table
dtStatus = db.RunSelectSQL _
("select 学籍编号,学籍名称 from 学籍代码表").Table
Dim dv As DataView
For i As Integer = 0 To dtData.Rows.Count - 1
dv = dtClassId.DefaultView
dv.RowFilter = "班级编号='" + dtData.Rows(i)("班级编号") + "'"
dtData.Rows(i)("班级") = dv(0)(1)
dv = dtPolity.DefaultView
dv.RowFilter = "政治面貌编号='" + dtData.Rows(i)("政治面貌编号") + "'"
dtData.Rows(i)("政治面貌") = dv(0)(1)
dv = dtNation.DefaultView
dv.RowFilter = "民族编号='" + dtData.Rows(i)("民族编号") + "'"
dtData.Rows(i)("民族") = dv(0)(1)
dv = dtBirthPlace.DefaultView
dv.RowFilter = "籍贯编号='" + dtData.Rows(i)("籍贯编号") + "'"
dtData.Rows(i)("籍贯") = dv(0)(1)
dv = dtStatus.DefaultView
dv.RowFilter = "学籍编号='" + dtData.Rows(i)("学籍编号") + "'"
dtData.Rows(i)("学籍") = dv(0)(1)
Next
End Sub Public Overrides Sub SetTextBoxState(ByVal bState As Boolean)
Me.GroupBox1.Enabled = Not bState
End Sub Public Overrides Sub Clear() Me.txbClassId.Text = ""
Me.txbGrade.Text = ""
Me.txbName.Text = ""
Me.txbPID.Text = ""
Me.cbbBirthPlace.Text = ""
Me.cbbClassId.Text = ""
Me.cbbNation.Text = ""
Me.cbbPolity.Text = ""
Me.cbbSex.Text = ""
Me.cbbStatus.Text = ""
End Sub Public Overrides Sub SaveForAdd()
Dim dr As DataRow = DataSet11.Tables("学生信息").NewRow()
Try
dr("学号") = Me.txbClassId.Text.Trim
dr("姓名") = Me.txbName.Text.Trim
dr("年级") = Me.txbGrade.Text.Trim
dr("性别") = Me.cbbSex.Text.Trim
dr("年级") = Me.txbGrade.Text.Trim
dr("身份证号") = Me.txbPID.Text.Trim
dr("政治面貌编号") = Me.cbbPolity.SelectedValue
dr("民族编号") = Me.cbbNation.SelectedValue
dr("籍贯编号") = Me.cbbBirthPlace.SelectedValue
dr("班级编号") = Me.cbbClassId.SelectedValue
dr("学籍编号") = Me.cbbStatus.SelectedValue
Catch ex As Exception
MessageBox.Show("数据格式不正确!")
Return
End Try
Try
DataSet11.Tables("学生信息").Rows.Add(dr)
If Me.DataSet11.HasChanges = True Then
SqlDataAdapter1.Update(DataSet11)
End If
Catch ex As Exception
MessageBox.Show(ex.ToString) '("数据添加失败!")
End Try
LoadData()
dgdList.DataSource = dtData.DefaultView
End Sub Public Overrides Sub DeleteData()
Try
'删除当前行的数据
DataSet11.Tables("学生信息"). _
Rows(bmData.Position).Delete()
If Me.DataSet11.HasChanges = True Then
'更新DataSet11
SqlDataAdapter1.Update(DataSet11)
End If
Catch ex As Exception
MessageBox.Show("数据删除失败!")
End Try
End Sub Public Overrides Sub SaveForUpdate()
Try
Dim row As Integer
row = dgdList.CurrentCell.RowNumber
dgdList.CurrentCell = _
New DataGridCell((row + 1) Mod bmData.Count, 0)
'判断是否有更新的数据
If Me.DataSet11.HasChanges = True Then
SqlDataAdapter1.Update(DataSet11)
End If
Catch ex As Exception
MessageBox.Show("数据修改失败!")
End Try
End SubEnd Class
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -