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

📄 formdepartment.vb

📁 人事管理系统(VB.NET2005+SQL Server2005)
💻 VB
📖 第 1 页 / 共 2 页
字号:
        'cmbCompany
        '
        Me.cmbCompany.Location = New System.Drawing.Point(168, 56)
        Me.cmbCompany.Name = "cmbCompany"
        Me.cmbCompany.Size = New System.Drawing.Size(200, 20)
        Me.cmbCompany.TabIndex = 8
        '
        'Label2
        '
        Me.Label2.Location = New System.Drawing.Point(48, 56)
        Me.Label2.Name = "Label2"
        Me.Label2.Size = New System.Drawing.Size(100, 20)
        Me.Label2.TabIndex = 1
        Me.Label2.Text = "所属公司"
        '
        'Label4
        '
        Me.Label4.Location = New System.Drawing.Point(48, 104)
        Me.Label4.Name = "Label4"
        Me.Label4.Size = New System.Drawing.Size(100, 20)
        Me.Label4.TabIndex = 3
        Me.Label4.Text = "部门名称"
        '
        'txtNumber
        '
        Me.txtNumber.Location = New System.Drawing.Point(168, 32)
        Me.txtNumber.Name = "txtNumber"
        Me.txtNumber.Size = New System.Drawing.Size(200, 21)
        Me.txtNumber.TabIndex = 4
        '
        'txtName
        '
        Me.txtName.Location = New System.Drawing.Point(168, 104)
        Me.txtName.Name = "txtName"
        Me.txtName.Size = New System.Drawing.Size(200, 21)
        Me.txtName.TabIndex = 7
        '
        'Label1
        '
        Me.Label1.Location = New System.Drawing.Point(48, 32)
        Me.Label1.Name = "Label1"
        Me.Label1.Size = New System.Drawing.Size(100, 20)
        Me.Label1.TabIndex = 0
        Me.Label1.Text = "部门编号"
        '
        'Label3
        '
        Me.Label3.Location = New System.Drawing.Point(48, 80)
        Me.Label3.Name = "Label3"
        Me.Label3.Size = New System.Drawing.Size(100, 20)
        Me.Label3.TabIndex = 2
        Me.Label3.Text = "所属部门"
        '
        'FormDepartment
        '
        Me.AutoScaleBaseSize = New System.Drawing.Size(6, 14)
        Me.ClientSize = New System.Drawing.Size(640, 245)
        Me.Controls.Add(Me.Panel2)
        Me.Controls.Add(Me.Splitter1)
        Me.Controls.Add(Me.Panel1)
        Me.Name = "FormDepartment"
        Me.Text = "部门设置"
        Me.Panel1.ResumeLayout(False)
        Me.Panel2.ResumeLayout(False)
        Me.Panel4.ResumeLayout(False)
        Me.Panel3.ResumeLayout(False)
        Me.Panel3.PerformLayout()
        Me.ResumeLayout(False)

    End Sub

