⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 editing.vb

📁 东软内部材料(六)ado .net相关
💻 VB
📖 第 1 页 / 共 3 页
字号:
        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 + -