Нет описания
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

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