No Description
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

財務報表2.vb 65KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777
  1. Imports System.Windows.Forms.DataVisualization.Charting
  2. Public Class 財務報表2
  3. Dim 已付款 As Boolean
  4. Dim 新項次, 合約號, 物料規格, 新流水1 As String
  5. Dim NUM1, II As Integer
  6. Dim 對話框(1) As String
  7. Private Function IsVerticalScrollBarVisible(dgv As DataGridView) As Boolean
  8. Return dgv.FirstDisplayedScrollingRowIndex > 0 OrElse dgv.DisplayedRowCount(False) < dgv.Rows.Count
  9. End Function
  10. Private Sub 語言轉換讀取()
  11. If 系統語言 = "繁體中文" Then : 語言 = "CH" : ElseIf 系統語言 = "English" Then : 語言 = "EN" : ElseIf 系統語言 = "Indonesian" Then : 語言 = "IN" : End If
  12. 表頭(11) = 系統語言字典("H206-112-" & 語言) : 表頭(12) = 系統語言字典("H206-106-" & 語言) : 表頭(15) = 系統語言字典("H206-114-" & 語言)
  13. 表頭(134) = 系統語言字典("H206-104-" & 語言) : 表頭(13) = 系統語言字典("H206-108-" & 語言) : 表頭(14) = 系統語言字典("H206-109-" & 語言)
  14. 表頭(16) = 系統語言字典("H206-110-" & 語言) : 表頭(26) = 系統語言字典("H206-111-" & 語言) : 表頭(27) = 系統語言字典("H206-105-" & 語言)
  15. 表頭(19) = 系統語言字典("H206-103-" & 語言) : 表頭(10) = 系統語言字典("H213-101-" & 語言) : 表頭(17) = 系統語言字典("H299-109-" & 語言)
  16. 表頭(18) = 系統語言字典("H206-107-" & 語言) : 表頭(20) = 系統語言字典("H311-100-" & 語言) : 表頭(21) = 系統語言字典("H311-101-" & 語言)
  17. 表頭(22) = 系統語言字典("H311-102-" & 語言) : 表頭(23) = 系統語言字典("H204-116-" & 語言) : 表頭(24) = 系統語言字典("H201-124-" & 語言)
  18. 表頭(25) = 系統語言字典("H311-103-" & 語言) : 表頭(28) = 系統語言字典("H311-104-" & 語言) : Label16.Text = 系統語言字典("H311-107-" & 語言)
  19. 表頭(29) = 系統語言字典("H311-105-" & 語言) : 對話框(0) = 系統語言字典("H312-100-" & 語言) : 對話框(1) = 系統語言字典("H312-101-" & 語言)
  20. 表頭(30) = 系統語言字典("H204-120-" & 語言) : 表頭(31) = 系統語言字典("H312-102-" & 語言) : 表頭(32) = 系統語言字典("H312-103-" & 語言)
  21. 表頭(33) = 系統語言字典("H312-104-" & 語言) : 表頭(34) = 系統語言字典("H312-105-" & 語言) : 表頭(35) = 系統語言字典("H312-106-" & 語言)
  22. 表頭(36) = 系統語言字典("H311-106-" & 語言)
  23. End Sub
  24. Private Sub Set_清單1()
  25. Dim ds1, ds2, ds3, ds4 As New DataSet
  26. 清單_dgv.DataSource = Nothing : ds1.Clear() : 清單1_dgv.DataSource = Nothing : ds2.Clear()
  27. 彙總1_dgv.DataSource = Nothing : ds3.Clear() : 合計1_dgv.DataSource = Nothing : ds4.Clear()
  28. 清單_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  29. 清單_dgv.ColumnHeadersHeight = 50 : 清單_dgv.AllowUserToAddRows = False : 清單_dgv.RowTemplate.Height = 25
  30. 清單1_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  31. 清單1_dgv.ColumnHeadersHeight = 50 : 清單1_dgv.AllowUserToAddRows = False : 清單1_dgv.RowTemplate.Height = 25
  32. 彙總1_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  33. 彙總1_dgv.ColumnHeadersHeight = 50 : 彙總1_dgv.AllowUserToAddRows = False : 彙總1_dgv.RowTemplate.Height = 25
  34. 合計1_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  35. 合計1_dgv.ColumnHeadersHeight = 50 : 合計1_dgv.AllowUserToAddRows = False : 合計1_dgv.RowTemplate.Height = 25
  36. 合計1_dgv.ScrollBars = ScrollBars.None : 合計1_dgv.ColumnHeadersVisible = False
  37. SQL2 = "(採購單控制表.已出納 IS NULL OR 採購單控制表.已出納 = 0)"
  38. SQL_採購未付款清單1() : da.Fill(ds1) : 清單_dgv.DataSource = ds1.Tables(0) : conn.Close()
  39. SQL2 = "(採購單控制表.已出納 = 1)"
  40. SQL_採購未付款清單1() : da.Fill(ds2) : 清單1_dgv.DataSource = ds2.Tables(0) : conn.Close()
  41. SQL_採購付款彙總1() : da.Fill(ds3) : 彙總1_dgv.DataSource = ds3.Tables(0) : conn.Close()
  42. SQL_採購付款彙總0() : da.Fill(ds4) : 合計1_dgv.DataSource = ds4.Tables(0) : conn.Close()
  43. 清單_dgv.Columns(0).FillWeight = 150 : 清單_dgv.Columns(1).FillWeight = 200 : 清單_dgv.Columns(2).FillWeight = 50 : 清單_dgv.Columns(3).FillWeight = 50
  44. 清單_dgv.Columns(4).FillWeight = 130 : 清單_dgv.Columns(表頭(28)).FillWeight = 50
  45. 清單1_dgv.Columns(0).FillWeight = 150 : 清單1_dgv.Columns(1).FillWeight = 200 : 清單1_dgv.Columns(2).FillWeight = 50 : 清單1_dgv.Columns(3).FillWeight = 50
  46. 清單1_dgv.Columns(4).FillWeight = 130 : 清單1_dgv.Columns(表頭(28)).FillWeight = 50
  47. 彙總1_dgv.Columns("比例1").Visible = False
  48. 彙總1_dgv.Columns(1).DefaultCellStyle.Format = "#,##0"
  49. 彙總1_dgv.Columns(1).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
  50. 彙總1_dgv.Columns(1).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
  51. 合計1_dgv.Columns("比例1").Visible = False
  52. 合計1_dgv.Columns(1).DefaultCellStyle.Format = "#,##0"
  53. 合計1_dgv.Columns(1).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
  54. 合計1_dgv.Columns(1).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
  55. Dim indexArray() As Integer = {2, 3, 5, 6, 7}
  56. For Each index As Integer In indexArray
  57. 清單_dgv.Columns(index).DefaultCellStyle.Format = "#,##0"
  58. 清單_dgv.Columns(index).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
  59. 清單_dgv.Columns(index).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
  60. 清單1_dgv.Columns(index).DefaultCellStyle.Format = "#,##0"
  61. 清單1_dgv.Columns(index).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
  62. 清單1_dgv.Columns(index).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
  63. Next
  64. Dim 總和 As Long
  65. For i As Integer = 0 To 清單_dgv.Rows.Count - 1
  66. If Strings.Left(清單_dgv.Rows(i).Cells("合約號").Value.ToString, 1) = "H" Or Strings.Left(清單_dgv.Rows(i).Cells("合約號").Value.ToString, 1) = "P" Then : Else
  67. 清單_dgv.Rows(i).Cells("合約號").Value = ""
  68. End If
  69. 清單_dgv.Rows(i).Cells(表頭(21)).Value = 清單_dgv.Rows(i).Cells(表頭(20)).Value / 100 * 清單_dgv.Rows(i).Cells("DISC").Value
  70. 清單_dgv.Rows(i).Cells(表頭(22)).Value = (清單_dgv.Rows(i).Cells(表頭(20)).Value - 清單_dgv.Rows(i).Cells(表頭(21)).Value) * 清單_dgv.Rows(i).Cells("PPN").Value / 100
  71. 總和 += 清單_dgv.Rows(i).Cells(表頭(20)).Value - 清單_dgv.Rows(i).Cells(表頭(21)).Value + 清單_dgv.Rows(i).Cells(表頭(22)).Value
  72. Next
  73. For i As Integer = 0 To 清單1_dgv.Rows.Count - 1
  74. 清單1_dgv.Rows(i).Cells(表頭(21)).Value = 清單1_dgv.Rows(i).Cells(表頭(20)).Value / 100 * 清單1_dgv.Rows(i).Cells("DISC").Value
  75. 清單1_dgv.Rows(i).Cells(表頭(22)).Value = (清單1_dgv.Rows(i).Cells(表頭(20)).Value - 清單1_dgv.Rows(i).Cells(表頭(21)).Value) * 清單_dgv.Rows(i).Cells("PPN").Value / 100
  76. Next
  77. 合計1_dgv.Rows(0).Cells(0).Value = 對話框(0) : 合計1_dgv.Rows(0).Cells(表頭(29)).Value = "0" : 合計1_dgv.Rows(0).Cells("比例1").Value = "0"
  78. For i As Integer = 0 To 彙總1_dgv.Rows.Count - 1 : 彙總1_dgv.Rows(i).Cells(表頭(29)).Value = "0" : 彙總1_dgv.Rows(i).Cells("比例1").Value = "0"
  79. For ii As Integer = 0 To 清單_dgv.Rows.Count - 1
  80. If 彙總1_dgv.Rows(i).Cells(0).Value.ToString = 清單_dgv.Rows(ii).Cells(0).Value.ToString Then
  81. 彙總1_dgv.Rows(i).Cells(表頭(29)).Value += 清單_dgv.Rows(ii).Cells(表頭(20)).Value - 清單_dgv.Rows(ii).Cells(表頭(21)).Value + 清單_dgv.Rows(ii).Cells(表頭(22)).Value
  82. End If
  83. Next
  84. 彙總1_dgv.Rows(i).Cells("比例1").Value = 彙總1_dgv.Rows(i).Cells(表頭(29)).Value / 總和 * 100
  85. 合計1_dgv.Rows(0).Cells(表頭(29)).Value += 彙總1_dgv.Rows(i).Cells(表頭(29)).Value
  86. 合計1_dgv.Rows(0).Cells("比例1").Value += 彙總1_dgv.Rows(i).Cells("比例1").Value
  87. Next
  88. Set_進度條顯示1() : 彙總1_dgv.Columns(3).FillWeight = 60 : 彙總1_dgv.Columns(0).FillWeight = 150
  89. Set_進度條顯示0() : 合計1_dgv.Columns(3).FillWeight = 60 : 合計1_dgv.Columns(0).FillWeight = 150
  90. Dim mycol1 As DataGridViewImageColumn = 清單_dgv.Columns(表頭(28)) : mycol1.ImageLayout = DataGridViewImageCellLayout.Zoom
  91. Dim mycol2 As DataGridViewImageColumn = 清單1_dgv.Columns(表頭(28)) : mycol2.ImageLayout = DataGridViewImageCellLayout.Zoom
  92. For I As Integer = 0 To 清單_dgv.Rows.Count - 1 : 清單_dgv.Rows(I).Cells(表頭(28)).Value = My.Resources.visa_2 : Next
  93. For I As Integer = 0 To 清單1_dgv.Rows.Count - 1 : 清單1_dgv.Rows(I).Cells(表頭(28)).Value = My.Resources.Close : Next
  94. 彙總1_dgv.Sort(彙總1_dgv.Columns(1), System.ComponentModel.ListSortDirection.Descending)
  95. PA10 = "" : Set_清單2() : Set_清單3()
  96. '-------------------------合計DGV變形----------------------------------------------------------------------------------------------------------------------
  97. If IsVerticalScrollBarVisible(彙總1_dgv) Then : 合計1_dgv.Size = New Size(彙總1_dgv.Size.Width - 17, 合計1_dgv.Size.Height)
  98. Else : 合計1_dgv.Size = New Size(彙總1_dgv.Size.Width, 合計1_dgv.Size.Height) : End If
  99. End Sub
  100. Private Sub Set_進度條顯示0()
  101. Dim Col As New DataGridViewProgressColumn With {
  102. .Width = 30,
  103. .DataPropertyName = "請款比例"
  104. }
  105. Col.HeaderText = "Percent (%)" : Col.Name = "容量" : Col.DataPropertyName = "比例1" : 合計1_dgv.Columns.Insert(3, Col)
  106. End Sub
  107. Private Sub Set_進度條顯示1()
  108. Dim Col As New DataGridViewProgressColumn With {
  109. .Width = 30,
  110. .DataPropertyName = "請款比例"
  111. }
  112. Col.HeaderText = "Percent (%)" : Col.Name = "容量" : Col.DataPropertyName = "比例1" : 彙總1_dgv.Columns.Insert(3, Col)
  113. End Sub
  114. Private Sub Set_清單2()
  115. Dim ds1, ds2 As New DataSet : 彙總2_dgv.DataSource = Nothing : ds1.Clear() : 合計2_dgv.DataSource = Nothing : ds2.Clear()
  116. 彙總2_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  117. 彙總2_dgv.ColumnHeadersHeight = 50 : 彙總2_dgv.AllowUserToAddRows = False : 彙總2_dgv.RowTemplate.Height = 25
  118. 合計2_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  119. 合計2_dgv.ColumnHeadersHeight = 50 : 合計2_dgv.AllowUserToAddRows = False : 合計2_dgv.RowTemplate.Height = 25
  120. 合計2_dgv.ScrollBars = ScrollBars.None : 合計2_dgv.ColumnHeadersVisible = False
  121. SQL_採購付款彙總2() : da.Fill(ds1) : 彙總2_dgv.DataSource = ds1.Tables(0) : conn.Close()
  122. SQL_採購付款彙總3() : da.Fill(ds2) : 合計2_dgv.DataSource = ds2.Tables(0) : conn.Close()
  123. 彙總2_dgv.Columns("比例1").Visible = False
  124. 彙總2_dgv.Columns(1).DefaultCellStyle.Format = "#,##0"
  125. 彙總2_dgv.Columns(1).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
  126. 彙總2_dgv.Columns(1).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
  127. 合計2_dgv.Columns("比例1").Visible = False
  128. 合計2_dgv.Columns(1).DefaultCellStyle.Format = "#,##0"
  129. 合計2_dgv.Columns(1).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
  130. 合計2_dgv.Columns(1).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
  131. Dim 總和 As Long
  132. 合計2_dgv.Rows(0).Cells(0).Value = 對話框(0) : 合計2_dgv.Rows(0).Cells(表頭(29)).Value = "0" : 合計2_dgv.Rows(0).Cells("比例1").Value = "0"
  133. For i As Integer = 0 To 彙總2_dgv.Rows.Count - 1 : 彙總2_dgv.Rows(i).Cells(表頭(29)).Value = "0" : 彙總2_dgv.Rows(i).Cells("比例1").Value = "0"
  134. For ii As Integer = 0 To 清單_dgv.Rows.Count - 1
  135. If 彙總2_dgv.Rows(i).Cells(0).Value.ToString = 清單_dgv.Rows(ii).Cells(1).Value.ToString Then
  136. 彙總2_dgv.Rows(i).Cells(表頭(29)).Value += 清單_dgv.Rows(ii).Cells(表頭(20)).Value - 清單_dgv.Rows(ii).Cells(表頭(21)).Value + 清單_dgv.Rows(ii).Cells(表頭(22)).Value
  137. End If
  138. Next
  139. 總和 += 彙總2_dgv.Rows(i).Cells(表頭(29)).Value
  140. Next
  141. For i As Integer = 0 To 彙總2_dgv.Rows.Count - 1
  142. If 總和 = 0 Then : 彙總2_dgv.Rows(i).Cells("比例1").Value = "0" : Else
  143. 彙總2_dgv.Rows(i).Cells("比例1").Value = 彙總2_dgv.Rows(i).Cells(表頭(29)).Value / 總和 * 100
  144. End If
  145. 合計2_dgv.Rows(0).Cells(表頭(29)).Value += 彙總2_dgv.Rows(i).Cells(表頭(29)).Value
  146. 合計2_dgv.Rows(0).Cells("比例1").Value += 彙總2_dgv.Rows(i).Cells("比例1").Value
  147. Next
  148. Set_進度條顯示2() : 彙總2_dgv.Columns(3).FillWeight = 60 : 彙總2_dgv.Columns(0).FillWeight = 180
  149. Set_進度條顯示3() : 合計2_dgv.Columns(3).FillWeight = 60 : 合計2_dgv.Columns(0).FillWeight = 180
  150. 彙總2_dgv.Sort(彙總2_dgv.Columns(1), System.ComponentModel.ListSortDirection.Descending)
  151. '-------------------------合計DGV變形----------------------------------------------------------------------------------------------------------------------
  152. If IsVerticalScrollBarVisible(彙總2_dgv) Then : 合計2_dgv.Size = New Size(彙總2_dgv.Size.Width - 17, 合計2_dgv.Size.Height)
  153. Else : 合計2_dgv.Size = New Size(彙總2_dgv.Size.Width, 合計2_dgv.Size.Height) : End If
  154. End Sub
  155. Private Sub Set_進度條顯示2()
  156. Dim Col As New DataGridViewProgressColumn With {
  157. .Width = 30,
  158. .DataPropertyName = "請款比例"
  159. }
  160. Col.HeaderText = "Percent (%)" : Col.Name = "容量" : Col.DataPropertyName = "比例1" : 彙總2_dgv.Columns.Insert(3, Col)
  161. End Sub
  162. Private Sub Set_進度條顯示3()
  163. Dim Col As New DataGridViewProgressColumn With {
  164. .Width = 30,
  165. .DataPropertyName = "請款比例"
  166. }
  167. Col.HeaderText = "Percent (%)" : Col.Name = "容量" : Col.DataPropertyName = "比例1" : 合計2_dgv.Columns.Insert(3, Col)
  168. End Sub
  169. Private Sub Set_清單3()
  170. Dim ds1, ds2, ds3 As New DataSet : 彙總3_dgv.DataSource = Nothing : ds1.Clear() : 彙總4_dgv.DataSource = Nothing : ds1.Clear() : 合計3_dgv.DataSource = Nothing : ds2.Clear()
  171. 彙總3_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  172. 彙總3_dgv.ColumnHeadersHeight = 50 : 彙總3_dgv.AllowUserToAddRows = False : 彙總3_dgv.RowTemplate.Height = 25
  173. 彙總4_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  174. 彙總4_dgv.ColumnHeadersHeight = 50 : 彙總4_dgv.AllowUserToAddRows = False : 彙總4_dgv.RowTemplate.Height = 25
  175. 彙總4_dgv.ScrollBars = ScrollBars.None : 彙總4_dgv.ColumnHeadersVisible = False
  176. 合計3_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  177. 合計3_dgv.ColumnHeadersHeight = 50 : 合計3_dgv.AllowUserToAddRows = False : 合計3_dgv.RowTemplate.Height = 25
  178. 合計3_dgv.ScrollBars = ScrollBars.None : 合計3_dgv.ColumnHeadersVisible = False
  179. Dim SSA(19) As String
  180. Dim checkBoxes() As CheckBox = {A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20}
  181. For i As Integer = 0 To SSA.Length - 1
  182. If checkBoxes(i).Checked Then : SSA(i) = " 約號甲方 LIKE N'" & checkBoxes(i).Text & "'" : Else : SSA(i) = "" : End If
  183. Next
  184. If SSA.All(Function(s) String.IsNullOrEmpty(s)) Then : SQL2 = "" : Else
  185. Dim selectedSSA = SSA.Where(Function(s) Not String.IsNullOrEmpty(s)).ToArray()
  186. SQL2 = "AND (" & String.Join(" OR ", selectedSSA) & ")"
  187. End If
  188. SQL_採購付款彙總4() : da.Fill(ds1) : 彙總3_dgv.DataSource = ds1.Tables(0) : conn.Close()
  189. SQL_採購付款彙總5() : da.Fill(ds2) : 彙總4_dgv.DataSource = ds2.Tables(0) : conn.Close()
  190. SQL_採購付款彙總5() : da.Fill(ds3) : 合計3_dgv.DataSource = ds3.Tables(0) : conn.Close()
  191. 彙總3_dgv.Columns(0).FillWeight = 150 : 彙總3_dgv.Columns("比例1").Visible = False : 彙總3_dgv.Columns("比例2").Visible = False
  192. 彙總4_dgv.Columns(0).FillWeight = 150 : 彙總4_dgv.Columns("比例1").Visible = False : 彙總4_dgv.Columns("比例2").Visible = False
  193. 合計3_dgv.Columns(0).FillWeight = 150 : 合計3_dgv.Columns("比例1").Visible = False : 合計3_dgv.Columns("比例2").Visible = False
  194. 彙總3_dgv.Columns(1).Visible = False : 彙總3_dgv.Columns(2).Visible = False : 彙總3_dgv.Columns(3).Visible = False : 彙總3_dgv.Columns(4).Visible = False
  195. 彙總4_dgv.Columns(1).Visible = False : 彙總4_dgv.Columns(2).Visible = False : 彙總4_dgv.Columns(3).Visible = False : 彙總4_dgv.Columns(4).Visible = False
  196. 合計3_dgv.Columns(1).Visible = False : 合計3_dgv.Columns(2).Visible = False : 合計3_dgv.Columns(3).Visible = False : 合計3_dgv.Columns(4).Visible = False
  197. Dim indexArray() As Integer = {4, 5, 6, 7, 8, 9, 10}
  198. For Each index As Integer In indexArray
  199. 彙總3_dgv.Columns(index).DefaultCellStyle.Format = "#,##0" : 彙總4_dgv.Columns(index).DefaultCellStyle.Format = "#,##0" : 合計3_dgv.Columns(index).DefaultCellStyle.Format = "#,##0"
  200. 彙總3_dgv.Columns(index).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
  201. 彙總3_dgv.Columns(index).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
  202. 彙總4_dgv.Columns(index).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
  203. 彙總4_dgv.Columns(index).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
  204. 合計3_dgv.Columns(index).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
  205. 合計3_dgv.Columns(index).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
  206. Next
  207. 彙總4_dgv.Rows(0).Cells(0).Value = 對話框(1) : 彙總4_dgv.Rows(0).Cells(4).Value = "0" : 彙總4_dgv.Rows(0).Cells(5).Value = "0" : 彙總4_dgv.Rows(0).Cells(6).Value = "0"
  208. 彙總4_dgv.Rows(0).Cells(7).Value = "0" : 彙總4_dgv.Rows(0).Cells(8).Value = "0" : 彙總4_dgv.Rows(0).Cells(9).Value = "0" : 彙總4_dgv.Rows(0).Cells(10).Value = "0"
  209. 合計3_dgv.Rows(0).Cells(0).Value = 對話框(0) : 合計3_dgv.Rows(0).Cells(4).Value = "0" : 合計3_dgv.Rows(0).Cells(5).Value = "0" : 合計3_dgv.Rows(0).Cells(6).Value = "0"
  210. 合計3_dgv.Rows(0).Cells(7).Value = "0" : 合計3_dgv.Rows(0).Cells(8).Value = "0" : 合計3_dgv.Rows(0).Cells(9).Value = "0" : 合計3_dgv.Rows(0).Cells(10).Value = "0"
  211. For i As Integer = 0 To 彙總3_dgv.Rows.Count - 1
  212. 彙總3_dgv.Rows(i).Cells(6).Value = "0" : 彙總3_dgv.Rows(i).Cells(9).Value = "0" : 彙總3_dgv.Rows(i).Cells(10).Value = "0"
  213. For ii As Integer = 0 To 清單_dgv.Rows.Count - 1
  214. If 彙總3_dgv.Rows(i).Cells(0).Value.ToString = 清單_dgv.Rows(ii).Cells("合約號").Value.ToString Then
  215. 彙總3_dgv.Rows(i).Cells(6).Value += 清單_dgv.Rows(ii).Cells(表頭(20)).Value - 清單_dgv.Rows(ii).Cells(表頭(21)).Value + 清單_dgv.Rows(ii).Cells(表頭(22)).Value
  216. 彙總3_dgv.Rows(i).Cells(9).Value += 清單_dgv.Rows(ii).Cells(表頭(20)).Value - 清單_dgv.Rows(ii).Cells(表頭(21)).Value + 清單_dgv.Rows(ii).Cells(表頭(22)).Value
  217. End If
  218. Next
  219. Next
  220. If SSA.All(Function(s) String.IsNullOrEmpty(s)) Then
  221. For ii As Integer = 0 To 清單_dgv.Rows.Count - 1
  222. If 清單_dgv.Rows(ii).Cells("合約號").Value.ToString = "" Then
  223. 彙總4_dgv.Rows(0).Cells(5).Value += 清單_dgv.Rows(ii).Cells(表頭(20)).Value - 清單_dgv.Rows(ii).Cells(表頭(21)).Value + 清單_dgv.Rows(ii).Cells(表頭(22)).Value
  224. 彙總4_dgv.Rows(0).Cells(6).Value += 清單_dgv.Rows(ii).Cells(表頭(20)).Value - 清單_dgv.Rows(ii).Cells(表頭(21)).Value + 清單_dgv.Rows(ii).Cells(表頭(22)).Value
  225. 彙總4_dgv.Rows(0).Cells(9).Value += 清單_dgv.Rows(ii).Cells(表頭(20)).Value - 清單_dgv.Rows(ii).Cells(表頭(21)).Value + 清單_dgv.Rows(ii).Cells(表頭(22)).Value
  226. End If
  227. Next
  228. Else : End If
  229. For i As Integer = 0 To 彙總3_dgv.Rows.Count - 1
  230. For ii As Integer = 0 To 清單1_dgv.Rows.Count - 1
  231. If 彙總3_dgv.Rows(i).Cells(0).Value.ToString = 清單1_dgv.Rows(ii).Cells("合約號").Value.ToString Then
  232. 彙總3_dgv.Rows(i).Cells(6).Value += 清單1_dgv.Rows(ii).Cells(表頭(20)).Value - 清單1_dgv.Rows(ii).Cells(表頭(21)).Value + 清單1_dgv.Rows(ii).Cells(表頭(22)).Value
  233. 彙總3_dgv.Rows(i).Cells(10).Value += 清單1_dgv.Rows(ii).Cells(表頭(20)).Value - 清單1_dgv.Rows(ii).Cells(表頭(21)).Value + 清單1_dgv.Rows(ii).Cells(表頭(22)).Value
  234. End If
  235. Next
  236. Next
  237. If SSA.All(Function(s) String.IsNullOrEmpty(s)) Then
  238. For ii As Integer = 0 To 清單1_dgv.Rows.Count - 1
  239. If 清單1_dgv.Rows(ii).Cells("合約號").Value.ToString = "" Then
  240. 彙總4_dgv.Rows(0).Cells(5).Value += 清單1_dgv.Rows(ii).Cells(表頭(20)).Value - 清單1_dgv.Rows(ii).Cells(表頭(21)).Value + 清單1_dgv.Rows(ii).Cells(表頭(22)).Value
  241. 彙總4_dgv.Rows(0).Cells(6).Value += 清單1_dgv.Rows(ii).Cells(表頭(20)).Value - 清單1_dgv.Rows(ii).Cells(表頭(21)).Value + 清單1_dgv.Rows(ii).Cells(表頭(22)).Value
  242. 彙總4_dgv.Rows(0).Cells(10).Value += 清單1_dgv.Rows(ii).Cells(表頭(20)).Value - 清單1_dgv.Rows(ii).Cells(表頭(21)).Value + 清單1_dgv.Rows(ii).Cells(表頭(22)).Value
  243. End If
  244. Next
  245. Else : End If
  246. For i As Integer = 0 To 彙總3_dgv.Rows.Count - 1
  247. 彙總3_dgv.Rows(i).Cells(7).Value = 彙總3_dgv.Rows(i).Cells(5).Value - 彙總3_dgv.Rows(i).Cells(6).Value
  248. If 彙總3_dgv.Rows(i).Cells(7).Value < 0 Then : 彙總3_dgv.Rows(i).Cells(7).Value = 彙總3_dgv.Rows(i).Cells(7).Value * -1
  249. Else : 彙總3_dgv.Rows(i).Cells(7).Value = 0 : End If
  250. If 彙總3_dgv.Rows(i).Cells(5).Value = 0 Then : 彙總3_dgv.Rows(i).Cells("比例1").Value = "0" : Else
  251. 彙總3_dgv.Rows(i).Cells("比例1").Value = 彙總3_dgv.Rows(i).Cells(6).Value / 彙總3_dgv.Rows(i).Cells(5).Value * 100
  252. End If
  253. If 彙總3_dgv.Rows(i).Cells(9).Value = 0 And 彙總3_dgv.Rows(i).Cells(10).Value > 0 Then : 彙總3_dgv.Rows(i).Cells("比例2").Value = 100
  254. ElseIf 彙總3_dgv.Rows(i).Cells(9).Value = 0 And 彙總3_dgv.Rows(i).Cells(10).Value = 0 Then : 彙總3_dgv.Rows(i).Cells("比例2").Value = 0
  255. Else : 彙總3_dgv.Rows(i).Cells("比例2").Value = 彙總3_dgv.Rows(i).Cells(10).Value / 彙總3_dgv.Rows(i).Cells(9).Value * 100 : End If
  256. 合計3_dgv.Rows(0).Cells(4).Value = 合計3_dgv.Rows(0).Cells(4).Value + 彙總3_dgv.Rows(i).Cells(4).Value
  257. 合計3_dgv.Rows(0).Cells(5).Value = 合計3_dgv.Rows(0).Cells(5).Value + 彙總3_dgv.Rows(i).Cells(5).Value
  258. 合計3_dgv.Rows(0).Cells(6).Value = 合計3_dgv.Rows(0).Cells(6).Value + 彙總3_dgv.Rows(i).Cells(6).Value
  259. 合計3_dgv.Rows(0).Cells(7).Value = 合計3_dgv.Rows(0).Cells(7).Value + 彙總3_dgv.Rows(i).Cells(7).Value
  260. 合計3_dgv.Rows(0).Cells(9).Value = 合計3_dgv.Rows(0).Cells(9).Value + 彙總3_dgv.Rows(i).Cells(9).Value
  261. 合計3_dgv.Rows(0).Cells(10).Value = 合計3_dgv.Rows(0).Cells(10).Value + 彙總3_dgv.Rows(i).Cells(10).Value
  262. Next
  263. 合計3_dgv.Rows(0).Cells(4).Value = 合計3_dgv.Rows(0).Cells(4).Value + 彙總4_dgv.Rows(0).Cells(4).Value
  264. 合計3_dgv.Rows(0).Cells(5).Value = 合計3_dgv.Rows(0).Cells(5).Value + 彙總4_dgv.Rows(0).Cells(5).Value
  265. 合計3_dgv.Rows(0).Cells(6).Value = 合計3_dgv.Rows(0).Cells(6).Value + 彙總4_dgv.Rows(0).Cells(6).Value
  266. 合計3_dgv.Rows(0).Cells(7).Value = 合計3_dgv.Rows(0).Cells(7).Value + 彙總4_dgv.Rows(0).Cells(7).Value
  267. 合計3_dgv.Rows(0).Cells(9).Value = 合計3_dgv.Rows(0).Cells(9).Value + 彙總4_dgv.Rows(0).Cells(9).Value
  268. 合計3_dgv.Rows(0).Cells(10).Value = 合計3_dgv.Rows(0).Cells(10).Value + 彙總4_dgv.Rows(0).Cells(10).Value
  269. If 彙總4_dgv.Rows(0).Cells(5).Value = 0 Then : 彙總4_dgv.Rows(0).Cells("比例1").Value = "0" : Else
  270. 彙總4_dgv.Rows(0).Cells("比例1").Value = 彙總4_dgv.Rows(0).Cells(6).Value / 彙總4_dgv.Rows(0).Cells(5).Value * 100
  271. End If
  272. 合計3_dgv.Rows(0).Cells("比例1").Value = 合計3_dgv.Rows(0).Cells(6).Value / 合計3_dgv.Rows(0).Cells(5).Value * 100
  273. If 彙總4_dgv.Rows(0).Cells(9).Value = 0 And 彙總4_dgv.Rows(0).Cells(10).Value = 0 Then : 彙總4_dgv.Rows(0).Cells("比例2").Value = 0
  274. ElseIf 彙總4_dgv.Rows(0).Cells(9).Value = 0 And 彙總4_dgv.Rows(0).Cells(10).Value > 0 Then : 彙總4_dgv.Rows(0).Cells("比例2").Value = 100
  275. Else : 彙總4_dgv.Rows(0).Cells("比例2").Value = 彙總4_dgv.Rows(0).Cells(10).Value / 彙總4_dgv.Rows(0).Cells(9).Value * 100
  276. End If
  277. If 合計3_dgv.Rows(0).Cells(9).Value = 0 And 合計3_dgv.Rows(0).Cells(10).Value = 0 Then : 合計3_dgv.Rows(0).Cells("比例2").Value = 0
  278. ElseIf 合計3_dgv.Rows(0).Cells(9).Value = 0 And 合計3_dgv.Rows(0).Cells(10).Value > 0 Then : 合計3_dgv.Rows(0).Cells("比例2").Value = 100
  279. Else : 合計3_dgv.Rows(0).Cells("比例2").Value = 合計3_dgv.Rows(0).Cells(10).Value / 合計3_dgv.Rows(0).Cells(9).Value * 100
  280. End If : RadTrackBar1.Maximum = 彙總3_dgv.Rows.Count : RadTrackBar1.Value = 1
  281. If 彙總3_dgv.Rows.Count > 10 Then : RadTrackBar1.Visible = True : Else : RadTrackBar1.Visible = False : End If
  282. Set_進度條顯示4() : Set_進度條顯示5() : Set_進度條顯示6() : Set_進度條顯示7() : Set_進度條顯示8() : Set_進度條顯示9() : 彙總()
  283. '-------------------------合計DGV變形----------------------------------------------------------------------------------------------------------------------
  284. If IsVerticalScrollBarVisible(彙總3_dgv) Then
  285. 合計3_dgv.Size = New Size(彙總3_dgv.Size.Width - 17, 合計3_dgv.Size.Height) : 彙總4_dgv.Size = New Size(彙總3_dgv.Size.Width - 17, 彙總4_dgv.Size.Height)
  286. Else : 合計3_dgv.Size = New Size(彙總3_dgv.Size.Width, 合計3_dgv.Size.Height) : 彙總4_dgv.Size = New Size(彙總3_dgv.Size.Width, 彙總4_dgv.Size.Height) : End If
  287. End Sub
  288. Private Sub Set_進度條顯示4()
  289. Dim Col As New DataGridViewProgressColumn With {
  290. .Width = 30,
  291. .DataPropertyName = "請款比例"
  292. }
  293. Col.HeaderText = 表頭(32) : Col.Name = "容量" : Col.DataPropertyName = "比例1" : 彙總3_dgv.Columns.Insert(7, Col)
  294. End Sub
  295. Private Sub Set_進度條顯示5()
  296. Dim Col As New DataGridViewProgressColumn With {
  297. .Width = 30,
  298. .DataPropertyName = "請款比例"
  299. }
  300. Col.HeaderText = 表頭(32) : Col.Name = "容量" : Col.DataPropertyName = "比例1" : 合計3_dgv.Columns.Insert(7, Col)
  301. End Sub
  302. Private Sub Set_進度條顯示6()
  303. Dim Col As New DataGridViewProgressColumn With {
  304. .Width = 30,
  305. .DataPropertyName = "請款比例"
  306. }
  307. Col.HeaderText = 表頭(33) : Col.Name = "容量" : Col.DataPropertyName = "比例2" : 彙總3_dgv.Columns.Insert(12, Col)
  308. End Sub
  309. Private Sub Set_進度條顯示7()
  310. Dim Col As New DataGridViewProgressColumn With {
  311. .Width = 30,
  312. .DataPropertyName = "請款比例"
  313. }
  314. Col.HeaderText = 表頭(33) : Col.Name = "容量" : Col.DataPropertyName = "比例2" : 合計3_dgv.Columns.Insert(12, Col)
  315. End Sub
  316. Private Sub Set_進度條顯示8()
  317. Dim Col As New DataGridViewProgressColumn With {
  318. .Width = 30,
  319. .DataPropertyName = "請款比例"
  320. }
  321. Col.HeaderText = 表頭(32) : Col.Name = "容量" : Col.DataPropertyName = "比例1" : 彙總4_dgv.Columns.Insert(7, Col)
  322. End Sub
  323. Private Sub Set_進度條顯示9()
  324. Dim Col As New DataGridViewProgressColumn With {
  325. .Width = 30,
  326. .DataPropertyName = "請款比例"
  327. }
  328. Col.HeaderText = 表頭(33) : Col.Name = "容量" : Col.DataPropertyName = "比例2" : 彙總4_dgv.Columns.Insert(12, Col)
  329. End Sub
  330. Private Sub RadTrackBar1_ValueChanged(sender As Object, e As EventArgs) Handles RadTrackBar1.RangeValueChanged
  331. If 首次開啟 = True Then : Else
  332. If RadTrackBar1.Maximum >= 10 Then : If RadTrackBar1.Value > RadTrackBar1.Maximum - 9 Then : RadTrackBar1.Value = RadTrackBar1.Maximum - 9 : End If : 彙總() : Else : 彙總() : End If
  333. End If
  334. End Sub
  335. Private Sub 彙總()
  336. Chart1.Series.Clear() : Chart1.ChartAreas.Clear() : Chart1.ChartAreas.Add(0)
  337. Chart1.ChartAreas(0).AxisX.Minimum = 0 ' 设置X轴的最小值
  338. Chart1.ChartAreas(0).AxisX.Maximum = 10 ' 设置X轴的最大值
  339. Chart1.Series.Add(表頭(31)) : Chart1.Series(表頭(31)).ChartType = SeriesChartType.FastLine
  340. Chart1.Series.Add(表頭(34)) : Chart1.Series(表頭(34)).ChartType = SeriesChartType.Column
  341. Chart1.Series.Add(表頭(29)) : Chart1.Series(表頭(29)).ChartType = SeriesChartType.Column
  342. Chart1.Series.Add(表頭(36)) : Chart1.Series(表頭(36)).ChartType = SeriesChartType.Column
  343. Chart1.ChartAreas(0).BackColor = Color.Transparent : Chart1.Legends(0).BackColor = Color.Transparent
  344. Chart1.ChartAreas(0).AxisY.LabelStyle.Font = New Font("Arial", 8) : Chart1.ChartAreas(0).AxisY.LabelStyle.Format = "#,##0" & " M"
  345. Dim 位置1, 位置2 As Integer
  346. If RadTrackBar1.Maximum <= 10 Then : 位置1 = 1 : 位置2 = RadTrackBar1.Maximum
  347. Else : 位置1 = RadTrackBar1.Value : 位置2 = RadTrackBar1.Value + 9 : End If
  348. For i As Integer = 位置1 - 1 To 位置2 - 1
  349. Chart1.Series(表頭(31)).Points.AddXY(彙總3_dgv.Rows(i).Cells(0).Value.ToString, CLng(彙總3_dgv.Rows(i).Cells(表頭(31)).Value.ToString) / 1000000)
  350. Chart1.Series(表頭(34)).Points.AddXY(彙總3_dgv.Rows(i).Cells(0).Value.ToString, CLng(彙總3_dgv.Rows(i).Cells(表頭(34)).Value.ToString) / 1000000)
  351. Chart1.Series(表頭(29)).Points.AddXY(彙總3_dgv.Rows(i).Cells(0).Value.ToString, CLng(彙總3_dgv.Rows(i).Cells(表頭(29)).Value.ToString) / 1000000)
  352. Chart1.Series(表頭(36)).Points.AddXY(彙總3_dgv.Rows(i).Cells(0).Value.ToString, CLng(彙總3_dgv.Rows(i).Cells(表頭(36)).Value.ToString) / 1000000)
  353. Next
  354. If 深色風格 = False Then
  355. Chart1.Series(表頭(31)).LabelForeColor = Color.Blue : Chart1.Series(表頭(34)).LabelForeColor = Color.Blue
  356. Chart1.Series(表頭(29)).LabelForeColor = Color.Blue : Chart1.Series(表頭(36)).LabelForeColor = Color.Blue
  357. Chart1.Legends(0).ForeColor = Color.Black
  358. Chart1.ChartAreas(0).AxisX.MajorGrid.LineColor = Color.Black : Chart1.ChartAreas(0).AxisY.MajorGrid.LineColor = Color.Black
  359. Chart1.ChartAreas(0).AxisX.LineColor = Color.Black : Chart1.ChartAreas(0).AxisY.LineColor = Color.Black
  360. Chart1.ChartAreas(0).AxisX.LabelStyle.ForeColor = Color.Black : Chart1.ChartAreas(0).AxisY.LabelStyle.ForeColor = Color.Black
  361. Else
  362. Chart1.Series(表頭(31)).LabelForeColor = Color.White : Chart1.Series(表頭(34)).LabelForeColor = Color.White
  363. Chart1.Series(表頭(29)).LabelForeColor = Color.White : Chart1.Series(表頭(36)).LabelForeColor = Color.White
  364. Chart1.Legends(0).ForeColor = Color.White
  365. Chart1.ChartAreas(0).AxisX.MajorGrid.LineColor = Color.White : Chart1.ChartAreas(0).AxisY.MajorGrid.LineColor = Color.White
  366. Chart1.ChartAreas(0).AxisX.LineColor = Color.White : Chart1.ChartAreas(0).AxisY.LineColor = Color.White
  367. Chart1.ChartAreas(0).AxisX.LabelStyle.ForeColor = Color.White : Chart1.ChartAreas(0).AxisY.LabelStyle.ForeColor = Color.White
  368. End If
  369. End Sub
  370. Private Sub Set_採購單清單()
  371. Dim ds As New DataSet : 明細_dgv.DataSource = Nothing : ds.Clear()
  372. 明細_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  373. 明細_dgv.ColumnHeadersHeight = 40
  374. 明細_dgv.AllowUserToAddRows = False
  375. If 小間距_ch.Checked = False And 中間距_ch.Checked = False And 大間距_ch.Checked = True Then : 明細_dgv.RowTemplate.Height = 65
  376. ElseIf 小間距_ch.Checked = False And 中間距_ch.Checked = True And 大間距_ch.Checked = False Then : 明細_dgv.RowTemplate.Height = 45
  377. ElseIf 小間距_ch.Checked = True And 中間距_ch.Checked = False And 大間距_ch.Checked = False Then : 明細_dgv.RowTemplate.Height = 25 : End If
  378. SQL_採購單明細表1()
  379. da.Fill(ds) : 明細_dgv.DataSource = ds.Tables(0) : conn.Close()
  380. 明細_dgv.Columns(0).Visible = False : 明細_dgv.Columns(1).FillWeight = 50 : 明細_dgv.Columns(3).FillWeight = 250 : 明細_dgv.Columns(4).FillWeight = 250
  381. 明細_dgv.Columns(5).FillWeight = 150 : 明細_dgv.Columns(6).FillWeight = 80 : 明細_dgv.Columns(7).FillWeight = 80 : 明細_dgv.Columns(8).FillWeight = 80
  382. 明細_dgv.Columns(9).FillWeight = 80 : 明細_dgv.Columns(10).Visible = False : 明細_dgv.Columns(11).Visible = False : 明細_dgv.Columns(12).Visible = False
  383. 明細_dgv.Columns(13).Visible = False : 明細_dgv.Columns(14).Visible = False : 明細_dgv.Columns(15).Visible = False : 明細_dgv.Columns(16).Visible = False
  384. 明細_dgv.Columns(17).Visible = False : 明細_dgv.Columns(18).Visible = False : 明細_dgv.Columns(19).Visible = False : 明細_dgv.Columns(20).Visible = False
  385. 明細_dgv.Columns(21).Visible = False : 明細_dgv.Columns(22).Visible = False : 明細_dgv.Columns(23).Visible = False : 明細_dgv.Columns(24).FillWeight = 90
  386. 明細_dgv.Columns(25).FillWeight = 80 : 明細_dgv.Columns("KEY").Visible = False : 明細_dgv.Columns("OUP").FillWeight = 80 : 明細_dgv.Columns(2).FillWeight = 80
  387. 明細_dgv.Columns(26).FillWeight = 80 : 明細_dgv.Columns("SP%").FillWeight = 80
  388. 明細_dgv.Columns(6).DefaultCellStyle.Format = "#,##0" : 明細_dgv.Columns(8).DefaultCellStyle.Format = "#,##0" : 明細_dgv.Columns(9).DefaultCellStyle.Format = "#,##0"
  389. 明細_dgv.Columns("OUP").DefaultCellStyle.Format = "#,##0" : 明細_dgv.Columns(15).DefaultCellStyle.Format = "#,##0"
  390. 明細_dgv.Columns(8).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 明細_dgv.Columns(6).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
  391. 明細_dgv.Columns(9).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 明細_dgv.Columns(9).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  392. 明細_dgv.Columns(8).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter : 明細_dgv.Columns(6).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  393. 明細_dgv.Columns("OUP").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 明細_dgv.Columns("OUP").HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  394. 明細_dgv.EditMode = DataGridViewEditMode.EditOnEnter
  395. 明細_dgv.Columns(1).ReadOnly = True : 明細_dgv.Columns(2).ReadOnly = True : 明細_dgv.Columns(3).ReadOnly = True : 明細_dgv.Columns(4).ReadOnly = True
  396. 明細_dgv.Columns(表頭(16)).ReadOnly = True : 明細_dgv.Columns(表頭(27)).ReadOnly = True : 明細_dgv.Columns("OUP").ReadOnly = True : 明細_dgv.Columns("SP%").ReadOnly = True
  397. If 低網速模式 = False Then
  398. 明細_dgv.Columns(28).FillWeight = 80 : 明細_dgv.Columns("Image").Visible = True
  399. Dim mycol As DataGridViewImageColumn = 明細_dgv.Columns("Image")
  400. mycol.ImageLayout = DataGridViewImageCellLayout.Zoom
  401. Else
  402. If 明細_dgv.Columns.Count = 29 Then
  403. 明細_dgv.Columns("Image").Visible = False
  404. End If
  405. End If
  406. 新項次 = "00"
  407. For i As Integer = 0 To 明細_dgv.Rows.Count - 1
  408. 明細_dgv.Columns("OUP").DefaultCellStyle.Format = "#,0"
  409. NUM1 = Double.Parse(新項次) + 1
  410. If NUM1 < 10 Then : 新項次 = "0" & NUM1
  411. ElseIf NUM1 > 9 And NUM1 < 100 Then : 新項次 = NUM1
  412. End If
  413. 明細_dgv.Rows(i).Cells(表頭(11)).Value = 新項次
  414. '-------------------------規格合併呈現----------------------------------------------------------------------------------------------------------------------------------------
  415. If i = 0 Then
  416. AAA1 = "" : AAA2 = "" : AAA3 = "" : AAA4 = "" : AAA5 = "" : AAA6 = "" : AAA7 = "" : AAA8 = ""
  417. PA3 = 明細_dgv.Rows(i).Cells("規格庫抬頭指定").Value
  418. SQL_規格庫抬頭讀取()
  419. If dr.Read() Then
  420. AAA1 = dr("A1") : AAA2 = dr("A2") : AAA3 = dr("A3") : AAA4 = dr("A4") : AAA5 = dr("A5") : AAA6 = dr("A6") : AAA7 = dr("A7") : AAA8 = dr("A8")
  421. End If
  422. conn.Close()
  423. Else
  424. If 明細_dgv.Rows(i).Cells("規格庫抬頭指定").Value.ToString <> 明細_dgv.Rows(i - 1).Cells("規格庫抬頭指定").Value.ToString Then
  425. AAA1 = "" : AAA2 = "" : AAA3 = "" : AAA4 = "" : AAA5 = "" : AAA6 = "" : AAA7 = "" : AAA8 = ""
  426. PA3 = 明細_dgv.Rows(i).Cells("規格庫抬頭指定").Value
  427. SQL_規格庫抬頭讀取()
  428. If dr.Read() Then
  429. AAA1 = dr("A1") : AAA2 = dr("A2") : AAA3 = dr("A3") : AAA4 = dr("A4") : AAA5 = dr("A5") : AAA6 = dr("A6") : AAA7 = dr("A7") : AAA8 = dr("A8")
  430. End If
  431. conn.Close()
  432. End If
  433. End If
  434. Dim ZA1, ZA2, ZA3, ZA4, ZA5, ZA6, ZA7, ZA8 As String : 物料規格 = ""
  435. If 詳細資料2_ch.Checked = True Then
  436. If 明細_dgv.Rows(i).Cells(表頭(13)).Value.ToString <> "" Then
  437. ZA1 = AAA1 & "=" & 明細_dgv.Rows(i).Cells(表頭(13)).Value.ToString : 物料規格 = ZA1 : End If
  438. If 明細_dgv.Rows(i).Cells("A2").Value.ToString <> "" Then : ZA2 = AAA2 & "=" & 明細_dgv.Rows(i).Cells("A2").Value
  439. If 物料規格 = "" Then : 物料規格 = ZA2 : Else : 物料規格 = 物料規格 + "、" + ZA2 : End If : End If
  440. If 明細_dgv.Rows(i).Cells("A3").Value.ToString <> "" Then : ZA3 = AAA3 & "=" & 明細_dgv.Rows(i).Cells("A3").Value
  441. If 物料規格 = "" Then : 物料規格 = ZA3 : Else : 物料規格 = 物料規格 + "、" + ZA3 : End If : End If
  442. If 明細_dgv.Rows(i).Cells("A4").Value.ToString <> "" Then : ZA4 = AAA4 & "=" & 明細_dgv.Rows(i).Cells("A4").Value
  443. If 物料規格 = "" Then : 物料規格 = ZA4 : Else : 物料規格 = 物料規格 + "、" + ZA4 : End If : End If
  444. If 明細_dgv.Rows(i).Cells("A5").Value.ToString <> "" Then : ZA5 = AAA5 & "=" & 明細_dgv.Rows(i).Cells("A5").Value
  445. If 物料規格 = "" Then : 物料規格 = ZA5 : Else : 物料規格 = 物料規格 + "、" + ZA5 : End If : End If
  446. If 明細_dgv.Rows(i).Cells("A6").Value.ToString <> "" Then : ZA6 = AAA6 & "=" & 明細_dgv.Rows(i).Cells("A6").Value
  447. If 物料規格 = "" Then : 物料規格 = ZA6 : Else : 物料規格 = 物料規格 + "、" + ZA6 : End If : End If
  448. If 明細_dgv.Rows(i).Cells("A7").Value.ToString <> "" Then : ZA7 = AAA7 & "=" & 明細_dgv.Rows(i).Cells("A7").Value
  449. If 物料規格 = "" Then : 物料規格 = ZA7 : Else : 物料規格 = 物料規格 + "、" + ZA7 : End If : End If
  450. If 明細_dgv.Rows(i).Cells("A8").Value.ToString <> "" Then : ZA8 = AAA8 & "=" & 明細_dgv.Rows(i).Cells("A8").Value
  451. If 物料規格 = "" Then : 物料規格 = ZA8 : Else : 物料規格 = 物料規格 + "、" + ZA8 : End If : End If
  452. Else
  453. If 明細_dgv.Rows(i).Cells(表頭(13)).Value.ToString <> "" Then : ZA1 = 明細_dgv.Rows(i).Cells(表頭(13)).Value.ToString : 物料規格 = ZA1 : End If
  454. If 明細_dgv.Rows(i).Cells("A2").Value.ToString <> "" Then
  455. ZA2 = 明細_dgv.Rows(i).Cells("A2").Value : If 物料規格 = "" Then : 物料規格 = ZA2 : Else : 物料規格 = 物料規格 + "、" + ZA2 : End If : End If
  456. If 明細_dgv.Rows(i).Cells("A3").Value.ToString <> "" Then
  457. ZA3 = 明細_dgv.Rows(i).Cells("A3").Value : If 物料規格 = "" Then : 物料規格 = ZA3 : Else : 物料規格 = 物料規格 + "、" + ZA3 : End If : End If
  458. If 明細_dgv.Rows(i).Cells("A4").Value.ToString <> "" Then
  459. ZA4 = 明細_dgv.Rows(i).Cells("A4").Value : If 物料規格 = "" Then : 物料規格 = ZA4 : Else : 物料規格 = 物料規格 + "、" + ZA4 : End If : End If
  460. If 明細_dgv.Rows(i).Cells("A5").Value.ToString <> "" Then
  461. ZA5 = 明細_dgv.Rows(i).Cells("A5").Value : If 物料規格 = "" Then : 物料規格 = ZA5 : Else : 物料規格 = 物料規格 + "、" + ZA5 : End If : End If
  462. If 明細_dgv.Rows(i).Cells("A6").Value.ToString <> "" Then
  463. ZA6 = 明細_dgv.Rows(i).Cells("A6").Value : If 物料規格 = "" Then : 物料規格 = ZA6 : Else : 物料規格 = 物料規格 + "、" + ZA6 : End If : End If
  464. If 明細_dgv.Rows(i).Cells("A7").Value.ToString <> "" Then
  465. ZA7 = 明細_dgv.Rows(i).Cells("A7").Value : If 物料規格 = "" Then : 物料規格 = ZA7 : Else : 物料規格 = 物料規格 + "、" + ZA7 : End If : End If
  466. If 明細_dgv.Rows(i).Cells("A8").Value.ToString <> "" Then
  467. ZA8 = 明細_dgv.Rows(i).Cells("A8").Value : If 物料規格 = "" Then : 物料規格 = ZA8 : Else : 物料規格 = 物料規格 + "、" + ZA8 : End If : End If
  468. End If
  469. 明細_dgv.Rows(i).Cells(表頭(13)).Value = 物料規格
  470. '--------------取得歷史單價------------------------------------------------------------------------------------------
  471. PA = 明細_dgv.Rows(i).Cells("料號").Value
  472. Set_單價()
  473. If 價錢_dgv.Rows.Count = 0 Then
  474. 明細_dgv.Rows(i).Cells("OUP").Value = 0
  475. Else
  476. 明細_dgv.Rows(i).Cells("OUP").Value = 價錢_dgv.Rows(0).Cells("單價").Value
  477. End If
  478. Next i
  479. 價格() ': 總金額計算()
  480. End Sub
  481. Private Sub Set_單價()
  482. Dim ds6 As New DataSet : 價錢_dgv.DataSource = Nothing : ds6.Clear()
  483. 價錢_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  484. 價錢_dgv.ColumnHeadersHeight = 25
  485. 價錢_dgv.AllowUserToAddRows = False
  486. If 日期_rb.Checked = False And 單價_rb.Checked = True Then : SQL_加權平均()
  487. ElseIf 日期_rb.Checked = True And 單價_rb.Checked = False Then : SQL_最近日期() : End If
  488. da.Fill(ds6) : 價錢_dgv.DataSource = ds6.Tables(0) : conn.Close()
  489. End Sub
  490. Private Sub 價格()
  491. Dim 差異, 比對 As Double
  492. For i As Integer = 0 To 明細_dgv.Rows.Count - 1
  493. If 明細_dgv.Rows(i).Cells("OUP").Value = 0 And 明細_dgv.Rows(i).Cells(表頭(26)).Value = 0 Then
  494. If 深色風格 = False Then
  495. 明細_dgv.Rows(i).DefaultCellStyle.BackColor = Color.Lavender
  496. Else
  497. 明細_dgv.Rows(i).DefaultCellStyle.BackColor = Color.Navy
  498. End If
  499. 明細_dgv.Rows(i).Cells("SP%").Value = "0 % →"
  500. ElseIf 明細_dgv.Rows(i).Cells(表頭(26)).Value = 0 And 明細_dgv.Rows(i).Cells("OUP").Value <> 0 Then
  501. If 深色風格 = False Then
  502. 明細_dgv.Rows(i).DefaultCellStyle.BackColor = Color.Lavender
  503. Else
  504. 明細_dgv.Rows(i).DefaultCellStyle.BackColor = Color.Navy
  505. End If
  506. 明細_dgv.Rows(i).Cells("SP%").Value = "0 % →"
  507. ElseIf 明細_dgv.Rows(i).Cells("OUP").Value <> 0 And 明細_dgv.Rows(i).Cells(表頭(26)).Value <> 0 Then
  508. 差異 = 明細_dgv.Rows(i).Cells(表頭(26)).Value - 明細_dgv.Rows(i).Cells("OUP").Value : 比對 = 差異 / 明細_dgv.Rows(i).Cells(表頭(26)).Value * 100
  509. If 比對 > 0 Then : 明細_dgv.Rows(i).Cells("SP%").Value = CInt(比對) & " % ↗" : 比對 *= 1
  510. ElseIf 比對 < 0 Then : 明細_dgv.Rows(i).Cells("SP%").Value = CInt(比對) & " % ↘" : 比對 *= -1
  511. ElseIf 比對 = 0 Then : 明細_dgv.Rows(i).Cells("SP%").Value = CInt(比對) & " % →" : End If
  512. If 深色風格 = False Then
  513. If 比對 < 比例1 Then : 明細_dgv.Rows(i).DefaultCellStyle.BackColor = Color.White
  514. ElseIf 比對 > 比例1 And 比對 < 比例2 Then : 明細_dgv.Rows(i).DefaultCellStyle.BackColor = Color.LightGreen
  515. ElseIf 比對 > 比例2 And 比對 < 比例3 Then : 明細_dgv.Rows(i).DefaultCellStyle.BackColor = Color.LightBlue
  516. ElseIf 比對 >= 比例3 Then : 明細_dgv.Rows(i).DefaultCellStyle.BackColor = Color.LightPink : End If
  517. Else
  518. If 比對 < 比例1 Then : 明細_dgv.Rows(i).DefaultCellStyle.BackColor = Color.DimGray
  519. ElseIf 比對 > 比例1 And 比對 < 比例2 Then : 明細_dgv.Rows(i).DefaultCellStyle.BackColor = Color.DarkGreen
  520. ElseIf 比對 > 比例2 And 比對 < 比例3 Then : 明細_dgv.Rows(i).DefaultCellStyle.BackColor = Color.DarkBlue
  521. ElseIf 比對 >= 比例3 Then : 明細_dgv.Rows(i).DefaultCellStyle.BackColor = Color.Purple : End If
  522. End If
  523. End If
  524. Next
  525. End Sub
  526. Private Sub Set_合約甲方()
  527. Dim ds1 As New DataSet : 甲方_dgv.DataSource = Nothing : ds1.Clear()
  528. 甲方_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  529. 甲方_dgv.ColumnHeadersHeight = 25 : 甲方_dgv.AllowUserToAddRows = False
  530. SQL_合約甲方() : da.Fill(ds1) : 甲方_dgv.DataSource = ds1.Tables(0) : conn.Close()
  531. If 甲方_dgv.Rows.Count > 19 Then : MGB(系統語言字典("H312-100-" & 語言), 1) : Me.Close() : End If
  532. For i As Integer = 1 To 20
  533. Dim 選擇 As CheckBox = CType(Me.Controls.Find("A" & i, True)(0), CheckBox) : 選擇.Visible = False
  534. Next
  535. For i As Integer = 0 To 甲方_dgv.Rows.Count - 1
  536. Dim 選擇 As CheckBox = CType(Me.Controls.Find("A" & i + 1, True)(0), CheckBox) : 選擇.Text = 甲方_dgv.Rows(i).Cells(0).Value.ToString : 選擇.Visible = True
  537. Next
  538. End Sub
  539. Private Sub 採購付款狀態報表_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  540. Me.MdiParent = HX_PGS_ERP_SYS : Me.WindowState = 2 : Me.AutoScroll = True
  541. 分母 = 100 : 分段1 = 0.35 : 分段2 = 0.34 : 分段3 = 0.65 : 分段4 = 0.64 : 進度條後墜 = " %"
  542. 風格() : H(312) = True : 介面 = "H312" : 語言轉換讀取() : 顯示說明(999, False)
  543. Panel2.SendToBack() : 視窗2_pl.Visible = False : 單價_rb.Checked = True : Panel5.BringToFront() : RadTrackBar1.Visible = False : 首次開啟 = True
  544. If 登入人級別 = "00" Then
  545. 縮放1_bt.Visible = True
  546. Else
  547. 縮放1_bt.Visible = False
  548. End If
  549. MyMod.清單字體大小調整()
  550. 明細_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", HX_PGS_ERP_SYS.字體_NUD.Value)
  551. 清單_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", HX_PGS_ERP_SYS.字體_NUD.Value)
  552. 清單1_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", HX_PGS_ERP_SYS.字體_NUD.Value)
  553. 彙總1_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", HX_PGS_ERP_SYS.字體_NUD.Value)
  554. 彙總2_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", HX_PGS_ERP_SYS.字體_NUD.Value)
  555. 彙總3_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", HX_PGS_ERP_SYS.字體_NUD.Value)
  556. 彙總4_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", HX_PGS_ERP_SYS.字體_NUD.Value)
  557. 合計1_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", HX_PGS_ERP_SYS.字體_NUD.Value)
  558. 合計2_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", HX_PGS_ERP_SYS.字體_NUD.Value)
  559. 合計3_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", HX_PGS_ERP_SYS.字體_NUD.Value)
  560. End Sub
  561. Private Sub 採購付款狀態報表_Shown(sender As Object, e As EventArgs) Handles MyBase.Shown
  562. Set_合約甲方() : Set_清單1() : 首次開啟 = False
  563. End Sub
  564. Private Sub 語轉扭_bt_Click(sender As Object, e As EventArgs) Handles 語轉扭_bt.Click
  565. H(312) = True : 介面 = "H312" : 語言轉換讀取() : Set_清單1()
  566. End Sub
  567. Private Sub 採購付款狀態報表_Closed(sender As Object, e As EventArgs) Handles MyBase.Closed
  568. H(312) = False : MyMod.虛擬桌面開啟()
  569. End Sub
  570. Private Sub 系統說明_bt_Click(sender As Object, e As EventArgs) Handles 系統說明_bt.Click
  571. 介面 = "H312"
  572. End Sub
  573. Private Sub 登入閒置控制_MouseMove(sender As Object, e As EventArgs) Handles MyBase.MouseMove
  574. timeNow = 0 : HX_PGS_ERP_SYS.Timer1.Enabled = False : HX_PGS_ERP_SYS.Timer1.Enabled = True
  575. End Sub
  576. Private Sub 登入閒置控制_KeyPress(sender As Object, e As EventArgs) Handles MyBase.KeyPress
  577. timeNow = 0 : HX_PGS_ERP_SYS.Timer1.Enabled = False : HX_PGS_ERP_SYS.Timer1.Enabled = True
  578. End Sub
  579. Private Sub 回首頁_bt_Click(sender As Object, e As EventArgs) Handles 回首頁_bt.Click
  580. Set_清單1()
  581. End Sub
  582. Private Sub 縮放2_bt_Click(sender As Object, e As EventArgs) Handles 縮放2_bt.Click
  583. Panel5.BringToFront() : Panel1.SendToBack()
  584. End Sub
  585. Private Sub 縮放1_bt_Click(sender As Object, e As EventArgs) Handles 縮放1_bt.Click
  586. Panel5.SendToBack() : Panel1.BringToFront()
  587. End Sub
  588. Private Sub 彙總3_dgv_Sorted(ByVal sender As Object, ByVal e As EventArgs) Handles 彙總3_dgv.Sorted
  589. 彙總()
  590. End Sub
  591. Private Sub 彙總3_dgv_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 彙總3_dgv.MouseUp
  592. 'If 彙總3_dgv.SelectedCells.Count = 1 Then : MsgBox(彙總3_dgv.SelectedCells(0).ColumnIndex & " " & 彙總3_dgv.SelectedCells(0).RowIndex) : End If
  593. If 彙總3_dgv.SelectedCells.Count > 0 Then
  594. If 彙總3_dgv.SelectedCells(0).ColumnIndex > -1 Then
  595. Dim X1, Y1, X2, Y2, X3, Y3 As Integer : X1 = Me.Size.Width : Y1 = Me.Size.Height : X2 = 視窗2_pl.Size.Width : Y2 = 視窗2_pl.Size.Height
  596. Y3 = (Y1 - Y2) / 2 : X3 = (X1 - X2) / 2
  597. 視窗2_pl.Location = New System.Drawing.Point(X3, Y3) : 視窗2_pl.Visible = True : 視窗2_pl.BringToFront()
  598. PA10 = 彙總3_dgv.Rows(彙總3_dgv.SelectedCells(0).RowIndex).Cells(0).Value.ToString : Set_採購單清單()
  599. End If
  600. End If
  601. End Sub
  602. Private Sub 彙總1_dgv_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 彙總1_dgv.MouseUp
  603. 'If 彙總1_dgv.SelectedCells.Count = 1 Then : MsgBox(彙總1_dgv.SelectedCells(0).ColumnIndex & " " & 彙總1_dgv.SelectedCells(0).RowIndex) : End If
  604. If 彙總1_dgv.SelectedCells.Count > 0 Then
  605. If 彙總1_dgv.SelectedCells(0).ColumnIndex > -1 Then
  606. PA10 = 彙總1_dgv.Rows(彙總1_dgv.SelectedCells(0).RowIndex).Cells(0).Value.ToString : Set_清單2()
  607. End If
  608. End If
  609. End Sub
  610. Private Sub A1_CheckedChanged(sender As Object, e As EventArgs) Handles A1.Click
  611. Set_清單3()
  612. End Sub
  613. Private Sub A2_CheckedChanged(sender As Object, e As EventArgs) Handles A2.Click
  614. Set_清單3()
  615. End Sub
  616. Private Sub A3_CheckedChanged(sender As Object, e As EventArgs) Handles A3.Click
  617. Set_清單3()
  618. End Sub
  619. Private Sub A4_CheckedChanged(sender As Object, e As EventArgs) Handles A4.Click
  620. Set_清單3()
  621. End Sub
  622. Private Sub A5_CheckedChanged(sender As Object, e As EventArgs) Handles A5.Click
  623. Set_清單3()
  624. End Sub
  625. Private Sub A6_CheckedChanged(sender As Object, e As EventArgs) Handles A6.Click
  626. Set_清單3()
  627. End Sub
  628. Private Sub A7_CheckedChanged(sender As Object, e As EventArgs) Handles A7.Click
  629. Set_清單3()
  630. End Sub
  631. Private Sub A8_CheckedChanged(sender As Object, e As EventArgs) Handles A8.Click
  632. Set_清單3()
  633. End Sub
  634. Private Sub A9_CheckedChanged(sender As Object, e As EventArgs) Handles A9.Click
  635. Set_清單3()
  636. End Sub
  637. Private Sub A10_CheckedChanged(sender As Object, e As EventArgs) Handles A10.Click
  638. Set_清單3()
  639. End Sub
  640. Private Sub A11_CheckedChanged(sender As Object, e As EventArgs) Handles A11.Click
  641. Set_清單3()
  642. End Sub
  643. Private Sub A12_CheckedChanged(sender As Object, e As EventArgs) Handles A12.Click
  644. Set_清單3()
  645. End Sub
  646. Private Sub A13_CheckedChanged(sender As Object, e As EventArgs) Handles A13.Click
  647. Set_清單3()
  648. End Sub
  649. Private Sub A14_CheckedChanged(sender As Object, e As EventArgs) Handles A14.Click
  650. Set_清單3()
  651. End Sub
  652. Private Sub A15_CheckedChanged(sender As Object, e As EventArgs) Handles A15.Click
  653. Set_清單3()
  654. End Sub
  655. Private Sub A16_CheckedChanged(sender As Object, e As EventArgs) Handles A16.Click
  656. Set_清單3()
  657. End Sub
  658. Private Sub A17_CheckedChanged(sender As Object, e As EventArgs) Handles A17.Click
  659. Set_清單3()
  660. End Sub
  661. Private Sub A18_CheckedChanged(sender As Object, e As EventArgs) Handles A18.Click
  662. Set_清單3()
  663. End Sub
  664. Private Sub A19_CheckedChanged(sender As Object, e As EventArgs) Handles A19.Click
  665. Set_清單3()
  666. End Sub
  667. Private Sub A20_CheckedChanged(sender As Object, e As EventArgs) Handles A20.Click
  668. Set_清單3()
  669. End Sub
  670. '----------------------自創視窗滑鼠拖曳功能---------------------------------------------------------------------------------------------------------
  671. Dim OldX, OldY As Long : Dim drag As Boolean
  672. Private Sub CanceL2_bt_Click(sender As Object, e As EventArgs) Handles CanceL2_bt.Click
  673. If 視窗2_pl.Visible = False Then : 視窗2_pl.Visible = True : 視窗2_pl.BringToFront() : Else
  674. 視窗2_pl.Visible = False : End If
  675. End Sub
  676. Private Sub 視窗2_pl_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 視窗2_pl.MouseDown
  677. If e.Button = MouseButtons.Left Then : OldX = e.X : OldY = e.Y : drag = True : End If
  678. End Sub
  679. Private Sub 視窗2_pl_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 視窗2_pl.MouseMove
  680. If drag Then : 視窗2_pl.Left = 視窗2_pl.Left + e.X - OldX : 視窗2_pl.Top = 視窗2_pl.Top + e.Y - OldY : End If
  681. End Sub
  682. Private Sub 視窗2_pl_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 視窗2_pl.MouseUp
  683. drag = False
  684. End Sub
  685. Private Sub 風格()
  686. If 深色風格 = False Then
  687. Me.BackColor = SystemColors.Control : 視窗2_pl.BackColor = SystemColors.Control : Panel3.BackColor = Color.White
  688. '----------------黑-------------------------------------------
  689. 回首頁_bt.BackColor = Color.White
  690. 語轉扭_bt.BackColor = Color.White : 語轉扭_bt.ForeColor = Color.Black
  691. For i As Integer = 1 To 20 : Dim 選擇 As CheckBox = CType(Me.Controls.Find("A" & i, True)(0), CheckBox) : 選擇.ForeColor = Color.Black : Next
  692. 清單_dgv.EnableHeadersVisualStyles = True : 清單_dgv.BackgroundColor = Color.White : 清單_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.Black
  693. 清單_dgv.DefaultCellStyle.BackColor = Color.White : 清單_dgv.DefaultCellStyle.ForeColor = Color.Black
  694. 明細_dgv.EnableHeadersVisualStyles = True : 明細_dgv.BackgroundColor = Color.White : 明細_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.Black
  695. 明細_dgv.DefaultCellStyle.BackColor = Color.White : 明細_dgv.DefaultCellStyle.ForeColor = Color.Black
  696. 清單1_dgv.EnableHeadersVisualStyles = True : 清單1_dgv.BackgroundColor = Color.White : 清單1_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.Black
  697. 清單1_dgv.DefaultCellStyle.BackColor = Color.White : 清單1_dgv.DefaultCellStyle.ForeColor = Color.Black
  698. 彙總1_dgv.EnableHeadersVisualStyles = True : 彙總1_dgv.BackgroundColor = Color.White : 彙總1_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.Black
  699. 彙總1_dgv.DefaultCellStyle.BackColor = Color.White : 彙總1_dgv.DefaultCellStyle.ForeColor = Color.Black : 彙總1_dgv.DefaultCellStyle.SelectionBackColor = Color.White
  700. 彙總1_dgv.DefaultCellStyle.SelectionForeColor = Color.Black
  701. 彙總2_dgv.EnableHeadersVisualStyles = True : 彙總2_dgv.BackgroundColor = Color.White : 彙總2_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.Black
  702. 彙總2_dgv.DefaultCellStyle.BackColor = Color.White : 彙總2_dgv.DefaultCellStyle.ForeColor = Color.Black : 彙總2_dgv.DefaultCellStyle.SelectionBackColor = Color.White
  703. 彙總2_dgv.DefaultCellStyle.SelectionForeColor = Color.Black
  704. 彙總3_dgv.EnableHeadersVisualStyles = True : 彙總3_dgv.BackgroundColor = Color.White : 彙總3_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.Black
  705. 彙總3_dgv.DefaultCellStyle.BackColor = Color.White : 彙總3_dgv.DefaultCellStyle.ForeColor = Color.Black : 彙總3_dgv.DefaultCellStyle.SelectionBackColor = Color.White
  706. 彙總3_dgv.DefaultCellStyle.SelectionForeColor = Color.Black
  707. 彙總4_dgv.EnableHeadersVisualStyles = True : 彙總4_dgv.BackgroundColor = Color.White : 彙總4_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.Black
  708. 彙總4_dgv.DefaultCellStyle.BackColor = Color.White : 彙總4_dgv.DefaultCellStyle.ForeColor = Color.Black : 彙總4_dgv.DefaultCellStyle.SelectionBackColor = Color.White
  709. 彙總4_dgv.DefaultCellStyle.SelectionForeColor = Color.Black
  710. 合計1_dgv.EnableHeadersVisualStyles = True : 合計1_dgv.BackgroundColor = Color.White : 合計1_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.Black
  711. 合計1_dgv.DefaultCellStyle.BackColor = Color.White : 合計1_dgv.DefaultCellStyle.ForeColor = Color.Black : 合計1_dgv.DefaultCellStyle.SelectionBackColor = Color.White
  712. 合計1_dgv.DefaultCellStyle.SelectionForeColor = Color.Black
  713. 合計2_dgv.EnableHeadersVisualStyles = True : 合計2_dgv.BackgroundColor = Color.White : 合計2_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.Black
  714. 合計2_dgv.DefaultCellStyle.BackColor = Color.White : 合計2_dgv.DefaultCellStyle.ForeColor = Color.Black : 合計2_dgv.DefaultCellStyle.SelectionBackColor = Color.White
  715. 合計2_dgv.DefaultCellStyle.SelectionForeColor = Color.Black
  716. 合計3_dgv.EnableHeadersVisualStyles = True : 合計3_dgv.BackgroundColor = Color.White : 合計3_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.Black
  717. 合計3_dgv.DefaultCellStyle.BackColor = Color.White : 合計3_dgv.DefaultCellStyle.ForeColor = Color.Black : 合計3_dgv.DefaultCellStyle.SelectionBackColor = Color.White
  718. 合計3_dgv.DefaultCellStyle.SelectionForeColor = Color.Black
  719. Else
  720. Me.BackColor = Color.Black : 視窗2_pl.BackColor = Color.White : Panel3.BackColor = Color.Black
  721. '----------------黑-------------------------------------------
  722. 回首頁_bt.BackColor = Color.DimGray
  723. 語轉扭_bt.BackColor = Color.DimGray : 語轉扭_bt.ForeColor = Color.White
  724. For i As Integer = 1 To 20 : Dim 選擇 As CheckBox = CType(Me.Controls.Find("A" & i, True)(0), CheckBox) : 選擇.ForeColor = Color.White : Next
  725. 清單_dgv.EnableHeadersVisualStyles = False : 清單_dgv.BackgroundColor = Color.DimGray : 清單_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.White
  726. 清單_dgv.ColumnHeadersDefaultCellStyle.BackColor = Color.Black : 清單_dgv.DefaultCellStyle.BackColor = Color.Black : 清單_dgv.DefaultCellStyle.ForeColor = Color.White
  727. 明細_dgv.EnableHeadersVisualStyles = False : 明細_dgv.BackgroundColor = Color.DimGray : 明細_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.White
  728. 明細_dgv.ColumnHeadersDefaultCellStyle.BackColor = Color.Black : 明細_dgv.DefaultCellStyle.BackColor = Color.Black : 明細_dgv.DefaultCellStyle.ForeColor = Color.White
  729. 清單1_dgv.EnableHeadersVisualStyles = False : 清單1_dgv.BackgroundColor = Color.DimGray : 清單1_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.White
  730. 清單1_dgv.ColumnHeadersDefaultCellStyle.BackColor = Color.Black : 清單1_dgv.DefaultCellStyle.BackColor = Color.Black : 清單1_dgv.DefaultCellStyle.ForeColor = Color.White
  731. 彙總1_dgv.EnableHeadersVisualStyles = False : 彙總1_dgv.BackgroundColor = Color.DimGray : 彙總1_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.White
  732. 彙總1_dgv.ColumnHeadersDefaultCellStyle.BackColor = Color.Black : 彙總1_dgv.DefaultCellStyle.BackColor = Color.Black : 彙總1_dgv.DefaultCellStyle.ForeColor = Color.White
  733. 彙總1_dgv.DefaultCellStyle.SelectionBackColor = Color.Black
  734. 彙總2_dgv.EnableHeadersVisualStyles = False : 彙總2_dgv.BackgroundColor = Color.DimGray : 彙總2_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.White
  735. 彙總2_dgv.ColumnHeadersDefaultCellStyle.BackColor = Color.Black : 彙總2_dgv.DefaultCellStyle.BackColor = Color.Black : 彙總2_dgv.DefaultCellStyle.ForeColor = Color.White
  736. 彙總2_dgv.DefaultCellStyle.SelectionBackColor = Color.Black
  737. 彙總3_dgv.EnableHeadersVisualStyles = False : 彙總3_dgv.BackgroundColor = Color.DimGray : 彙總3_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.White
  738. 彙總3_dgv.ColumnHeadersDefaultCellStyle.BackColor = Color.Black : 彙總3_dgv.DefaultCellStyle.BackColor = Color.Black : 彙總3_dgv.DefaultCellStyle.ForeColor = Color.White
  739. 彙總3_dgv.DefaultCellStyle.SelectionBackColor = Color.Black
  740. 彙總4_dgv.EnableHeadersVisualStyles = False : 彙總4_dgv.BackgroundColor = Color.DimGray : 彙總4_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.White
  741. 彙總4_dgv.ColumnHeadersDefaultCellStyle.BackColor = Color.Black : 彙總4_dgv.DefaultCellStyle.BackColor = Color.Black : 彙總4_dgv.DefaultCellStyle.ForeColor = Color.White
  742. 彙總4_dgv.DefaultCellStyle.SelectionBackColor = Color.Black
  743. 合計1_dgv.EnableHeadersVisualStyles = False : 合計1_dgv.BackgroundColor = Color.DimGray : 合計1_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.White
  744. 合計1_dgv.ColumnHeadersDefaultCellStyle.BackColor = Color.Black : 合計1_dgv.DefaultCellStyle.BackColor = Color.Black : 合計1_dgv.DefaultCellStyle.ForeColor = Color.White
  745. 合計1_dgv.DefaultCellStyle.SelectionBackColor = Color.Black
  746. 合計2_dgv.EnableHeadersVisualStyles = False : 合計2_dgv.BackgroundColor = Color.DimGray : 合計2_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.White
  747. 合計2_dgv.ColumnHeadersDefaultCellStyle.BackColor = Color.Black : 合計2_dgv.DefaultCellStyle.BackColor = Color.Black : 合計2_dgv.DefaultCellStyle.ForeColor = Color.White
  748. 合計2_dgv.DefaultCellStyle.SelectionBackColor = Color.Black
  749. 合計3_dgv.EnableHeadersVisualStyles = False : 合計3_dgv.BackgroundColor = Color.DimGray : 合計3_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.White
  750. 合計3_dgv.ColumnHeadersDefaultCellStyle.BackColor = Color.Black : 合計3_dgv.DefaultCellStyle.BackColor = Color.Black : 合計3_dgv.DefaultCellStyle.ForeColor = Color.White
  751. 合計3_dgv.DefaultCellStyle.SelectionBackColor = Color.Black
  752. End If
  753. End Sub
  754. End Class