123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355 |
- Option Strict Off
- Imports System.IO
- Public Class 公司組織結構
- Dim RI As Integer = -1
- Dim SK As String = "要查找的 KEY"
- Dim Str As String = Application.StartupPath
- DIM 對話框(15) As String
- Private Sub Set_清單1()
- If PA47 = "HX / PGS LTD. C." Then : Else
- Dim ds1 As New DataSet : 主管_dgv.DataSource = Nothing : ds1.Clear()
- 主管_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
- 主管_dgv.ColumnHeadersHeight = 25 : 主管_dgv.AllowUserToAddRows = False : 主管_dgv.RowTemplate.Height = 45
- SQL_系統組織結構圖_單位主管1()
- da.Fill(ds1) : 主管_dgv.DataSource = ds1.Tables(0) : conn.Close()
- 主管_dgv.Columns(0).FillWeight = 100 : 主管_dgv.Columns(1).FillWeight = 50 : 主管_dgv.Columns(2).FillWeight = 150
- For i As Integer = 0 To 主管_dgv.Rows.Count - 1
- 主管_dgv(0, i).Value = 主管_dgv(0, i).Value.ToString.ToUpper : 主管_dgv(2, i).Value = 主管_dgv(2, i).Value.ToString.ToUpper
- Dim 驗證 As String = "" : Dim 取變數 As String
- 取變數 = 主管_dgv.Rows(i).Cells("Jobtitle").Value.ToString : NN1 = 0
- For ii As Integer = 1 To 20
- If ii = 1 Then : 驗證 = Strings.Left(取變數, ii) : NN1 += 1 : Else
- If Strings.Mid(取變數, ii, 1) = "/" Then : Exit For : Else : 驗證 &= Strings.Mid(取變數, ii, 1) : NN1 += 1 : End If
- End If
- Next
- If 系統語言 = "繁體中文" Then : 主管_dgv.Rows(i).Cells("Jobtitle").Value = 驗證 : Else
- If Strings.Left(主管_dgv.Rows(i).Cells("Jobtitle").Value.ToString, 6) = "00000." Then : 主管_dgv.Rows(i).Cells("Jobtitle").Value = "00000.NA" : Else
- 主管_dgv.Rows(i).Cells("Jobtitle").Value = Strings.Left(主管_dgv.Rows(i).Cells("Jobtitle").Value.ToString, 6) &
- Strings.Mid(主管_dgv.Rows(i).Cells("Jobtitle").Value.ToString, NN1 + 2, 100)
- End If
- End If
- Next
- End If
- End Sub
- Private Sub Set_語言()
- 語言_dgv.DataSource = Nothing
- 語言_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
- 語言_dgv.ColumnHeadersHeight = 25
- 語言_dgv.AllowUserToAddRows = False
- For i As Integer = 0 To 語言_dgv.Rows.Count - 1 : 語言_dgv.Rows.RemoveAt(0) : Next
- If File.Exists(Str + "\LANGUAGE_FILE.csv") Then
- Dim filereader = My.Computer.FileSystem.OpenTextFileReader(Str + "\LANGUAGE_FILE.csv", System.Text.Encoding.Default)
- Dim line As String = filereader.ReadLine()
- While Not (line Is Nothing)
- line = filereader.ReadLine()
- If line <> Nothing Then
- line = line.Replace("""", "")
- If Strings.Left(line, 4) = "G000" Or Strings.Left(line, 8) = "H001-111" Or Strings.Left(line, 4) = 介面 Then
- If 系統語言 = "繁體中文" Then
- If Strings.Mid(line, 10, 2) = "CH" Then : 語言_dgv.Rows.Insert(0)
- 語言_dgv.Rows(0).Cells(0).Value = Strings.Left(line, 11)
- If Strings.Mid(line, 13, 300).EndsWith(",") Then
- 語言_dgv.Rows(0).Cells(1).Value = Strings.Mid(line, 13, 300).Substring(0, Strings.Mid(line, 13, 300).Length - 1)
- Else : 語言_dgv.Rows(0).Cells(1).Value = Strings.Mid(line, 13, 300) : End If
- End If
- ElseIf 系統語言 = "English" Then
- If Strings.Mid(line, 10, 2) = "EN" Then : 語言_dgv.Rows.Insert(0)
- 語言_dgv.Rows(0).Cells(0).Value = Strings.Left(line, 11)
- If Strings.Mid(line, 13, 300).EndsWith(",") Then
- 語言_dgv.Rows(0).Cells(1).Value = Strings.Mid(line, 13, 300).Substring(0, Strings.Mid(line, 13, 300).Length - 1)
- Else : 語言_dgv.Rows(0).Cells(1).Value = Strings.Mid(line, 13, 300) : End If
- End If
- ElseIf 系統語言 = "Indonesian" Then
- If Strings.Mid(line, 10, 2) = "IN" Then : 語言_dgv.Rows.Insert(0)
- 語言_dgv.Rows(0).Cells(0).Value = Strings.Left(line, 11)
- If Strings.Mid(line, 13, 300).EndsWith(",") Then
- 語言_dgv.Rows(0).Cells(1).Value = Strings.Mid(line, 13, 300).Substring(0, Strings.Mid(line, 13, 300).Length - 1)
- Else : 語言_dgv.Rows(0).Cells(1).Value = Strings.Mid(line, 13, 300) : End If
- End If
- End If
- End If
- End If
- End While
- filereader.Close()
- End If
- End Sub
- Private Sub Set_語言查詢()
- RI = -1 : For Each row As DataGridViewRow In 語言_dgv.Rows
- If Strings.Left(row.Cells(0).Value.ToString(), 8) = SK Then
- RI = row.Index : Exit For
- End If
- Next
- End Sub
- Private Sub 語言轉換讀取()
- Set_語言() : conn.Close()
- SK = "H001-111" : Set_語言查詢() : Me.Text = 語言_dgv(1, RI).Value.ToString
- SK = "H603-100" : Set_語言查詢() : Label1.Text = 語言_dgv(1, RI).Value.ToString : SK = "H603-101" : Set_語言查詢() : Label2.Text = 語言_dgv(1, RI).Value.ToString
- SK = "G000-128" : Set_語言查詢() : 對話框(0) = 語言_dgv(1, RI).Value.ToString : SK = "G000-129" : Set_語言查詢() : 對話框(1) = 語言_dgv(1, RI).Value.ToString
- SK = "G000-130" : Set_語言查詢() : 對話框(2) = 語言_dgv(1, RI).Value.ToString : SK = "G000-131" : Set_語言查詢() : 對話框(3) = 語言_dgv(1, RI).Value.ToString
- SK = "G000-132" : Set_語言查詢() : 對話框(4) = 語言_dgv(1, RI).Value.ToString : SK = "G000-133" : Set_語言查詢() : 對話框(5) = 語言_dgv(1, RI).Value.ToString
- SK = "G000-134" : Set_語言查詢() : 對話框(6) = 語言_dgv(1, RI).Value.ToString : SK = "G000-135" : Set_語言查詢() : 對話框(7) = 語言_dgv(1, RI).Value.ToString
- SK = "G000-136" : Set_語言查詢() : 對話框(8) = 語言_dgv(1, RI).Value.ToString : SK = "G000-137" : Set_語言查詢() : 對話框(9) = 語言_dgv(1, RI).Value.ToString
- SK = "G000-138" : Set_語言查詢() : 對話框(10) = 語言_dgv(1, RI).Value.ToString : SK = "G000-139" : Set_語言查詢() : 對話框(11) = 語言_dgv(1, RI).Value.ToString
- SK = "G000-140" : Set_語言查詢() : 對話框(12) = 語言_dgv(1, RI).Value.ToString : SK = "G000-141" : Set_語言查詢() : 對話框(13) = 語言_dgv(1, RI).Value.ToString
- SK = "G000-142" : Set_語言查詢() : 對話框(14) = 語言_dgv(1, RI).Value.ToString : SK = "G000-143" : Set_語言查詢() : 對話框(15) = 語言_dgv(1, RI).Value.ToString
- End Sub
- Private Sub 公司組織結構_Load(sender As Object, e As EventArgs) Handles MyBase.Load
- Me.MdiParent = HX_PGS_ERP_SYS : Me.WindowState = 2 : Me.AutoScroll = True
- 風格() : H(603) = True : 分流計算.Enabled = True
- End Sub
- Private Sub 公司組織結構_Closed(sender As Object, e As EventArgs) Handles MyBase.Closed
- MyMod.虛擬桌面開啟()
- End Sub
- Private Sub 語轉扭_bt_Click(sender As Object, e As EventArgs) Handles 語轉扭_bt.Click
- 分流計算.Enabled = True
- End Sub
- Private Sub 分流計算_Tick(sender As Object, e As EventArgs) Handles 分流計算.Tick
- 分流計算.Enabled = False
- 介面 = "H603" : 語言轉換讀取() : Panel1.SendToBack() : 顯示說明(999, False)
-
- 組織圖_tv.Nodes.Clear() : 組織圖1_tv.Nodes.Clear() : 組織圖2_tv.Nodes.Clear() : 組織圖3_tv.Nodes.Clear()
- 組織圖_1_tv.Nodes.Clear() : 組織圖1_1_tv.Nodes.Clear() : 組織圖2_1_tv.Nodes.Clear() : 組織圖3_1_tv.Nodes.Clear()
-
- 組織圖_tv.Nodes.Add("HX / PGS LTD. C.") : 組織圖_1_tv.Nodes.Add("HX / PGS LTD. C.")
- SQL_系統組織結構圖_部門()
- While (dr.Read())
- 組織圖_tv.Nodes(0).Nodes.Add(dr("部門"))
- Dim 驗證 As String = "" : Dim 取變數 As String
- 取變數 = dr("部門").ToString : NN1 = 0
- For ii As Integer = 1 To 20
- If ii = 1 Then : 驗證 = Strings.Left(取變數, ii) : NN1 += 1 : Else
- If Strings.Mid(取變數, ii, 1) = " " Then : Exit For : Else : 驗證 &= Strings.Mid(取變數, ii, 1) : NN1 += 1 : End If
- End If
- Next
- If 系統語言 = "繁體中文" Then : 組織圖_1_tv.Nodes(0).Nodes.Add(驗證) : Else
- If Strings.Left(dr("部門").ToString, 2) = "0." Then : 組織圖_1_tv.Nodes(0).Nodes.Add("0.NA") : Else
- 驗證 = Strings.Left(dr("部門").ToString, 2) & Strings.Mid(dr("部門").ToString, NN1 + 2, 100)
- 組織圖_1_tv.Nodes(0).Nodes.Add(驗證)
- End If
- End If
- End While : conn.Close()
- For I As Integer = 0 To 組織圖_tv.Nodes(0).Nodes.Count - 1
- PA = 組織圖_tv.Nodes(0).Nodes(I).Text : SQL_系統組織結構圖_部門_人員() : Dim BB As Integer = 0
- If 深色風格 = False Then
- While (dr.Read())
- 組織圖_tv.Nodes(0).Nodes(I).Nodes.Add(dr("姓名")) : 組織圖_tv.Nodes(0).Nodes(I).Nodes(BB).ForeColor = Color.Red
- 組織圖_1_tv.Nodes(0).Nodes(I).Nodes.Add(dr("姓名")) : 組織圖_1_tv.Nodes(0).Nodes(I).Nodes(BB).ForeColor = Color.Red : BB += 1
- End While : conn.Close()
- Else
- While (dr.Read())
- 組織圖_tv.Nodes(0).Nodes(I).Nodes.Add(dr("姓名")) : 組織圖_tv.Nodes(0).Nodes(I).Nodes(BB).ForeColor = Color.LightPink
- 組織圖_1_tv.Nodes(0).Nodes(I).Nodes.Add(dr("姓名")) : 組織圖_1_tv.Nodes(0).Nodes(I).Nodes(BB).ForeColor = Color.LightPink : BB += 1
- End While : conn.Close()
- End If
- Next
- 組織圖_tv.ExpandAll() : 組織圖_1_tv.ExpandAll()
-
- 組織圖1_tv.Nodes.Add("HX / PGS LTD. C.") : 組織圖1_1_tv.Nodes.Add("HX / PGS LTD. C.")
- SQL_系統組織結構圖_處別1()
- While (dr.Read())
- 組織圖1_tv.Nodes(0).Nodes.Add(dr("處"))
- Dim 驗證 As String = "" : Dim 取變數 As String
- 取變數 = dr("處").ToString : NN1 = 0
- For ii As Integer = 1 To 20
- If ii = 1 Then : 驗證 = Strings.Left(取變數, ii) : NN1 += 1 : Else
- If Strings.Mid(取變數, ii, 1) = " " Then : Exit For : Else : 驗證 &= Strings.Mid(取變數, ii, 1) : NN1 += 1 : End If
- End If
- Next
- If 系統語言 = "繁體中文" Then : 組織圖1_1_tv.Nodes(0).Nodes.Add(驗證) : Else
- If Strings.Left(dr("處").ToString, 2) = "00." Then : 組織圖1_1_tv.Nodes(0).Nodes.Add("00.NA") : Else
- 驗證 = Strings.Left(dr("處").ToString, 3) & Strings.Mid(dr("處").ToString, NN1 + 2, 100)
- 組織圖1_1_tv.Nodes(0).Nodes.Add(驗證)
- End If
- End If
- End While : conn.Close()
- For I As Integer = 0 To 組織圖1_tv.Nodes(0).Nodes.Count - 1
- PA = 組織圖1_tv.Nodes(0).Nodes(I).Text : SQL_系統組織結構圖_處別_人員() : Dim BB As Integer = 0
- If 深色風格 = False Then
- While (dr.Read())
- 組織圖1_tv.Nodes(0).Nodes(I).Nodes.Add(dr("姓名")) : 組織圖1_tv.Nodes(0).Nodes(I).Nodes(BB).ForeColor = Color.Red
- 組織圖1_1_tv.Nodes(0).Nodes(I).Nodes.Add(dr("姓名")) : 組織圖1_1_tv.Nodes(0).Nodes(I).Nodes(BB).ForeColor = Color.Red : BB += 1
- End While : conn.Close()
- Else
- While (dr.Read())
- 組織圖1_tv.Nodes(0).Nodes(I).Nodes.Add(dr("姓名")) : 組織圖1_tv.Nodes(0).Nodes(I).Nodes(BB).ForeColor = Color.LightPink
- 組織圖1_1_tv.Nodes(0).Nodes(I).Nodes.Add(dr("姓名")) : 組織圖1_1_tv.Nodes(0).Nodes(I).Nodes(BB).ForeColor = Color.LightPink : BB += 1
- End While : conn.Close()
- End If
- Next
- 組織圖1_tv.ExpandAll() : 組織圖1_1_tv.ExpandAll()
-
- 組織圖2_tv.Nodes.Add("HX / PGS LTD. C.") : 組織圖2_1_tv.Nodes.Add("HX / PGS LTD. C.")
- SQL_系統組織結構圖_課別1()
- While (dr.Read())
- 組織圖2_tv.Nodes(0).Nodes.Add(dr("課"))
- Dim 驗證 As String = "" : Dim 取變數 As String
- 取變數 = dr("課").ToString : NN1 = 0
- For ii As Integer = 1 To 20
- If ii = 1 Then : 驗證 = Strings.Left(取變數, ii) : NN1 += 1 : Else
- If Strings.Mid(取變數, ii, 1) = " " Then : Exit For : Else : 驗證 &= Strings.Mid(取變數, ii, 1) : NN1 += 1 : End If
- End If
- Next
- If 系統語言 = "繁體中文" Then : 組織圖2_1_tv.Nodes(0).Nodes.Add(驗證) : Else
- If Strings.Left(dr("課").ToString, 4) = "000." Then : 組織圖2_1_tv.Nodes(0).Nodes.Add("000.NA") : Else
- 驗證 = Strings.Left(dr("課").ToString, 3) & Strings.Mid(dr("課").ToString, NN1 + 2, 100)
- 組織圖2_1_tv.Nodes(0).Nodes.Add(驗證)
- End If
- End If
- End While : conn.Close()
- For I As Integer = 0 To 組織圖2_tv.Nodes(0).Nodes.Count - 1
- PA = 組織圖2_tv.Nodes(0).Nodes(I).Text : SQL_系統組織結構圖_課別_人員() : Dim BB As Integer = 0
- If 深色風格 = False Then
- While (dr.Read())
- 組織圖2_tv.Nodes(0).Nodes(I).Nodes.Add(dr("姓名")) : 組織圖2_tv.Nodes(0).Nodes(I).Nodes(BB).ForeColor = Color.Red
- 組織圖2_1_tv.Nodes(0).Nodes(I).Nodes.Add(dr("姓名")) : 組織圖2_1_tv.Nodes(0).Nodes(I).Nodes(BB).ForeColor = Color.Red : BB += 1
- End While : conn.Close()
- Else
- While (dr.Read())
- 組織圖2_tv.Nodes(0).Nodes(I).Nodes.Add(dr("姓名")) : 組織圖2_tv.Nodes(0).Nodes(I).Nodes(BB).ForeColor = Color.LightPink
- 組織圖2_1_tv.Nodes(0).Nodes(I).Nodes.Add(dr("姓名")) : 組織圖2_1_tv.Nodes(0).Nodes(I).Nodes(BB).ForeColor = Color.LightPink : BB += 1
- End While : conn.Close()
- End If
- Next
- 組織圖2_tv.ExpandAll() : 組織圖2_1_tv.ExpandAll()
-
- 組織圖3_tv.Nodes.Add("HX / PGS LTD. C.") : 組織圖3_1_tv.Nodes.Add("HX / PGS LTD. C.")
- SQL_系統組織結構圖_組別1()
- While (dr.Read())
- 組織圖3_tv.Nodes(0).Nodes.Add(dr("組"))
- If 系統語言 = "繁體中文" Then : 組織圖3_1_tv.Nodes(0).Nodes.Add(dr("組")) : Else
- If Strings.Mid(dr("組").ToString, 6, 2) = "工務" Then : 組織圖3_1_tv.Nodes(0).Nodes.Add(Strings.Left(dr("組").ToString, 5) & 對話框(0))
- ElseIf Strings.Mid(dr("組").ToString, 6, 2) = "製圖" Then : 組織圖3_1_tv.Nodes(0).Nodes.Add(Strings.Left(dr("組").ToString, 5) & 對話框(1))
- ElseIf Strings.Mid(dr("組").ToString, 6, 2) = "銷售" Then : 組織圖3_1_tv.Nodes(0).Nodes.Add(Strings.Left(dr("組").ToString, 5) & 對話框(2))
- ElseIf Strings.Mid(dr("組").ToString, 6, 2) = "會計" Then : 組織圖3_1_tv.Nodes(0).Nodes.Add(Strings.Left(dr("組").ToString, 5) & 對話框(3))
- ElseIf Strings.Mid(dr("組").ToString, 6, 2) = "稅務" Then : 組織圖3_1_tv.Nodes(0).Nodes.Add(Strings.Left(dr("組").ToString, 5) & 對話框(4))
- ElseIf Strings.Mid(dr("組").ToString, 6, 2) = "財務" Then : 組織圖3_1_tv.Nodes(0).Nodes.Add(Strings.Left(dr("組").ToString, 5) & 對話框(5))
- ElseIf Strings.Mid(dr("組").ToString, 6, 2) = "總務" Then : 組織圖3_1_tv.Nodes(0).Nodes.Add(Strings.Left(dr("組").ToString, 5) & 對話框(6))
- ElseIf Strings.Mid(dr("組").ToString, 6, 2) = "倉管" Then : 組織圖3_1_tv.Nodes(0).Nodes.Add(Strings.Left(dr("組").ToString, 5) & 對話框(7))
- ElseIf Strings.Mid(dr("組").ToString, 6, 2) = "資安" Then : 組織圖3_1_tv.Nodes(0).Nodes.Add(Strings.Left(dr("組").ToString, 5) & 對話框(8))
- ElseIf Strings.Mid(dr("組").ToString, 6, 2) = "文管" Then : 組織圖3_1_tv.Nodes(0).Nodes.Add(Strings.Left(dr("組").ToString, 5) & 對話框(9))
- ElseIf Strings.Mid(dr("組").ToString, 6, 2) = "人資" Then : 組織圖3_1_tv.Nodes(0).Nodes.Add(Strings.Left(dr("組").ToString, 5) & 對話框(10))
- ElseIf Strings.Mid(dr("組").ToString, 6, 2) = "實習" Then : 組織圖3_1_tv.Nodes(0).Nodes.Add(Strings.Left(dr("組").ToString, 5) & 對話框(11))
- ElseIf Strings.Mid(dr("組").ToString, 6, 2) = "管理" Then : 組織圖3_1_tv.Nodes(0).Nodes.Add(Strings.Left(dr("組").ToString, 5) & 對話框(12))
- ElseIf Strings.Mid(dr("組").ToString, 6, 2) = "採購" Then : 組織圖3_1_tv.Nodes(0).Nodes.Add(Strings.Left(dr("組").ToString, 5) & 對話框(13))
- ElseIf Strings.Mid(dr("組").ToString, 6, 2) = "出納" Then : 組織圖3_1_tv.Nodes(0).Nodes.Add(Strings.Left(dr("組").ToString, 5) & 對話框(14))
- ElseIf Strings.Mid(dr("組").ToString, 6, 2) = "報價" Then : 組織圖3_1_tv.Nodes(0).Nodes.Add(Strings.Left(dr("組").ToString, 5) & 對話框(15))
- Else : 組織圖3_1_tv.Nodes(0).Nodes.Add(dr("組"))
- End If
- End If
- End While : conn.Close()
- For I As Integer = 0 To 組織圖3_tv.Nodes(0).Nodes.Count - 1
- PA = 組織圖3_tv.Nodes(0).Nodes(I).Text : SQL_系統組織結構圖_組別_人員() : Dim BB As Integer = 0
- If 深色風格 = False Then
- While (dr.Read())
- 組織圖3_tv.Nodes(0).Nodes(I).Nodes.Add(dr("姓名")) : 組織圖3_tv.Nodes(0).Nodes(I).Nodes(BB).ForeColor = Color.Red
- 組織圖3_1_tv.Nodes(0).Nodes(I).Nodes.Add(dr("姓名")) : 組織圖3_1_tv.Nodes(0).Nodes(I).Nodes(BB).ForeColor = Color.Red : BB += 1
- End While : conn.Close()
- Else
- While (dr.Read())
- 組織圖3_tv.Nodes(0).Nodes(I).Nodes.Add(dr("姓名")) : 組織圖3_tv.Nodes(0).Nodes(I).Nodes(BB).ForeColor = Color.LightPink
- 組織圖3_1_tv.Nodes(0).Nodes(I).Nodes.Add(dr("姓名")) : 組織圖3_1_tv.Nodes(0).Nodes(I).Nodes(BB).ForeColor = Color.LightPink : BB += 1
- End While : conn.Close()
- End If
- Next
- 組織圖3_tv.ExpandAll() : 組織圖3_1_tv.ExpandAll()
- End Sub
- Private Function FindNodeByText(nodes As TreeNodeCollection, text As String) As TreeNode
- ' 遍歷所有節點尋找對應的節點
- For Each node As TreeNode In nodes
- If node.Text = text Then : Return node : End If
- Dim childNode As TreeNode = FindNodeByText(node.Nodes, text)
- If childNode IsNot Nothing Then : Return childNode : End If
- Next
- Return Nothing
- End Function
- Private Sub 組織圖_1_tv_AfterSelect(sender As Object, e As TreeViewEventArgs) Handles 組織圖_1_tv.AfterSelect
- ' 只處理 A 的第三層節點
- If e.Node.Level = 2 Then
- ' 找到對應的 B 節點
- Dim nodeB As TreeNode = FindNodeByText(組織圖_tv.Nodes, e.Node.Text)
- ' 如果找到了,則觸發 B 的 AfterSelect 事件
- If nodeB IsNot Nothing Then : 組織圖_tv.SelectedNode = nodeB : 組織圖_tv_AfterSelect(組織圖_tv, New TreeViewEventArgs(nodeB)) : End If
- Else : 主管_dgv.DataSource = Nothing
- End If
- End Sub
- Private Sub 組織圖_tv_AfterSelect(ByVal sender As System.Object, ByVal e As System.Windows.Forms.TreeViewEventArgs) Handles 組織圖_tv.AfterSelect
- Select Case Strings.Mid(e.Node.Text, 5, 1)
- Case "部" : 人員_tb.Text = "" : 級別_tb.Text = "" : 主管_dgv.DataSource = Nothing : Case Else : 人員_tb.Text = e.Node.Text : PA47 = 人員_tb.Text : Set_清單1() : 級別_tb.Text = PA46
- End Select
- End Sub
- Private Sub 組織圖1_1_tv_AfterSelect(sender As Object, e As TreeViewEventArgs) Handles 組織圖1_1_tv.AfterSelect
- ' 只處理 A 的第三層節點
- If e.Node.Level = 2 Then
- ' 找到對應的 B 節點
- Dim nodeB As TreeNode = FindNodeByText(組織圖1_tv.Nodes, e.Node.Text)
- ' 如果找到了,則觸發 B 的 AfterSelect 事件
- If nodeB IsNot Nothing Then : 組織圖1_tv.SelectedNode = nodeB : 組織圖_tv_AfterSelect(組織圖1_tv, New TreeViewEventArgs(nodeB)) : End If
- Else : 主管_dgv.DataSource = Nothing
- End If
- End Sub
- Private Sub 組織圖1_tv_AfterSelect(ByVal sender As System.Object, ByVal e As System.Windows.Forms.TreeViewEventArgs) Handles 組織圖1_tv.AfterSelect
- If Strings.Mid(e.Node.Text, 5, 1) = "工" Then
- Select Case Strings.Mid(e.Node.Text, 7, 1)
- Case "處" : 人員_tb.Text = "" : 級別_tb.Text = "" : 主管_dgv.DataSource = Nothing : Case Else : 人員_tb.Text = e.Node.Text : PA47 = 人員_tb.Text : Set_清單1() : 級別_tb.Text = PA46
- End Select
- Else
- Select Case Strings.Mid(e.Node.Text, 6, 1)
- Case "處" : 人員_tb.Text = "" : 級別_tb.Text = "" : 主管_dgv.DataSource = Nothing : Case Else : 人員_tb.Text = e.Node.Text : PA47 = 人員_tb.Text : Set_清單1() : 級別_tb.Text = PA46
- End Select
- End If
- End Sub
- Private Sub 組織圖2_1_tv_AfterSelect(sender As Object, e As TreeViewEventArgs) Handles 組織圖2_1_tv.AfterSelect
- ' 只處理 A 的第三層節點
- If e.Node.Level = 2 Then
- ' 找到對應的 B 節點
- Dim nodeB As TreeNode = FindNodeByText(組織圖2_tv.Nodes, e.Node.Text)
- ' 如果找到了,則觸發 B 的 AfterSelect 事件
- If nodeB IsNot Nothing Then : 組織圖2_tv.SelectedNode = nodeB : 組織圖_tv_AfterSelect(組織圖2_tv, New TreeViewEventArgs(nodeB)) : End If
- Else : 主管_dgv.DataSource = Nothing
- End If
- End Sub
- Private Sub 組織圖2_tv_AfterSelect(ByVal sender As System.Object, ByVal e As System.Windows.Forms.TreeViewEventArgs) Handles 組織圖2_tv.AfterSelect
- Select Case Strings.Mid(e.Node.Text, 7, 1)
- Case "課" : 人員_tb.Text = "" : 級別_tb.Text = "" : 主管_dgv.DataSource = Nothing : Case Else : 人員_tb.Text = e.Node.Text : PA47 = 人員_tb.Text : Set_清單1() : 級別_tb.Text = PA46
- End Select
- End Sub
- Private Sub 組織圖3_1_tv_AfterSelect(sender As Object, e As TreeViewEventArgs) Handles 組織圖3_1_tv.AfterSelect
- ' 只處理 A 的第三層節點
- If e.Node.Level = 2 Then
- ' 找到對應的 B 節點
- Dim nodeB As TreeNode = FindNodeByText(組織圖3_tv.Nodes, e.Node.Text)
- ' 如果找到了,則觸發 B 的 AfterSelect 事件
- If nodeB IsNot Nothing Then : 組織圖3_tv.SelectedNode = nodeB : 組織圖_tv_AfterSelect(組織圖3_tv, New TreeViewEventArgs(nodeB)) : End If
- Else : 主管_dgv.DataSource = Nothing
- End If
- End Sub
- Private Sub 組織圖3_tv_AfterSelect(ByVal sender As System.Object, ByVal e As System.Windows.Forms.TreeViewEventArgs) Handles 組織圖3_tv.AfterSelect
- Select Case Strings.Mid(e.Node.Text, 8, 1)
- Case "組" : 人員_tb.Text = "" : 級別_tb.Text = "" : 主管_dgv.DataSource = Nothing : Case Else : 人員_tb.Text = e.Node.Text : PA47 = 人員_tb.Text : Set_清單1() : 級別_tb.Text = PA46
- End Select
- End Sub
-
- Private Sub 風格()
- If 深色風格 = False Then
- Me.BackColor = SystemColors.Control
- Label1.ForeColor = Color.Blue : Label3.ForeColor = Color.Blue : Label2.ForeColor = Color.Black
-
- 組織圖1_1_tv.BackColor = Color.White : 組織圖1_1_tv.ForeColor = Color.Black : 組織圖2_1_tv.BackColor = Color.White : 組織圖2_1_tv.ForeColor = Color.Black
- 組織圖_1_tv.BackColor = Color.White : 組織圖_1_tv.ForeColor = Color.Green : 組織圖3_1_tv.BackColor = Color.White : 組織圖3_1_tv.ForeColor = Color.Black
-
- 主管_dgv.EnableHeadersVisualStyles = True : 主管_dgv.BackgroundColor = Color.White : 主管_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.Black
- 主管_dgv.AlternatingRowsDefaultCellStyle.BackColor = Color.LightPink
- 主管_dgv.DefaultCellStyle.BackColor = Color.White : 主管_dgv.DefaultCellStyle.ForeColor = Color.Black
- Else
- Me.BackColor = Color.Black
- Label1.ForeColor = Color.LightBlue : Label3.ForeColor = Color.LightBlue : Label2.ForeColor = Color.White
-
- 組織圖1_1_tv.BackColor = Color.Black : 組織圖1_1_tv.ForeColor = Color.White : 組織圖2_1_tv.BackColor = Color.Black : 組織圖2_1_tv.ForeColor = Color.White
- 組織圖_1_tv.BackColor = Color.Black : 組織圖_1_tv.ForeColor = Color.White : 組織圖3_1_tv.BackColor = Color.Black : 組織圖3_1_tv.ForeColor = Color.White
-
- 主管_dgv.EnableHeadersVisualStyles = False : 主管_dgv.BackgroundColor = Color.DimGray : 主管_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.White
- 主管_dgv.ColumnHeadersDefaultCellStyle.BackColor = Color.Black : 主管_dgv.AlternatingRowsDefaultCellStyle.BackColor = Color.DimGray
- 主管_dgv.DefaultCellStyle.BackColor = Color.Black : 主管_dgv.DefaultCellStyle.ForeColor = Color.White
- End If
- End Sub
- End Class
|