#End Region
    Private Sub InitialData()
        'Clear Controls
        cmbCompany.DataSource = Nothing
        cmbCompany.Items.Clear()
        cmbParent.DataSource = Nothing
        cmbParent.Items.Clear()
        tvDepartment.Nodes.Clear()

        'Initial cmbCompany
        Dim dsCompany As DataSet
        dsCompany = DbBase.DataInterface().Execute4DS("select top 1 id,name from company")
        cmbCompany.DataSource = dsCompany.Tables(0).DefaultView
        cmbCompany.DisplayMember = "name"
        cmbCompany.ValueMember = "id"

        'Initial cmbParent
        Dim dsParent As DataSet
        dsParent = DbBase.DataInterface().Execute4DS("select number,name from department where parent_number = '-1'")
        Dim drTemp As DataRow
        drTemp = dsParent.Tables(0).NewRow
        drTemp.Item("number") = "-1"
        drTemp.Item("name") = "直属公司"
        dsParent.Tables(0).Rows.InsertAt(drTemp, 0)
        cmbParent.DataSource = dsParent.Tables(0).DefaultView
        cmbParent.DisplayMember = "name"
        cmbParent.ValueMember = "number"

        '初始化树目录
        Dim tnRoot As TreeNode
        tnRoot = New TreeNode(dsCompany.Tables(0).Rows(0).Item("name"))
        tnRoot.Tag = dsCompany.Tables(0).Rows(0).Item("id")
        tnRoot.ImageIndex = 0
        tnRoot.SelectedImageIndex = 0
        tvDepartment.Nodes.Add(tnRoot)
        Dim dsDeparts As DataSet
        dsDeparts = DbBase.DataInterface().Execute4DS("select number,name,parent_number from department order by number")
        '在树目录添加部门
        Dim iNodeIndex As Integer = 0
        For Each drDepart As DataRow In dsDeparts.Tables(0).Rows
            Dim tnTemp As TreeNode
            tnTemp = New TreeNode(drDepart.Item("name"))
            tnTemp.Tag = drDepart.Item("number")
            tnTemp.ImageIndex = 1
            tnTemp.SelectedImageIndex = 1
            If Microsoft.VisualBasic.Right(drDepart.Item("number"), 1) = "0" Then ''判断是否以0结尾
                tnRoot.Nodes.Add(tnTemp)
                iNodeIndex = tnTemp.Index
            Else
                Dim ds As DataSet
                Dim parent_number As String = drDepart.Item("parent_number")
                ds = DbBase.DataInterface().Execute4DS("select top 1 * from department where number=" & parent_number)
                Dim dr As DataRow = ds.Tables(0).Rows.Item(0)
                Dim n As New TreeNode
                For Each n In tnRoot.Nodes
                    If n.Text = dr.Item("name") Then 'if 已经存在的节点的text属性是否=(dr.Item("name")) then
                        n.Nodes.Add(tnTemp) '在已有节点的基础上添加子节点
                    End If
                Next '遍历所有节点
            End If
        Next
        tvDepartment.ExpandAll() '展开所有节点
    End Sub
    Private Sub ShowDepartment()
        If oDepartment Is Nothing Then
            Exit Sub
        End If
        txtNumber.Text = oDepartment.Number
        cmbCompany.SelectedValue = oDepartment.iCompanyId
        If oDepartment.Parent Is Nothing Then
            'cmbParent.SelectedIndex = 0
            cmbParent.SelectedIndex = cmbParent.Items.Count - 1
        Else
            cmbParent.Text = oDepartment.Parent.Name
        End If
        txtName.Text = oDepartment.Name
    End Sub
    Private Sub FormDepartment_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        InitialData()
    End Sub
    Private Sub tvDepartment_AfterSelect(ByVal sender As Object, ByVal e As TreeViewEventArgs) Handles tvDepartment.AfterSelect
        If Not e.Node Is tvDepartment.Nodes(0) Then
            oDepartment = New Department(e.Node.Tag)
        End If
        ShowDepartment()
        EndEdit()
    End Sub
    Private Sub tvDepartment_MouseDown(ByVal send As Object, ByVal e As MouseEventArgs) Handles tvDepartment.MouseDown
        Dim tnClicked As TreeNode
        tnClicked = tvDepartment.GetNodeAt(New Point(e.X, e.Y))
        If Not tnClicked Is Nothing And Not tnClicked Is tvDepartment.Nodes(0) Then
            tvDepartment.SelectedNode = tnClicked
            oDepartment = New Department(tnClicked.Tag)
        End If
    End Sub
    Private Sub miView_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles miView.Click
        ShowDepartment()
        EndEdit()
    End Sub

    Private Sub miAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles miAdd.Click
        If oDepartment Is Nothing Then
            oDepartment = New Department
        Else
            oDepartment.Number = ""
            oDepartment.Name = ""
        End If
        ShowDepartment()
        BeginEdit()
        btnUpdate.Text = "增  加"
    End Sub

    Private Sub miEdit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles miEdit.Click
        ShowDepartment()
        BeginEdit()
        btnUpdate.Text = "修  改"
    End Sub

    Private Sub miDel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles miDel.Click
        ShowDepartment()
        BeginEdit()
        btnUpdate.Text = "删  除"
    End Sub

    Private Sub miAddSub_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles miAddSub.Click
        Dim oOldDepart As Department
        oOldDepart = oDepartment
        oDepartment = New Department
        oDepartment.Number = ""
        If oOldDepart Is Nothing Then
            oDepartment.Company = Nothing
        Else
            oDepartment.Company = oOldDepart.Company
        End If
        oDepartment.Parent = oOldDepart
        oDepartment.Name = ""
        ShowDepartment()
        BeginEdit()
        btnUpdate.Text = "增  加"
    End Sub

    Private Sub miClear_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles miClear.Click
        If MessageBox.Show("您确认删除该部门下的所有子部门吗?", "清空部门", MessageBoxButtons.OKCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) = Windows.Forms.DialogResult.OK Then
            oDepartment.ClearSub()
            InitialData()
        End If
    End Sub

    Private Sub btnUpdate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnUpdate.Click
        oDepartment.Number = txtNumber.Text
        oDepartment.iCompanyId = cmbCompany.SelectedValue
        oDepartment.sParentNumber = cmbParent.SelectedValue
        oDepartment.Name = txtName.Text
        Select Case btnUpdate.Text
            Case "增  加"
                oDepartment.Add()
            Case "修  改"
                oDepartment.Update()
            Case "删  除"
                If MessageBox.Show("删除操作将该部门下的所有子部门一同删除,您确认删除该部门吗?", "删除部门", MessageBoxButtons.OKCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) = Windows.Forms.DialogResult.OK Then
                    oDepartment.Delete()
                End If
        End Select
        InitialData()
        EndEdit()
    End Sub

    Private Sub btnCancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCancel.Click
        ShowDepartment()
        EndEdit()
    End Sub
    Private Sub btnExit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnExit.Click
        Me.Close()
    End Sub

    Private Sub btnReset_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnReset.Click
        ShowDepartment()
    End Sub

    Private Sub BeginEdit()
        btnUpdate.Enabled = True
        btnCancel.Enabled = True
    End Sub

    Private Sub EndEdit()
        btnUpdate.Enabled = False
        btnCancel.Enabled = False
    End Sub
End Class

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -