📄 editing.vb
字号:
Me.btnCmd.Text = "Command"
'
'daEmployeeList
'
Me.daEmployeeList.DeleteCommand = Me.cmdDeleteEmployees
Me.daEmployeeList.InsertCommand = Me.cmdInsertEmployees
Me.daEmployeeList.SelectCommand = Me.cmdSelectEmployees
Me.daEmployeeList.TableMappings.AddRange(New System.Data.Common.DataTableMapping() {New System.Data.Common.DataTableMapping("Table", "EmployeeList", New System.Data.Common.DataColumnMapping() {New System.Data.Common.DataColumnMapping("EmployeeID", "EmployeeID"), New System.Data.Common.DataColumnMapping("FirstName", "FirstName"), New System.Data.Common.DataColumnMapping("LastName", "LastName")})})
Me.daEmployeeList.UpdateCommand = Me.cmdUpdateEmployees
'
'btnSave
'
Me.btnSave.Location = New System.Drawing.Point(360, 6)
Me.btnSave.Name = "btnSave"
Me.btnSave.TabIndex = 3
Me.btnSave.Text = "Save"
'
'btnAdd
'
Me.btnAdd.Location = New System.Drawing.Point(360, 36)
Me.btnAdd.Name = "btnAdd"
Me.btnAdd.TabIndex = 4
Me.btnAdd.Text = "Add"
'
'frmEditing
'
Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
Me.ClientSize = New System.Drawing.Size(442, 303)
Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.btnFill, Me.btnReject, Me.btnCmd, Me.btnDefer, Me.btnEdit, Me.btnAdd, Me.btnDelete, Me.btnAccept, Me.btnUpdate, Me.Label5, Me.Label4, Me.Label3, Me.btnSave, Me.txtPosition, Me.btnNext, Me.btnLast, Me.btnPrevious, Me.btnFirst, Me.txtWorkingFirstName, Me.txtWorkingID, Me.txtWorkingLastName, Me.Panel1})
Me.Name = "frmEditing"
Me.Text = "Editing"
CType(Me.dsEmployeeList1, System.ComponentModel.ISupportInitialize).EndInit()
Me.Panel1.ResumeLayout(False)
Me.gbRowStatus.ResumeLayout(False)
Me.ResumeLayout(False)
End Sub
#End Region
#Region "Navigation Buttons"
Private Sub btnFirst_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnFirst.Click
Me.BindingContext(Me.dsEmployeeList1, "EmployeeList").Position = 0
UpdateDisplay()
End Sub
Private Sub btnPrevious_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPrevious.Click
With Me.BindingContext(Me.dsEmployeeList1, "EmployeeList")
If .Position = 0 Then
Beep()
Else
.Position -= 1
UpdateDisplay()
End If
End With
End Sub
Private Sub btnNext_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnNext.Click
With Me.BindingContext(Me.dsEmployeeList1, "EmployeeList")
If .Position = .Count - 1 Then
Beep()
Else
.Position += 1
UpdateDisplay()
End If
End With
End Sub
Private Sub btnLast_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLast.Click
With Me.BindingContext(Me.dsEmployeeList1, "EmployeeList")
.Position = .Count - 1
UpdateDisplay()
End With
End Sub
#End Region
#Region "Utility Functions"
Private Sub btnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSave.Click
Dim bm As BindingManagerBase
Dim drv As DataRowView
bm = Me.BindingContext(Me.dsEmployeeList1, "EmployeeList")
drv = CType(bm.Current, DataRowView)
drv.EndEdit()
UpdateDisplay()
End Sub
Sub UpdateDisplay()
'display original values
With Me.dsEmployeeList1.EmployeeList.Rows(Me.BindingContext(Me.dsEmployeeList1, "EmployeeList").Position)
Me.txtCurrentID.Text = .Item("EmployeeID")
Me.txtCurrentFirstName.Text = .Item("FirstName")
Me.txtCurrentLastName.Text = .Item("LastName")
If .HasVersion(DataRowVersion.Original) Then
Me.txtOriginalID.Text = .Item("EmployeeID", DataRowVersion.Original)
Me.txtOriginalFirstName.Text = .Item("FirstName", DataRowVersion.Original)
Me.txtOriginalLastName.Text = .Item("LastName", DataRowVersion.Original)
Else
Me.txtOriginalID.Text = ""
Me.txtOriginalFirstName.Text = ""
Me.txtOriginalLastName.Text = ""
End If
'set radio button
Select Case .RowState
Case DataRowState.Added
Me.rbNew.Checked = True
Case DataRowState.Deleted
Me.rbDeleted.Checked = True
Case DataRowState.Modified
Me.rbChanged.Checked = True
Case DataRowState.Unchanged
Me.rbUnchanged.Checked = True
End Select
End With
'set position text
Me.txtPosition.Text = "Employee " & _
(Me.BindingContext(Me.dsEmployeeList1, "EmployeeList").Position + 1).ToString & _
" of " & Me.BindingContext(Me.dsEmployeeList1, "EmployeeList").Count.ToString
End Sub
Function GetRow() As DataRow
Dim bm As BindingManagerBase
Dim drv As DataRowView
Dim dr As DataRow
bm = Me.BindingContext(Me.dsEmployeeList1, "EmployeeList")
drv = CType(bm.Current, DataRowView)
GetRow = drv.Row
End Function
#End Region
Private Sub btnAccept_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAccept.Click
Me.dsEmployeeList1.AcceptChanges()
UpdateDisplay()
End Sub
Private Sub btnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAdd.Click
Dim drNew As System.Data.DataRow
drNew = Me.dsEmployeeList1.EmployeeList.NewRow()
drNew.Item("FirstName") = "New First"
drNew.Item("LastName") = "New Last"
Me.dsEmployeeList1.EmployeeList.Rows.Add(drNew)
End Sub
Private Sub btnDelete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDelete.Click
Dim dr As System.Data.DataRow
'get row currently displayed in the form
dr = GetRow()
'Delete the row
dr.Delete()
'Move to the next record & redisplay
Me.BindingContext(Me.dsEmployeeList1, "EmployeeList").Position += 1
UpdateDisplay()
End Sub
Private Sub btnEdit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEdit.Click
Dim drCurrent As System.Data.DataRow
drCurrent = GetRow()
drCurrent.Item("FirstName") = "Changed"
UpdateDisplay()
End Sub
Private Sub btnDefer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDefer.Click
Dim drCurrent As System.Data.DataRow
drCurrent = GetRow()
With drCurrent
.BeginEdit()
.Item("FirstName") = "Proposed Name"
MessageBox.Show(.Item("FirstName", DataRowVersion.Proposed))
.CancelEdit()
End With
End Sub
Private Sub btnUpdate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnUpdate.Click
Me.daEmployeeList.Update(Me.dsEmployeeList1.EmployeeList)
UpdateDisplay()
End Sub
Private Sub btnCmd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCmd.Click
Dim cmdUpdate As System.Data.SqlClient.SqlCommand
Dim drCurrent As System.Data.DataRow
cmdUpdate = Me.daEmployeeList.UpdateCommand
drCurrent = GetRow()
cmdUpdate.Parameters("@first").Value = drCurrent("FirstName")
cmdUpdate.Parameters("@last").Value = drCurrent("LastName")
cmdUpdate.Parameters("@empID").Value = drCurrent("EmployeeID")
Me.cnNorthwind.Open()
cmdUpdate.ExecuteNonQuery()
Me.cnNorthwind.Close()
Me.dsEmployeeList1.AcceptChanges()
UpdateDisplay()
End Sub
Private Sub btnFill_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnFill.Click
Me.dsEmployeeList1.EmployeeList.Clear()
Me.daEmployeeList.Fill(Me.dsEmployeeList1.EmployeeList)
UpdateDisplay()
End Sub
Private Sub btnReject_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnReject.Click
Me.dsEmployeeList1.RejectChanges()
UpdateDisplay()
End Sub
End Class
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -