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.

財務報表3.vb 84KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896
  1. Option Strict Off
  2. Imports System.Windows.Forms.DataVisualization.Charting
  3. Public Class 財務報表3
  4. Dim 選款項 As Boolean
  5. Private Sub 語言轉換讀取()
  6. If 系統語言 = "繁體中文" Then : 語言 = "CH" : ElseIf 系統語言 = "English" Then : 語言 = "EN" : ElseIf 系統語言 = "Indonesian" Then : 語言 = "IN" : End If
  7. Me.Text = 系統語言字典("H001-209-" & 語言) : 表頭(11) = 系統語言字典("H110-118-" & 語言) : 表頭(12) = 系統語言字典(介面 & "-103-" & 語言)
  8. 表頭(14) = 系統語言字典(介面 & "-105-" & 語言) : 表頭(15) = 系統語言字典(介面 & "-106-" & 語言) : 表頭(16) = 系統語言字典(介面 & "-107-" & 語言)
  9. 表頭(17) = 系統語言字典(介面 & "-108-" & 語言) : 表頭(18) = 系統語言字典(介面 & "-109-" & 語言) : 表頭(19) = 系統語言字典(介面 & "-110-" & 語言)
  10. 表頭(20) = 系統語言字典(介面 & "-111-" & 語言) : 表頭(21) = 系統語言字典(介面 & "-112-" & 語言) : 表頭(13) = 系統語言字典(介面 & "-104-" & 語言)
  11. 款項_bt.Text = 系統語言字典("H309-100-" & 語言) : B1.Text = 系統語言字典(介面 & "-105-" & 語言) : B2.Text = 系統語言字典(介面 & "-106-" & 語言)
  12. 稅額_bt.Text = 系統語言字典("H309-101-" & 語言) : B3.Text = 系統語言字典(介面 & "-107-" & 語言) : B4.Text = 系統語言字典(介面 & "-108-" & 語言)
  13. End Sub
  14. Private Sub Set_請款清單()
  15. Dim ds1 As New DataSet : 請款清單_dgv.DataSource = Nothing : ds1.Clear()
  16. 請款清單_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  17. 請款清單_dgv.ColumnHeadersHeight = 25 : 請款清單_dgv.AllowUserToAddRows = False
  18. SQL_請款清單() : da.Fill(ds1) : 請款清單_dgv.DataSource = ds1.Tables(0) : conn.Close()
  19. 請款清單_dgv.Columns("期數").FillWeight = 40 : 請款清單_dgv.Columns("稅金").FillWeight = 40
  20. 請款清單_dgv.Columns("本收").FillWeight = 40 : 請款清單_dgv.Columns("稅收").FillWeight = 40
  21. Dim formatColumns() As Integer = {3, 5, 4, 6}
  22. For Each colIndex As Integer In formatColumns
  23. 請款清單_dgv.Columns(colIndex).DefaultCellStyle.Format = "#,##0"
  24. 請款清單_dgv.Columns(colIndex).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
  25. 請款清單_dgv.Columns(colIndex).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
  26. Next
  27. For II As Integer = 0 To 請款清單_dgv.Rows.Count - 1
  28. If IsDBNull(請款清單_dgv.Rows(II).Cells("本收").Value) = True Then : 請款清單_dgv.Rows(II).Cells("本收").Value = False : End If
  29. If IsDBNull(請款清單_dgv.Rows(II).Cells("稅收").Value) = True Then : 請款清單_dgv.Rows(II).Cells("稅收").Value = False : End If
  30. Next
  31. End Sub
  32. Private Sub Set_合約清單()
  33. Set_請款清單() : Set_合約報表計算() : Set_合約報表計算1()
  34. Dim ds5 As New DataSet : 彙總_dgv.DataSource = Nothing
  35. 彙總_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  36. 彙總_dgv.ColumnHeadersHeight = 25 : 彙總_dgv.AllowUserToAddRows = False
  37. 表頭(9) = "合約號" : 表頭(10) = "合約2%" : SQL_合約彙總()
  38. da.Fill(ds5) : 彙總_dgv.DataSource = ds5.Tables(0)
  39. 彙總_dgv.Columns("甲方").FillWeight = 40 : 彙總_dgv.Columns("計數").FillWeight = 40
  40. Dim formatColumns() As Integer = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}
  41. For Each colIndex As Integer In formatColumns
  42. 彙總_dgv.Columns(colIndex).DefaultCellStyle.Format = "#,##0"
  43. 彙總_dgv.Columns(colIndex).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
  44. 彙總_dgv.Columns(colIndex).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
  45. Next
  46. '---------------------------基本計算----------------------------------------------------------------------------------------------------------------------------------------------
  47. For i As Integer = 0 To 彙總_dgv.Rows.Count - 1
  48. If 彙總_dgv.Rows(i).Cells("總報價").Value.ToString = "" Then : 彙總_dgv.Rows(i).Cells("總報價").Value = "0" : End If
  49. 彙總_dgv.Rows(i).Cells("已請款").Value = "0" : 彙總_dgv.Rows(i).Cells("未請款").Value = "0" : 彙總_dgv.Rows(i).Cells("已請稅").Value = "0"
  50. 彙總_dgv.Rows(i).Cells("未請稅").Value = "0" : 彙總_dgv.Rows(i).Cells("已收款").Value = "0" : 彙總_dgv.Rows(i).Cells("已請未收款").Value = "0"
  51. 彙總_dgv.Rows(i).Cells("已收稅").Value = "0" : 彙總_dgv.Rows(i).Cells("已請未收稅").Value = "0" : 彙總_dgv.Rows(i).Cells("計數").Value = "1"
  52. 彙總_dgv.Rows(i).Cells("稅金").Value = CLng(彙總_dgv.Rows(i).Cells("工程總價").Value.ToString) - CLng(彙總_dgv.Rows(i).Cells("總報價").Value.ToString)
  53. For ii As Integer = 0 To 請款清單_dgv.Rows.Count - 1
  54. If 彙總_dgv.Rows(i).Cells(0).Value.ToString = 請款清單_dgv.Rows(ii).Cells(0).Value.ToString Then
  55. 彙總_dgv.Rows(i).Cells("已請款").Value = CLng(彙總_dgv.Rows(i).Cells("已請款").Value.ToString) + CLng(請款清單_dgv.Rows(ii).Cells("請款金額").Value.ToString)
  56. 彙總_dgv.Rows(i).Cells("已請稅").Value = CLng(彙總_dgv.Rows(i).Cells("已請稅").Value.ToString) + CLng(請款清單_dgv.Rows(ii).Cells("稅額").Value.ToString)
  57. End If
  58. If 彙總_dgv.Rows(i).Cells(0).Value.ToString = 請款清單_dgv.Rows(ii).Cells(0).Value.ToString And 請款清單_dgv.Rows(ii).Cells("本收").Value = True Then
  59. 彙總_dgv.Rows(i).Cells("已收款").Value = CLng(彙總_dgv.Rows(i).Cells("已收款").Value.ToString) + CLng(請款清單_dgv.Rows(ii).Cells("請款金額").Value.ToString)
  60. End If
  61. If 彙總_dgv.Rows(i).Cells(0).Value.ToString = 請款清單_dgv.Rows(ii).Cells(0).Value.ToString And 請款清單_dgv.Rows(ii).Cells("稅收").Value = True Then
  62. 彙總_dgv.Rows(i).Cells("已收稅").Value = CLng(彙總_dgv.Rows(i).Cells("已收稅").Value.ToString) + CLng(請款清單_dgv.Rows(ii).Cells("稅額").Value.ToString)
  63. End If
  64. Next
  65. 彙總_dgv.Rows(i).Cells("未請款").Value = CLng(彙總_dgv.Rows(i).Cells("總報價").Value) - (彙總_dgv.Rows(i).Cells("已請款").Value)
  66. 彙總_dgv.Rows(i).Cells("未請稅").Value = CLng(彙總_dgv.Rows(i).Cells("稅金").Value) - (彙總_dgv.Rows(i).Cells("已請稅").Value)
  67. 彙總_dgv.Rows(i).Cells("已請未收款").Value = CLng(彙總_dgv.Rows(i).Cells("已請款").Value) - (彙總_dgv.Rows(i).Cells("已收款").Value)
  68. 彙總_dgv.Rows(i).Cells("已請未收稅").Value = CLng(彙總_dgv.Rows(i).Cells("已請稅").Value) - (彙總_dgv.Rows(i).Cells("已收稅").Value)
  69. If CLng(彙總_dgv.Rows(i).Cells("未請款").Value) < 0 Then : 彙總_dgv.Rows(i).Cells("未請款").Value = "0" : End If
  70. If CLng(彙總_dgv.Rows(i).Cells("未請稅").Value) < 0 Then : 彙總_dgv.Rows(i).Cells("未請稅").Value = "0" : End If
  71. Next
  72. '---------------------------彙總計算----------------------------------------------------------------------------------------------------------------------------------------------
  73. 合計1_dgv.Rows(0).Cells(1).Value = "0" : 合計2_dgv.Rows(0).Cells("工程總價").Value = "0" : 合計2_dgv.Rows(0).Cells("總報價").Value = "0"
  74. 合計2_dgv.Rows(0).Cells("稅金").Value = "0" : 合計2_dgv.Rows(0).Cells("已請款").Value = "0" : 合計2_dgv.Rows(0).Cells("未請款").Value = "0"
  75. 合計2_dgv.Rows(0).Cells("已請稅").Value = "0" : 合計2_dgv.Rows(0).Cells("未請稅").Value = "0" : 合計2_dgv.Rows(0).Cells("已收款").Value = "0"
  76. 合計2_dgv.Rows(0).Cells("已請未收款").Value = "0" : 合計2_dgv.Rows(0).Cells("已收稅").Value = "0" : 合計2_dgv.Rows(0).Cells("已請未收稅").Value = "0"
  77. For i As Integer = 0 To 計算_dgv.Rows.Count - 1
  78. 計算_dgv.Rows(i).Cells(表頭(12)).Value = "0" : 計算_dgv.Rows(i).Cells(表頭(13)).Value = "0" : 計算_dgv.Rows(i).Cells("總報價").Value = "0"
  79. 計算_dgv.Rows(i).Cells("稅金").Value = "0" : 計算_dgv.Rows(i).Cells(表頭(14)).Value = "0" : 計算_dgv.Rows(i).Cells(表頭(15)).Value = "0"
  80. 計算_dgv.Rows(i).Cells(表頭(18)).Value = "0" : 計算_dgv.Rows(i).Cells(表頭(19)).Value = "0" : 計算_dgv.Rows(i).Cells(表頭(16)).Value = "0"
  81. 計算_dgv.Rows(i).Cells(表頭(17)).Value = "0" : 計算_dgv.Rows(i).Cells(表頭(20)).Value = "0" : 計算_dgv.Rows(i).Cells(表頭(21)).Value = "0"
  82. 計算1_dgv.Rows(i).Cells(表頭(12)).Value = "0"
  83. 計算2_dgv.Rows(i).Cells(表頭(12)).Value = "0" : 計算2_dgv.Rows(i).Cells(表頭(13)).Value = "0" : 計算2_dgv.Rows(i).Cells("總報價").Value = "0"
  84. 計算2_dgv.Rows(i).Cells("稅金").Value = "0" : 計算2_dgv.Rows(i).Cells(表頭(14)).Value = "0" : 計算2_dgv.Rows(i).Cells(表頭(15)).Value = "0"
  85. 計算2_dgv.Rows(i).Cells(表頭(18)).Value = "0" : 計算2_dgv.Rows(i).Cells(表頭(19)).Value = "0" : 計算2_dgv.Rows(i).Cells(表頭(16)).Value = "0"
  86. 計算2_dgv.Rows(i).Cells(表頭(17)).Value = "0" : 計算2_dgv.Rows(i).Cells(表頭(20)).Value = "0" : 計算2_dgv.Rows(i).Cells(表頭(21)).Value = "0"
  87. For ii As Integer = 0 To 彙總_dgv.Rows.Count - 1
  88. If 計算_dgv.Rows(i).Cells(0).Value.ToString = 彙總_dgv.Rows(ii).Cells("甲方").Value.ToString Then
  89. 計算_dgv.Rows(i).Cells(表頭(12)).Value = CLng(計算_dgv.Rows(i).Cells(表頭(12)).Value.ToString) + CLng(彙總_dgv.Rows(ii).Cells("計數").Value.ToString)
  90. 計算1_dgv.Rows(i).Cells(表頭(12)).Value = CLng(計算1_dgv.Rows(i).Cells(表頭(12)).Value.ToString) + CLng(彙總_dgv.Rows(ii).Cells("計數").Value.ToString)
  91. 計算_dgv.Rows(i).Cells(表頭(13)).Value = CLng(計算_dgv.Rows(i).Cells(表頭(13)).Value.ToString) + CLng(彙總_dgv.Rows(ii).Cells("工程總價").Value.ToString)
  92. 計算_dgv.Rows(i).Cells("總報價").Value = CLng(計算_dgv.Rows(i).Cells("總報價").Value.ToString) + CLng(彙總_dgv.Rows(ii).Cells("總報價").Value.ToString)
  93. 計算_dgv.Rows(i).Cells("稅金").Value = CLng(計算_dgv.Rows(i).Cells("稅金").Value.ToString) + CLng(彙總_dgv.Rows(ii).Cells("稅金").Value.ToString)
  94. 計算_dgv.Rows(i).Cells(表頭(14)).Value = CLng(計算_dgv.Rows(i).Cells(表頭(14)).Value.ToString) + CLng(彙總_dgv.Rows(ii).Cells("已請款").Value.ToString)
  95. 計算_dgv.Rows(i).Cells(表頭(15)).Value = CLng(計算_dgv.Rows(i).Cells(表頭(15)).Value.ToString) + CLng(彙總_dgv.Rows(ii).Cells("未請款").Value.ToString)
  96. 計算_dgv.Rows(i).Cells(表頭(18)).Value = CLng(計算_dgv.Rows(i).Cells(表頭(18)).Value.ToString) + CLng(彙總_dgv.Rows(ii).Cells("已請稅").Value.ToString)
  97. 計算_dgv.Rows(i).Cells(表頭(19)).Value = CLng(計算_dgv.Rows(i).Cells(表頭(19)).Value.ToString) + CLng(彙總_dgv.Rows(ii).Cells("未請稅").Value.ToString)
  98. 計算_dgv.Rows(i).Cells(表頭(16)).Value = CLng(計算_dgv.Rows(i).Cells(表頭(16)).Value.ToString) + CLng(彙總_dgv.Rows(ii).Cells("已收款").Value.ToString)
  99. 計算_dgv.Rows(i).Cells(表頭(17)).Value = CLng(計算_dgv.Rows(i).Cells(表頭(17)).Value.ToString) + CLng(彙總_dgv.Rows(ii).Cells("已請未收款").Value.ToString)
  100. 計算_dgv.Rows(i).Cells(表頭(20)).Value = CLng(計算_dgv.Rows(i).Cells(表頭(20)).Value.ToString) + CLng(彙總_dgv.Rows(ii).Cells("已收稅").Value.ToString)
  101. 計算_dgv.Rows(i).Cells(表頭(21)).Value = CLng(計算_dgv.Rows(i).Cells(表頭(21)).Value.ToString) + CLng(彙總_dgv.Rows(ii).Cells("已請未收稅").Value.ToString)
  102. 計算2_dgv.Rows(i).Cells(表頭(13)).Value = CLng(計算2_dgv.Rows(i).Cells(表頭(13)).Value.ToString) + CLng(彙總_dgv.Rows(ii).Cells("工程總價").Value.ToString)
  103. 計算2_dgv.Rows(i).Cells("總報價").Value = CLng(計算2_dgv.Rows(i).Cells("總報價").Value.ToString) + CLng(彙總_dgv.Rows(ii).Cells("總報價").Value.ToString)
  104. 計算2_dgv.Rows(i).Cells("稅金").Value = CLng(計算2_dgv.Rows(i).Cells("稅金").Value.ToString) + CLng(彙總_dgv.Rows(ii).Cells("稅金").Value.ToString)
  105. 計算2_dgv.Rows(i).Cells(表頭(14)).Value = CLng(計算2_dgv.Rows(i).Cells(表頭(14)).Value.ToString) + CLng(彙總_dgv.Rows(ii).Cells("已請款").Value.ToString)
  106. 計算2_dgv.Rows(i).Cells(表頭(15)).Value = CLng(計算2_dgv.Rows(i).Cells(表頭(15)).Value.ToString) + CLng(彙總_dgv.Rows(ii).Cells("未請款").Value.ToString)
  107. 計算2_dgv.Rows(i).Cells(表頭(18)).Value = CLng(計算2_dgv.Rows(i).Cells(表頭(18)).Value.ToString) + CLng(彙總_dgv.Rows(ii).Cells("已請稅").Value.ToString)
  108. 計算2_dgv.Rows(i).Cells(表頭(19)).Value = CLng(計算2_dgv.Rows(i).Cells(表頭(19)).Value.ToString) + CLng(彙總_dgv.Rows(ii).Cells("未請稅").Value.ToString)
  109. 計算2_dgv.Rows(i).Cells(表頭(16)).Value = CLng(計算2_dgv.Rows(i).Cells(表頭(16)).Value.ToString) + CLng(彙總_dgv.Rows(ii).Cells("已收款").Value.ToString)
  110. 計算2_dgv.Rows(i).Cells(表頭(17)).Value = CLng(計算2_dgv.Rows(i).Cells(表頭(17)).Value.ToString) + CLng(彙總_dgv.Rows(ii).Cells("已請未收款").Value.ToString)
  111. 計算2_dgv.Rows(i).Cells(表頭(20)).Value = CLng(計算2_dgv.Rows(i).Cells(表頭(20)).Value.ToString) + CLng(彙總_dgv.Rows(ii).Cells("已收稅").Value.ToString)
  112. 計算2_dgv.Rows(i).Cells(表頭(21)).Value = CLng(計算2_dgv.Rows(i).Cells(表頭(21)).Value.ToString) + CLng(彙總_dgv.Rows(ii).Cells("已請未收稅").Value.ToString)
  113. End If
  114. Next
  115. If CLng(計算2_dgv.Rows(i).Cells("總報價").Value.ToString) = 0 Then : 計算2_dgv.Rows(i).Cells("比例1").Value = "0" : Else
  116. 計算2_dgv.Rows(i).Cells("比例1").Value = CLng(計算2_dgv.Rows(i).Cells(表頭(14)).Value.ToString) / CLng(計算2_dgv.Rows(i).Cells("總報價").Value.ToString) * 100
  117. End If
  118. If CLng(計算2_dgv.Rows(i).Cells(表頭(14)).Value.ToString) = 0 Then : 計算2_dgv.Rows(i).Cells("比例2").Value = "0" : Else
  119. 計算2_dgv.Rows(i).Cells("比例2").Value = CLng(計算2_dgv.Rows(i).Cells(表頭(16)).Value.ToString) / CLng(計算2_dgv.Rows(i).Cells(表頭(14)).Value.ToString) * 100
  120. End If
  121. If CLng(計算2_dgv.Rows(i).Cells("稅金").Value.ToString) = 0 Then : 計算2_dgv.Rows(i).Cells("比例3").Value = "0" : Else
  122. 計算2_dgv.Rows(i).Cells("比例3").Value = CLng(計算2_dgv.Rows(i).Cells(表頭(18)).Value.ToString) / CLng(計算2_dgv.Rows(i).Cells("稅金").Value.ToString) * 100
  123. End If
  124. If CLng(計算2_dgv.Rows(i).Cells(表頭(18)).Value.ToString) = 0 Then : 計算2_dgv.Rows(i).Cells("比例4").Value = "0" : Else
  125. 計算2_dgv.Rows(i).Cells("比例4").Value = CLng(計算2_dgv.Rows(i).Cells(表頭(20)).Value.ToString) / CLng(計算2_dgv.Rows(i).Cells(表頭(18)).Value.ToString) * 100
  126. End If
  127. 合計1_dgv.Rows(0).Cells(1).Value = CLng(合計1_dgv.Rows(0).Cells(1).Value.ToString) + CLng(計算1_dgv.Rows(i).Cells(表頭(12)).Value.ToString)
  128. 合計2_dgv.Rows(0).Cells("工程總價").Value = CLng(合計2_dgv.Rows(0).Cells("工程總價").Value.ToString) + CLng(計算2_dgv.Rows(i).Cells(表頭(13)).Value.ToString)
  129. 合計2_dgv.Rows(0).Cells("總報價").Value = CLng(合計2_dgv.Rows(0).Cells("總報價").Value.ToString) + CLng(計算2_dgv.Rows(i).Cells("總報價").Value.ToString)
  130. 合計2_dgv.Rows(0).Cells("稅金").Value = CLng(合計2_dgv.Rows(0).Cells("稅金").Value.ToString) + CLng(計算2_dgv.Rows(i).Cells("稅金").Value.ToString)
  131. 合計2_dgv.Rows(0).Cells("已請款").Value = CLng(合計2_dgv.Rows(0).Cells("已請款").Value.ToString) + CLng(計算2_dgv.Rows(i).Cells(表頭(14)).Value.ToString)
  132. 合計2_dgv.Rows(0).Cells("未請款").Value = CLng(合計2_dgv.Rows(0).Cells("未請款").Value.ToString) + CLng(計算2_dgv.Rows(i).Cells(表頭(15)).Value.ToString)
  133. 合計2_dgv.Rows(0).Cells("已請稅").Value = CLng(合計2_dgv.Rows(0).Cells("已請稅").Value.ToString) + CLng(計算2_dgv.Rows(i).Cells(表頭(18)).Value.ToString)
  134. 合計2_dgv.Rows(0).Cells("未請稅").Value = CLng(合計2_dgv.Rows(0).Cells("未請稅").Value.ToString) + CLng(計算2_dgv.Rows(i).Cells(表頭(19)).Value.ToString)
  135. 合計2_dgv.Rows(0).Cells("已收款").Value = CLng(合計2_dgv.Rows(0).Cells("已收款").Value.ToString) + CLng(計算2_dgv.Rows(i).Cells(表頭(16)).Value.ToString)
  136. 合計2_dgv.Rows(0).Cells("已請未收款").Value = CLng(合計2_dgv.Rows(0).Cells("已請未收款").Value.ToString) + CLng(計算2_dgv.Rows(i).Cells(表頭(17)).Value.ToString)
  137. 合計2_dgv.Rows(0).Cells("已收稅").Value = CLng(合計2_dgv.Rows(0).Cells("已收稅").Value.ToString) + CLng(計算2_dgv.Rows(i).Cells(表頭(20)).Value.ToString)
  138. 合計2_dgv.Rows(0).Cells("已請未收稅").Value = CLng(合計2_dgv.Rows(0).Cells("已請未收稅").Value.ToString) + CLng(計算2_dgv.Rows(i).Cells(表頭(21)).Value.ToString)
  139. Next
  140. 合計1_dgv.Rows(0).Cells(0).Value = 系統語言字典(介面 & "-101-" & 語言) : 合計2_dgv.Rows(0).Cells(0).Value = 系統語言字典(介面 & "-102-" & 語言)
  141. If CLng(合計2_dgv.Rows(0).Cells("總報價").Value.ToString) = 0 Then : 合計2_dgv.Rows(0).Cells("比例1").Value = "0" : Else
  142. 合計2_dgv.Rows(0).Cells("比例1").Value = CLng(合計2_dgv.Rows(0).Cells("已請款").Value.ToString) / CLng(合計2_dgv.Rows(0).Cells("總報價").Value.ToString) * 100
  143. If CLng(合計2_dgv.Rows(0).Cells("比例1").Value) > 100 Then : 合計2_dgv.Rows(0).Cells("比例1").Value = "100" : End If
  144. End If
  145. If CLng(合計2_dgv.Rows(0).Cells("已請款").Value.ToString) = 0 Then : 合計2_dgv.Rows(0).Cells("比例2").Value = "0" : Else
  146. 合計2_dgv.Rows(0).Cells("比例2").Value = CLng(合計2_dgv.Rows(0).Cells("已收款").Value.ToString) / CLng(合計2_dgv.Rows(0).Cells("已請款").Value.ToString) * 100
  147. If CLng(合計2_dgv.Rows(0).Cells("比例2").Value) > 100 Then : 合計2_dgv.Rows(0).Cells("比例2").Value = "100" : End If
  148. End If
  149. If CLng(合計2_dgv.Rows(0).Cells("稅金").Value.ToString) = 0 Then : 合計2_dgv.Rows(0).Cells("比例3").Value = "0" : Else
  150. 合計2_dgv.Rows(0).Cells("比例3").Value = CLng(合計2_dgv.Rows(0).Cells("已請稅").Value.ToString) / CLng(合計2_dgv.Rows(0).Cells("稅金").Value.ToString) * 100
  151. If CLng(合計2_dgv.Rows(0).Cells("比例3").Value) > 100 Then : 合計2_dgv.Rows(0).Cells("比例3").Value = "100" : End If
  152. End If
  153. If CLng(合計2_dgv.Rows(0).Cells("已請稅").Value.ToString) = 0 Then : 合計2_dgv.Rows(0).Cells("比例4").Value = "0" : Else
  154. 合計2_dgv.Rows(0).Cells("比例4").Value = CLng(合計2_dgv.Rows(0).Cells("已收稅").Value.ToString) / CLng(合計2_dgv.Rows(0).Cells("已請稅").Value.ToString) * 100
  155. If CLng(合計2_dgv.Rows(0).Cells("比例4").Value) > 100 Then : 合計2_dgv.Rows(0).Cells("比例4").Value = "100" : End If
  156. End If
  157. 計算_dgv.Sort(計算_dgv.Columns(表頭(13)), System.ComponentModel.ListSortDirection.Descending)
  158. 計算1_dgv.Sort(計算1_dgv.Columns(表頭(12)), System.ComponentModel.ListSortDirection.Descending)
  159. 計算2_dgv.Sort(計算2_dgv.Columns(表頭(13)), System.ComponentModel.ListSortDirection.Descending)
  160. 彙總()
  161. End Sub
  162. Private Sub Set_合約甲方()
  163. Dim ds1 As New DataSet : 甲方_dgv.DataSource = Nothing : ds1.Clear()
  164. 甲方_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  165. 甲方_dgv.ColumnHeadersHeight = 25 : 甲方_dgv.AllowUserToAddRows = False
  166. SQL_合約甲方() : da.Fill(ds1) : 甲方_dgv.DataSource = ds1.Tables(0) : conn.Close()
  167. If 甲方_dgv.Rows.Count > 19 Then : MGB(系統語言字典(介面 & "-100-" & 語言), 1) : Me.Close() : End If
  168. For i As Integer = 1 To 20
  169. Dim 選擇 As CheckBox = CType(Me.Controls.Find("A" & i, True)(0), CheckBox) : 選擇.Visible = False
  170. Next
  171. For i As Integer = 0 To 甲方_dgv.Rows.Count - 1
  172. Dim 選擇 As CheckBox = CType(Me.Controls.Find("A" & i + 1, True)(0), CheckBox) : 選擇.Text = 甲方_dgv.Rows(i).Cells(0).Value.ToString : 選擇.Visible = True
  173. Next
  174. End Sub
  175. Private Sub Set_合約報表計算()
  176. Dim ds1, ds2, ds3 As New DataSet
  177. 計算_dgv.DataSource = Nothing : 計算1_dgv.DataSource = Nothing : 合計1_dgv.DataSource = Nothing : ds1.Clear() : ds2.Clear() : ds3.Clear()
  178. 計算_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  179. 計算_dgv.ColumnHeadersHeight = 25 : 計算_dgv.AllowUserToAddRows = False
  180. 計算1_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  181. 計算1_dgv.ColumnHeadersHeight = 25 : 計算1_dgv.AllowUserToAddRows = False
  182. 合計1_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  183. 合計1_dgv.ColumnHeadersHeight = 25 : 合計1_dgv.AllowUserToAddRows = False
  184. 合計1_dgv.ColumnHeadersVisible = False
  185. Dim SSA(19) As String
  186. Dim checkBoxes() As CheckBox = {A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20}
  187. For i As Integer = 0 To SSA.Length - 1
  188. If checkBoxes(i).Checked Then : SSA(i) = " 約號甲方 LIKE N'" & checkBoxes(i).Text & "'" : Else : SSA(i) = "" : End If
  189. Next
  190. If SSA.All(Function(s) String.IsNullOrEmpty(s)) Then : SQL2 = "" : Else
  191. Dim selectedSSA = SSA.Where(Function(s) Not String.IsNullOrEmpty(s)).ToArray()
  192. SQL2 = "AND (" & String.Join(" OR ", selectedSSA) & ")"
  193. End If
  194. SQL_合約報表計算1() : da.Fill(ds1) : da.Fill(ds2) : SQL_合約報表計算2() : da.Fill(ds3)
  195. 計算_dgv.DataSource = ds1.Tables(0) : 計算1_dgv.DataSource = ds2.Tables(0) : 合計1_dgv.DataSource = ds3.Tables(0) : conn.Close()
  196. 計算_dgv.Columns("比例1").Visible = False : 計算_dgv.Columns("比例2").Visible = False
  197. 計算_dgv.Columns("比例3").Visible = False : 計算_dgv.Columns("比例4").Visible = False
  198. For j As Integer = 2 To 16 : 計算1_dgv.Columns(j).Visible = False : 合計1_dgv.Columns(j).Visible = False : Next
  199. 合計1_dgv.Columns(1).DefaultCellStyle.Format = "#,##0"
  200. 計算1_dgv.Columns(1).DefaultCellStyle.Format = "#,##0" : 計算_dgv.Columns(3).DefaultCellStyle.Format = "#,##0"
  201. 計算_dgv.Columns(1).DefaultCellStyle.Format = "#,##0" : 計算_dgv.Columns(2).DefaultCellStyle.Format = "#,##0"
  202. Dim formatColumns() As Integer = {4, 5, 6, 7, 8, 9, 10, 11, 12}
  203. For Each colIndex As Integer In formatColumns : 計算_dgv.Columns(colIndex).DefaultCellStyle.Format = "#,##0" : Next
  204. Dim alignmentColumns() As Integer = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}
  205. For Each colIndex As Integer In alignmentColumns
  206. 計算_dgv.Columns(colIndex).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
  207. 計算1_dgv.Columns(1).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
  208. 合計1_dgv.Columns(1).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
  209. 計算_dgv.Columns(colIndex).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
  210. 計算1_dgv.Columns(1).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
  211. 合計1_dgv.Columns(1).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
  212. Next
  213. '-------------------------合計DGV變形----------------------------------------------------------------------------------------------------------------------
  214. If IsVerticalScrollBarVisible(計算1_dgv) Then : 合計1_dgv.Size = New Size(計算1_dgv.Size.Width - 17, 合計1_dgv.Size.Height)
  215. Else : 合計1_dgv.Size = New Size(計算1_dgv.Size.Width, 合計1_dgv.Size.Height) : End If
  216. End Sub
  217. Private Function IsVerticalScrollBarVisible(dgv As DataGridView) As Boolean
  218. Return dgv.FirstDisplayedScrollingRowIndex > 0 OrElse dgv.DisplayedRowCount(False) < dgv.Rows.Count
  219. End Function
  220. Private Sub Set_合約報表計算1()
  221. Dim ds2, ds3 As New DataSet : 計算2_dgv.DataSource = Nothing : 合計2_dgv.DataSource = Nothing : ds2.Clear() : ds3.Clear()
  222. 計算2_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  223. 計算2_dgv.ColumnHeadersHeight = 25 : 計算2_dgv.AllowUserToAddRows = False
  224. 合計2_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  225. 合計2_dgv.ColumnHeadersHeight = 25 : 合計2_dgv.AllowUserToAddRows = False
  226. 合計2_dgv.ColumnHeadersVisible = False
  227. 合計2_dgv.ScrollBars = ScrollBars.None
  228. Dim SSA(19) As String
  229. Dim checkBoxes() As CheckBox = {A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20}
  230. For i As Integer = 0 To SSA.Length - 1
  231. If checkBoxes(i).Checked Then : SSA(i) = " 約號甲方 LIKE N'" & checkBoxes(i).Text & "'" : Else : SSA(i) = "" : End If
  232. Next
  233. If SSA.All(Function(s) String.IsNullOrEmpty(s)) Then : SQL2 = "" : Else
  234. Dim selectedSSA = SSA.Where(Function(s) Not String.IsNullOrEmpty(s)).ToArray()
  235. SQL2 = "AND (" & String.Join(" OR ", selectedSSA) & ")"
  236. End If
  237. SQL_合約報表計算1() : da.Fill(ds3) : SQL_合約報表計算2() : da.Fill(ds2)
  238. 計算2_dgv.DataSource = ds3.Tables(0) : 合計2_dgv.DataSource = ds2.Tables(0) : conn.Close()
  239. For i As Integer = 0 To 計算2_dgv.Rows.Count - 1
  240. 計算2_dgv.Rows(i).Cells("比例1").Value = "0" : 計算2_dgv.Rows(i).Cells("比例2").Value = "0"
  241. 計算2_dgv.Rows(i).Cells("比例3").Value = "0" : 計算2_dgv.Rows(i).Cells("比例4").Value = "0"
  242. Next
  243. 合計2_dgv.Rows(0).Cells("比例1").Value = "0" : 合計2_dgv.Rows(0).Cells("比例2").Value = "0"
  244. 合計2_dgv.Rows(0).Cells("比例3").Value = "0" : 合計2_dgv.Rows(0).Cells("比例4").Value = "0"
  245. Set_進度條顯示1() : Set_進度條顯示2() : Set_進度條顯示3() : Set_進度條顯示4()
  246. Set_進度條顯示5() : Set_進度條顯示6() : Set_進度條顯示7() : Set_進度條顯示8()
  247. 計算2_dgv.Columns(1).Visible = False
  248. 計算2_dgv.Columns(3).Visible = False : 計算2_dgv.Columns(4).Visible = False
  249. 計算2_dgv.Columns("比例1").Visible = False : 計算2_dgv.Columns("比例2").Visible = False
  250. 計算2_dgv.Columns("比例3").Visible = False : 計算2_dgv.Columns("比例4").Visible = False
  251. 計算2_dgv.Columns(2).DefaultCellStyle.Format = "#,##0"
  252. 合計2_dgv.Columns(1).Visible = False
  253. 合計2_dgv.Columns(3).Visible = False : 合計2_dgv.Columns(4).Visible = False
  254. 合計2_dgv.Columns("比例1").Visible = False : 合計2_dgv.Columns("比例2").Visible = False
  255. 合計2_dgv.Columns("比例3").Visible = False : 合計2_dgv.Columns("比例4").Visible = False
  256. 合計2_dgv.Columns(2).DefaultCellStyle.Format = "#,##0"
  257. Dim formatColumns() As Integer = {1, 2, 3, 4, 5, 6, 9, 10, 13, 14, 17, 18}
  258. For Each colIndex As Integer In formatColumns
  259. 計算2_dgv.Columns(colIndex).DefaultCellStyle.Format = "#,##0"
  260. 計算2_dgv.Columns(colIndex).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
  261. 計算2_dgv.Columns(colIndex).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
  262. 合計2_dgv.Columns(colIndex).DefaultCellStyle.Format = "#,##0"
  263. 合計2_dgv.Columns(colIndex).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
  264. 合計2_dgv.Columns(colIndex).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
  265. Next
  266. If 深色風格 = False Then
  267. 計算2_dgv.Columns(表頭(14)).DefaultCellStyle.ForeColor = Color.Red : 計算2_dgv.Columns(表頭(15)).DefaultCellStyle.ForeColor = Color.Red
  268. 計算2_dgv.Columns(表頭(16)).DefaultCellStyle.ForeColor = Color.Blue : 計算2_dgv.Columns(表頭(17)).DefaultCellStyle.ForeColor = Color.Blue
  269. 計算2_dgv.Columns(表頭(18)).DefaultCellStyle.ForeColor = Color.Green : 計算2_dgv.Columns(表頭(19)).DefaultCellStyle.ForeColor = Color.Green
  270. 計算2_dgv.Columns(表頭(20)).DefaultCellStyle.ForeColor = Color.Coral : 計算2_dgv.Columns(表頭(21)).DefaultCellStyle.ForeColor = Color.Coral
  271. 合計2_dgv.Columns("已請款").DefaultCellStyle.ForeColor = Color.Red : 合計2_dgv.Columns("未請款").DefaultCellStyle.ForeColor = Color.Red
  272. 合計2_dgv.Columns("已收款").DefaultCellStyle.ForeColor = Color.Blue : 合計2_dgv.Columns("已請未收款").DefaultCellStyle.ForeColor = Color.Blue
  273. 合計2_dgv.Columns("已請稅").DefaultCellStyle.ForeColor = Color.Green : 合計2_dgv.Columns("未請稅").DefaultCellStyle.ForeColor = Color.Green
  274. 合計2_dgv.Columns("已收稅").DefaultCellStyle.ForeColor = Color.Coral : 合計2_dgv.Columns("已請未收稅").DefaultCellStyle.ForeColor = Color.Coral
  275. Else
  276. 計算2_dgv.Columns(表頭(14)).DefaultCellStyle.ForeColor = Color.LightPink : 計算2_dgv.Columns(表頭(15)).DefaultCellStyle.ForeColor = Color.LightPink
  277. 計算2_dgv.Columns(表頭(16)).DefaultCellStyle.ForeColor = Color.LightBlue : 計算2_dgv.Columns(表頭(17)).DefaultCellStyle.ForeColor = Color.LightBlue
  278. 計算2_dgv.Columns(表頭(18)).DefaultCellStyle.ForeColor = Color.LightGreen : 計算2_dgv.Columns(表頭(19)).DefaultCellStyle.ForeColor = Color.LightGreen
  279. 計算2_dgv.Columns(表頭(20)).DefaultCellStyle.ForeColor = Color.LightCoral : 計算2_dgv.Columns(表頭(21)).DefaultCellStyle.ForeColor = Color.LightCoral
  280. 合計2_dgv.Columns("已請款").DefaultCellStyle.ForeColor = Color.LightPink : 合計2_dgv.Columns("未請款").DefaultCellStyle.ForeColor = Color.LightPink
  281. 合計2_dgv.Columns("已收款").DefaultCellStyle.ForeColor = Color.LightBlue : 合計2_dgv.Columns("已請未收款").DefaultCellStyle.ForeColor = Color.LightBlue
  282. 合計2_dgv.Columns("已請稅").DefaultCellStyle.ForeColor = Color.LightGreen : 合計2_dgv.Columns("未請稅").DefaultCellStyle.ForeColor = Color.LightGreen
  283. 合計2_dgv.Columns("已收稅").DefaultCellStyle.ForeColor = Color.LightCoral : 合計2_dgv.Columns("已請未收稅").DefaultCellStyle.ForeColor = Color.LightCoral
  284. End If
  285. '-------------------------合計DGV變形----------------------------------------------------------------------------------------------------------------------
  286. If IsVerticalScrollBarVisible(計算2_dgv) Then : 合計2_dgv.Size = New Size(計算2_dgv.Size.Width - 17, 合計2_dgv.Size.Height)
  287. Else : 合計2_dgv.Size = New Size(計算2_dgv.Size.Width, 合計2_dgv.Size.Height) : End If
  288. End Sub
  289. Private Sub Set_合約報表計算2()
  290. Dim ds2, ds3 As New DataSet : 計算3_dgv.DataSource = Nothing : ds3.Clear()
  291. 計算3_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  292. 計算3_dgv.ColumnHeadersHeight = 25 : 計算3_dgv.AllowUserToAddRows = False
  293. SQL_合約報表計算3() : da.Fill(ds3)
  294. 計算3_dgv.DataSource = ds3.Tables(0) : conn.Close()
  295. For i As Integer = 0 To 計算3_dgv.Rows.Count - 1
  296. 計算3_dgv.Rows(i).Cells("比例1").Value = "0" : 計算3_dgv.Rows(i).Cells("比例2").Value = "0"
  297. 計算3_dgv.Rows(i).Cells("比例3").Value = "0" : 計算3_dgv.Rows(i).Cells("比例4").Value = "0"
  298. Next
  299. Set_進度條顯示9() : Set_進度條顯示10() : Set_進度條顯示11() : Set_進度條顯示12()
  300. 計算3_dgv.Columns(1).Visible = False
  301. 計算3_dgv.Columns(3).Visible = False : 計算3_dgv.Columns(4).Visible = False
  302. 計算3_dgv.Columns("比例1").Visible = False : 計算3_dgv.Columns("比例2").Visible = False
  303. 計算3_dgv.Columns("比例3").Visible = False : 計算3_dgv.Columns("比例4").Visible = False
  304. 計算3_dgv.Columns(2).DefaultCellStyle.Format = "#,##0"
  305. Dim formatColumns() As Integer = {1, 2, 3, 4, 5, 6, 9, 10, 13, 14, 17, 18}
  306. For Each colIndex As Integer In formatColumns
  307. 計算3_dgv.Columns(colIndex).DefaultCellStyle.Format = "#,##0"
  308. 計算3_dgv.Columns(colIndex).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
  309. 計算3_dgv.Columns(colIndex).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
  310. Next
  311. If 深色風格 = False Then
  312. 計算3_dgv.Columns(表頭(14)).DefaultCellStyle.ForeColor = Color.Red : 計算3_dgv.Columns(表頭(15)).DefaultCellStyle.ForeColor = Color.Red
  313. 計算3_dgv.Columns(表頭(16)).DefaultCellStyle.ForeColor = Color.Blue : 計算3_dgv.Columns(表頭(17)).DefaultCellStyle.ForeColor = Color.Blue
  314. 計算3_dgv.Columns(表頭(18)).DefaultCellStyle.ForeColor = Color.Green : 計算3_dgv.Columns(表頭(19)).DefaultCellStyle.ForeColor = Color.Green
  315. 計算3_dgv.Columns(表頭(20)).DefaultCellStyle.ForeColor = Color.Coral : 計算3_dgv.Columns(表頭(21)).DefaultCellStyle.ForeColor = Color.Coral
  316. Else
  317. 計算3_dgv.Columns(表頭(14)).DefaultCellStyle.ForeColor = Color.LightPink : 計算3_dgv.Columns(表頭(15)).DefaultCellStyle.ForeColor = Color.LightPink
  318. 計算3_dgv.Columns(表頭(16)).DefaultCellStyle.ForeColor = Color.LightBlue : 計算3_dgv.Columns(表頭(17)).DefaultCellStyle.ForeColor = Color.LightBlue
  319. 計算3_dgv.Columns(表頭(18)).DefaultCellStyle.ForeColor = Color.LightGreen : 計算3_dgv.Columns(表頭(19)).DefaultCellStyle.ForeColor = Color.LightGreen
  320. 計算3_dgv.Columns(表頭(20)).DefaultCellStyle.ForeColor = Color.LightCoral : 計算3_dgv.Columns(表頭(21)).DefaultCellStyle.ForeColor = Color.LightCoral
  321. End If
  322. '---------------------------基本計算----------------------------------------------------------------------------------------------------------------------------------------------
  323. For i As Integer = 0 To 計算3_dgv.Rows.Count - 1
  324. 計算3_dgv.Rows(i).Cells(表頭(14)).Value = "0" : 計算3_dgv.Rows(i).Cells(表頭(15)).Value = "0" : 計算3_dgv.Rows(i).Cells(表頭(18)).Value = "0"
  325. 計算3_dgv.Rows(i).Cells(表頭(19)).Value = "0" : 計算3_dgv.Rows(i).Cells(表頭(16)).Value = "0" : 計算3_dgv.Rows(i).Cells(表頭(17)).Value = "0"
  326. 計算3_dgv.Rows(i).Cells(表頭(20)).Value = "0" : 計算3_dgv.Rows(i).Cells(表頭(21)).Value = "0"
  327. For ii As Integer = 0 To 彙總_dgv.Rows.Count - 1
  328. If 計算3_dgv.Rows(i).Cells(0).Value.ToString = 彙總_dgv.Rows(ii).Cells(0).Value.ToString Then
  329. 計算3_dgv.Rows(i).Cells("工程總價").Value = CLng(彙總_dgv.Rows(ii).Cells("工程總價").Value.ToString)
  330. 計算3_dgv.Rows(i).Cells("總報價").Value = CLng(彙總_dgv.Rows(ii).Cells("總報價").Value.ToString)
  331. End If
  332. Next
  333. 計算3_dgv.Rows(i).Cells("稅金").Value = CLng(計算3_dgv.Rows(i).Cells("工程總價").Value.ToString) - CLng(計算3_dgv.Rows(i).Cells("總報價").Value.ToString)
  334. For ii As Integer = 0 To 請款清單_dgv.Rows.Count - 1
  335. If 計算3_dgv.Rows(i).Cells(0).Value.ToString = 請款清單_dgv.Rows(ii).Cells(0).Value.ToString Then
  336. 計算3_dgv.Rows(i).Cells(表頭(14)).Value = CLng(計算3_dgv.Rows(i).Cells(表頭(14)).Value.ToString) + CLng(請款清單_dgv.Rows(ii).Cells("請款金額").Value.ToString)
  337. 計算3_dgv.Rows(i).Cells(表頭(18)).Value = CLng(計算3_dgv.Rows(i).Cells(表頭(18)).Value.ToString) + CLng(請款清單_dgv.Rows(ii).Cells("稅額").Value.ToString)
  338. End If
  339. If 計算3_dgv.Rows(i).Cells(0).Value.ToString = 請款清單_dgv.Rows(ii).Cells(0).Value.ToString And 請款清單_dgv.Rows(ii).Cells("本收").Value = True Then
  340. 計算3_dgv.Rows(i).Cells(表頭(16)).Value = CLng(計算3_dgv.Rows(i).Cells(表頭(16)).Value.ToString) + CLng(請款清單_dgv.Rows(ii).Cells("請款金額").Value.ToString)
  341. End If
  342. If 計算3_dgv.Rows(i).Cells(0).Value.ToString = 請款清單_dgv.Rows(ii).Cells(0).Value.ToString And 請款清單_dgv.Rows(ii).Cells("稅收").Value = True Then
  343. 計算3_dgv.Rows(i).Cells(表頭(20)).Value = CLng(計算3_dgv.Rows(i).Cells(表頭(20)).Value.ToString) + CLng(請款清單_dgv.Rows(ii).Cells("稅額").Value.ToString)
  344. End If
  345. Next
  346. 計算3_dgv.Rows(i).Cells(表頭(15)).Value = CLng(計算3_dgv.Rows(i).Cells("總報價").Value) - (計算3_dgv.Rows(i).Cells(表頭(14)).Value)
  347. 計算3_dgv.Rows(i).Cells(表頭(19)).Value = CLng(計算3_dgv.Rows(i).Cells("稅金").Value) - (計算3_dgv.Rows(i).Cells(表頭(18)).Value)
  348. 計算3_dgv.Rows(i).Cells(表頭(17)).Value = CLng(計算3_dgv.Rows(i).Cells(表頭(14)).Value) - (計算3_dgv.Rows(i).Cells(表頭(16)).Value)
  349. 計算3_dgv.Rows(i).Cells(表頭(21)).Value = CLng(計算3_dgv.Rows(i).Cells(表頭(18)).Value) - (計算3_dgv.Rows(i).Cells(表頭(20)).Value)
  350. If CLng(計算3_dgv.Rows(i).Cells(表頭(15)).Value) < 0 Then : 計算3_dgv.Rows(i).Cells(表頭(15)).Value = "0" : End If
  351. If CLng(計算3_dgv.Rows(i).Cells(表頭(19)).Value) < 0 Then : 計算3_dgv.Rows(i).Cells(表頭(19)).Value = "0" : End If
  352. If CLng(計算3_dgv.Rows(i).Cells("總報價").Value.ToString) = 0 Then : 計算3_dgv.Rows(i).Cells("比例1").Value = "0" : Else
  353. 計算3_dgv.Rows(i).Cells("比例1").Value = CLng(計算3_dgv.Rows(i).Cells(表頭(14)).Value.ToString) / CLng(計算3_dgv.Rows(i).Cells("總報價").Value.ToString) * 100
  354. If CLng(計算3_dgv.Rows(i).Cells("比例1").Value) > 100 Then : 計算3_dgv.Rows(i).Cells("比例1").Value = "100" : End If
  355. End If
  356. If CLng(計算3_dgv.Rows(i).Cells(表頭(14)).Value.ToString) = 0 Then : 計算3_dgv.Rows(i).Cells("比例2").Value = "0" : Else
  357. 計算3_dgv.Rows(i).Cells("比例2").Value = CLng(計算3_dgv.Rows(i).Cells(表頭(16)).Value.ToString) / CLng(計算3_dgv.Rows(i).Cells(表頭(14)).Value.ToString) * 100
  358. If CLng(計算3_dgv.Rows(i).Cells("比例2").Value) > 100 Then : 計算3_dgv.Rows(i).Cells("比例2").Value = "100" : End If
  359. End If
  360. If CLng(計算3_dgv.Rows(i).Cells("稅金").Value.ToString) = 0 Then : 計算3_dgv.Rows(i).Cells("比例3").Value = "0" : Else
  361. 計算3_dgv.Rows(i).Cells("比例3").Value = CLng(計算3_dgv.Rows(i).Cells(表頭(18)).Value.ToString) / CLng(計算3_dgv.Rows(i).Cells("稅金").Value.ToString) * 100
  362. If CLng(計算3_dgv.Rows(i).Cells("比例3").Value) > 100 Then : 計算3_dgv.Rows(i).Cells("比例3").Value = "100" : End If
  363. End If
  364. If CLng(計算3_dgv.Rows(i).Cells(表頭(18)).Value.ToString) = 0 Then : 計算3_dgv.Rows(i).Cells("比例4").Value = "0" : Else
  365. 計算3_dgv.Rows(i).Cells("比例4").Value = CLng(計算3_dgv.Rows(i).Cells(表頭(20)).Value.ToString) / CLng(計算3_dgv.Rows(i).Cells(表頭(18)).Value.ToString) * 100
  366. If CLng(計算3_dgv.Rows(i).Cells("比例4").Value) > 100 Then : 計算3_dgv.Rows(i).Cells("比例4").Value = "100" : End If
  367. End If : RadTrackBar1.Maximum = 計算3_dgv.Rows.Count : RadTrackBar1.Value = 1
  368. If 計算3_dgv.Rows.Count > 10 Then : RadTrackBar1.Visible = True : Else : RadTrackBar1.Visible = False : End If
  369. Next
  370. '-------------------------合計DGV變形----------------------------------------------------------------------------------------------------------------------
  371. If IsVerticalScrollBarVisible(計算3_dgv) Then : 合計2_dgv.Size = New Size(計算3_dgv.Size.Width - 17, 合計2_dgv.Size.Height)
  372. Else : 合計2_dgv.Size = New Size(計算3_dgv.Size.Width, 合計2_dgv.Size.Height) : End If
  373. End Sub
  374. Private Sub Set_進度條顯示1()
  375. Dim Col As New DataGridViewProgressColumn With {
  376. .Width = 30,
  377. .DataPropertyName = "請款比例"
  378. }
  379. Col.HeaderText = "Percent (%)" : Col.Name = "容量" : Col.DataPropertyName = "比例1" : 計算2_dgv.Columns.Insert(8, Col)
  380. End Sub
  381. Private Sub Set_進度條顯示2()
  382. Dim Col As New DataGridViewProgressColumn With {
  383. .Width = 30,
  384. .DataPropertyName = "請款比例"
  385. }
  386. Col.HeaderText = "Percent (%)" : Col.Name = "容量" : Col.DataPropertyName = "比例2" : 計算2_dgv.Columns.Insert(12, Col)
  387. End Sub
  388. Private Sub Set_進度條顯示3()
  389. Dim Col As New DataGridViewProgressColumn With {
  390. .Width = 30,
  391. .DataPropertyName = "請款比例"
  392. }
  393. Col.HeaderText = "Percent (%)" : Col.Name = "容量" : Col.DataPropertyName = "比例3" : 計算2_dgv.Columns.Insert(16, Col)
  394. End Sub
  395. Private Sub Set_進度條顯示4()
  396. Dim Col As New DataGridViewProgressColumn With {
  397. .Width = 30,
  398. .DataPropertyName = "請款比例"
  399. }
  400. Col.HeaderText = "Percent (%)" : Col.Name = "容量" : Col.DataPropertyName = "比例4" : 計算2_dgv.Columns.Insert(20, Col)
  401. End Sub
  402. Private Sub Set_進度條顯示5()
  403. Dim Col As New DataGridViewProgressColumn With {
  404. .Width = 30,
  405. .DataPropertyName = "請款比例"
  406. }
  407. Col.HeaderText = "Percent (%)" : Col.Name = "容量" : Col.DataPropertyName = "比例1" : 合計2_dgv.Columns.Insert(8, Col)
  408. End Sub
  409. Private Sub Set_進度條顯示6()
  410. Dim Col As New DataGridViewProgressColumn With {
  411. .Width = 30,
  412. .DataPropertyName = "請款比例"
  413. }
  414. Col.HeaderText = "Percent (%)" : Col.Name = "容量" : Col.DataPropertyName = "比例2" : 合計2_dgv.Columns.Insert(12, Col)
  415. End Sub
  416. Private Sub Set_進度條顯示7()
  417. Dim Col As New DataGridViewProgressColumn With {
  418. .Width = 30,
  419. .DataPropertyName = "請款比例"
  420. }
  421. Col.HeaderText = "Percent (%)" : Col.Name = "容量" : Col.DataPropertyName = "比例3" : 合計2_dgv.Columns.Insert(16, Col)
  422. End Sub
  423. Private Sub Set_進度條顯示8()
  424. Dim Col As New DataGridViewProgressColumn With {
  425. .Width = 30,
  426. .DataPropertyName = "請款比例"
  427. }
  428. Col.HeaderText = "Percent (%)" : Col.Name = "容量" : Col.DataPropertyName = "比例4" : 合計2_dgv.Columns.Insert(20, Col)
  429. End Sub
  430. Private Sub Set_進度條顯示9()
  431. Dim Col As New DataGridViewProgressColumn With {
  432. .Width = 30,
  433. .DataPropertyName = "請款比例"
  434. }
  435. Col.HeaderText = "Percent (%)" : Col.Name = "容量" : Col.DataPropertyName = "比例1" : 計算3_dgv.Columns.Insert(8, Col)
  436. End Sub
  437. Private Sub Set_進度條顯示10()
  438. Dim Col As New DataGridViewProgressColumn With {
  439. .Width = 30,
  440. .DataPropertyName = "請款比例"
  441. }
  442. Col.HeaderText = "Percent (%)" : Col.Name = "容量" : Col.DataPropertyName = "比例2" : 計算3_dgv.Columns.Insert(12, Col)
  443. End Sub
  444. Private Sub Set_進度條顯示11()
  445. Dim Col As New DataGridViewProgressColumn With {
  446. .Width = 30,
  447. .DataPropertyName = "請款比例"
  448. }
  449. Col.HeaderText = "Percent (%)" : Col.Name = "容量" : Col.DataPropertyName = "比例3" : 計算3_dgv.Columns.Insert(16, Col)
  450. End Sub
  451. Private Sub Set_進度條顯示12()
  452. Dim Col As New DataGridViewProgressColumn With {
  453. .Width = 30,
  454. .DataPropertyName = "請款比例"
  455. }
  456. Col.HeaderText = "Percent (%)" : Col.Name = "容量" : Col.DataPropertyName = "比例4" : 計算3_dgv.Columns.Insert(20, Col)
  457. End Sub
  458. Private Sub 彙總()
  459. Chart3.Series.Clear() : Chart1.ChartAreas.Clear() : Chart1.ChartAreas.Add(0)
  460. Chart3.Series.Add(表頭(12)) : Chart3.Series(表頭(12)).ChartType = SeriesChartType.Pie
  461. Chart3.Series(表頭(12)).IsValueShownAsLabel = True : Chart3.Series(表頭(12)).IsVisibleInLegend = True : Chart3.Series(表頭(12)).IsXValueIndexed = True
  462. Chart3.ChartAreas(0).BackColor = Color.Transparent : Chart3.Legends(0).BackColor = Color.Transparent
  463. For i As Integer = 0 To 計算1_dgv.Rows.Count - 1
  464. Chart3.Series(表頭(12)).Points.AddXY(計算1_dgv.Rows(i).Cells(0).Value.ToString, Format(計算1_dgv.Rows(i).Cells(表頭(12)).Value, "#,##0"))
  465. Next
  466. Chart1.Series.Clear()
  467. If 選款項 = True Then
  468. If B1.Checked = True Then : Chart1.Series.Add(表頭(14)) : Chart1.Series(表頭(14)).ChartType = SeriesChartType.Column : End If
  469. If B2.Checked = True Then : Chart1.Series.Add(表頭(15)) : Chart1.Series(表頭(15)).ChartType = SeriesChartType.Column : End If
  470. If B3.Checked = True Then : Chart1.Series.Add(表頭(16)) : Chart1.Series(表頭(16)).ChartType = SeriesChartType.Column : End If
  471. If B4.Checked = True Then : Chart1.Series.Add(表頭(17)) : Chart1.Series(表頭(17)).ChartType = SeriesChartType.Column : End If
  472. Else
  473. If B1.Checked = True Then : Chart1.Series.Add(表頭(18)) : Chart1.Series(表頭(18)).ChartType = SeriesChartType.Column : End If
  474. If B2.Checked = True Then : Chart1.Series.Add(表頭(19)) : Chart1.Series(表頭(19)).ChartType = SeriesChartType.Column : End If
  475. If B3.Checked = True Then : Chart1.Series.Add(表頭(20)) : Chart1.Series(表頭(20)).ChartType = SeriesChartType.Column : End If
  476. If B4.Checked = True Then : Chart1.Series.Add(表頭(21)) : Chart1.Series(表頭(21)).ChartType = SeriesChartType.Column : End If
  477. End If
  478. Chart1.ChartAreas(0).BackColor = Color.Transparent : Chart1.Legends(0).BackColor = Color.Transparent
  479. Chart1.ChartAreas(0).AxisY.LabelStyle.Font = New Font("Arial", 8) : Chart1.ChartAreas(0).AxisY.LabelStyle.Format = "#,##0" & " M"
  480. For i As Integer = 0 To 計算2_dgv.Rows.Count - 1
  481. If 選款項 = True Then
  482. If B1.Checked = True Then : Chart1.Series(表頭(14)).Points.AddXY(計算2_dgv.Rows(i).Cells(0).Value.ToString, CLng(計算2_dgv.Rows(i).Cells(表頭(14)).Value.ToString) / 1000000) : End If
  483. If B2.Checked = True Then : Chart1.Series(表頭(15)).Points.AddXY(計算2_dgv.Rows(i).Cells(0).Value.ToString, CLng(計算2_dgv.Rows(i).Cells(表頭(15)).Value.ToString) / 1000000) : End If
  484. If B3.Checked = True Then : Chart1.Series(表頭(16)).Points.AddXY(計算2_dgv.Rows(i).Cells(0).Value.ToString, CLng(計算2_dgv.Rows(i).Cells(表頭(16)).Value.ToString) / 1000000) : End If
  485. If B4.Checked = True Then : Chart1.Series(表頭(17)).Points.AddXY(計算2_dgv.Rows(i).Cells(0).Value.ToString, CLng(計算2_dgv.Rows(i).Cells(表頭(17)).Value.ToString) / 1000000) : End If
  486. Else
  487. If B1.Checked = True Then : Chart1.Series(表頭(18)).Points.AddXY(計算2_dgv.Rows(i).Cells(0).Value.ToString, CLng(計算2_dgv.Rows(i).Cells(表頭(18)).Value.ToString) / 1000000) : End If
  488. If B2.Checked = True Then : Chart1.Series(表頭(19)).Points.AddXY(計算2_dgv.Rows(i).Cells(0).Value.ToString, CLng(計算2_dgv.Rows(i).Cells(表頭(19)).Value.ToString) / 1000000) : End If
  489. If B3.Checked = True Then : Chart1.Series(表頭(20)).Points.AddXY(計算2_dgv.Rows(i).Cells(0).Value.ToString, CLng(計算2_dgv.Rows(i).Cells(表頭(20)).Value.ToString) / 1000000) : End If
  490. If B4.Checked = True Then : Chart1.Series(表頭(21)).Points.AddXY(計算2_dgv.Rows(i).Cells(0).Value.ToString, CLng(計算2_dgv.Rows(i).Cells(表頭(21)).Value.ToString) / 1000000) : End If
  491. End If
  492. Next
  493. If 深色風格 = False Then
  494. Chart3.Series(表頭(12)).LabelForeColor = Color.Blue
  495. If 選款項 = True Then
  496. If B1.Checked = True Then : Chart1.Series(表頭(14)).LabelForeColor = Color.Blue : End If
  497. If B2.Checked = True Then : Chart1.Series(表頭(15)).LabelForeColor = Color.Blue : End If
  498. If B3.Checked = True Then : Chart1.Series(表頭(16)).LabelForeColor = Color.Blue : End If
  499. If B4.Checked = True Then : Chart1.Series(表頭(17)).LabelForeColor = Color.Blue : End If
  500. Else
  501. If B1.Checked = True Then : Chart1.Series(表頭(18)).LabelForeColor = Color.Blue : End If
  502. If B2.Checked = True Then : Chart1.Series(表頭(19)).LabelForeColor = Color.Blue : End If
  503. If B3.Checked = True Then : Chart1.Series(表頭(20)).LabelForeColor = Color.Blue : End If
  504. If B4.Checked = True Then : Chart1.Series(表頭(21)).LabelForeColor = Color.Blue : End If
  505. End If
  506. Chart3.Legends(0).ForeColor = Color.Black : Chart1.Legends(0).ForeColor = Color.Black
  507. Chart1.ChartAreas(0).AxisX.MajorGrid.LineColor = Color.Black : Chart1.ChartAreas(0).AxisY.MajorGrid.LineColor = Color.Black
  508. Chart1.ChartAreas(0).AxisX.LineColor = Color.Black : Chart1.ChartAreas(0).AxisY.LineColor = Color.Black
  509. Chart1.ChartAreas(0).AxisX.LabelStyle.ForeColor = Color.Black : Chart1.ChartAreas(0).AxisY.LabelStyle.ForeColor = Color.Black
  510. Else
  511. Chart3.Series(表頭(12)).LabelForeColor = Color.White
  512. If 選款項 = True Then
  513. If B1.Checked = True Then : Chart1.Series(表頭(14)).LabelForeColor = Color.White : End If
  514. If B2.Checked = True Then : Chart1.Series(表頭(15)).LabelForeColor = Color.White : End If
  515. If B3.Checked = True Then : Chart1.Series(表頭(16)).LabelForeColor = Color.White : End If
  516. If B4.Checked = True Then : Chart1.Series(表頭(17)).LabelForeColor = Color.White : End If
  517. Else
  518. If B1.Checked = True Then : Chart1.Series(表頭(18)).LabelForeColor = Color.White : End If
  519. If B2.Checked = True Then : Chart1.Series(表頭(19)).LabelForeColor = Color.White : End If
  520. If B3.Checked = True Then : Chart1.Series(表頭(20)).LabelForeColor = Color.White : End If
  521. If B4.Checked = True Then : Chart1.Series(表頭(21)).LabelForeColor = Color.White : End If
  522. End If
  523. Chart3.Legends(0).ForeColor = Color.White : Chart1.Legends(0).ForeColor = Color.White
  524. Chart1.ChartAreas(0).AxisX.MajorGrid.LineColor = Color.White : Chart1.ChartAreas(0).AxisY.MajorGrid.LineColor = Color.White
  525. Chart1.ChartAreas(0).AxisX.LineColor = Color.White : Chart1.ChartAreas(0).AxisY.LineColor = Color.White
  526. Chart1.ChartAreas(0).AxisX.LabelStyle.ForeColor = Color.White : Chart1.ChartAreas(0).AxisY.LabelStyle.ForeColor = Color.White
  527. End If
  528. End Sub
  529. Private Sub RadTrackBar1_ValueChanged(sender As Object, e As EventArgs) Handles RadTrackBar1.RangeValueChanged
  530. If 首次開啟 = True Then : Else
  531. If RadTrackBar1.Maximum >= 10 Then : If RadTrackBar1.Value > RadTrackBar1.Maximum - 9 Then : RadTrackBar1.Value = RadTrackBar1.Maximum - 9 : End If : 彙總1() : Else : 彙總1() : End If
  532. End If
  533. End Sub
  534. Private Sub 彙總1()
  535. Chart1.Series.Clear() : Chart1.ChartAreas.Clear() : Chart1.ChartAreas.Add(0)
  536. If 選款項 = True Then
  537. If B1.Checked = True Then : Chart1.Series.Add(表頭(14)) : Chart1.Series(表頭(14)).ChartType = SeriesChartType.Column : End If
  538. If B2.Checked = True Then : Chart1.Series.Add(表頭(15)) : Chart1.Series(表頭(15)).ChartType = SeriesChartType.Column : End If
  539. If B3.Checked = True Then : Chart1.Series.Add(表頭(16)) : Chart1.Series(表頭(16)).ChartType = SeriesChartType.Column : End If
  540. If B4.Checked = True Then : Chart1.Series.Add(表頭(17)) : Chart1.Series(表頭(17)).ChartType = SeriesChartType.Column : End If
  541. Else
  542. If B1.Checked = True Then : Chart1.Series.Add(表頭(18)) : Chart1.Series(表頭(18)).ChartType = SeriesChartType.Column : End If
  543. If B2.Checked = True Then : Chart1.Series.Add(表頭(19)) : Chart1.Series(表頭(19)).ChartType = SeriesChartType.Column : End If
  544. If B3.Checked = True Then : Chart1.Series.Add(表頭(20)) : Chart1.Series(表頭(20)).ChartType = SeriesChartType.Column : End If
  545. If B4.Checked = True Then : Chart1.Series.Add(表頭(21)) : Chart1.Series(表頭(21)).ChartType = SeriesChartType.Column : End If
  546. End If
  547. Chart1.ChartAreas(0).BackColor = Color.Transparent : Chart1.Legends(0).BackColor = Color.Transparent
  548. Chart1.ChartAreas(0).AxisY.LabelStyle.Font = New Font("Arial", 8) : Chart1.ChartAreas(0).AxisY.LabelStyle.Format = "#,##0" & " M"
  549. Dim 位置1, 位置2 As Integer
  550. If RadTrackBar1.Maximum <= 10 Then : 位置1 = 1 : 位置2 = RadTrackBar1.Maximum
  551. Else : 位置1 = RadTrackBar1.Value : 位置2 = RadTrackBar1.Value + 9 : End If
  552. For i As Integer = 位置1 - 1 To 位置2 - 1
  553. If 選款項 = True Then
  554. If B1.Checked = True Then : Chart1.Series(表頭(14)).Points.AddXY(計算3_dgv.Rows(i).Cells(0).Value.ToString, CLng(計算3_dgv.Rows(i).Cells(表頭(14)).Value.ToString) / 1000000) : End If
  555. If B2.Checked = True Then : Chart1.Series(表頭(15)).Points.AddXY(計算3_dgv.Rows(i).Cells(0).Value.ToString, CLng(計算3_dgv.Rows(i).Cells(表頭(15)).Value.ToString) / 1000000) : End If
  556. If B3.Checked = True Then : Chart1.Series(表頭(16)).Points.AddXY(計算3_dgv.Rows(i).Cells(0).Value.ToString, CLng(計算3_dgv.Rows(i).Cells(表頭(16)).Value.ToString) / 1000000) : End If
  557. If B4.Checked = True Then : Chart1.Series(表頭(17)).Points.AddXY(計算3_dgv.Rows(i).Cells(0).Value.ToString, CLng(計算3_dgv.Rows(i).Cells(表頭(17)).Value.ToString) / 1000000) : End If
  558. Else
  559. If B1.Checked = True Then : Chart1.Series(表頭(18)).Points.AddXY(計算3_dgv.Rows(i).Cells(0).Value.ToString, CLng(計算3_dgv.Rows(i).Cells(表頭(18)).Value.ToString) / 1000000) : End If
  560. If B2.Checked = True Then : Chart1.Series(表頭(19)).Points.AddXY(計算3_dgv.Rows(i).Cells(0).Value.ToString, CLng(計算3_dgv.Rows(i).Cells(表頭(19)).Value.ToString) / 1000000) : End If
  561. If B3.Checked = True Then : Chart1.Series(表頭(20)).Points.AddXY(計算3_dgv.Rows(i).Cells(0).Value.ToString, CLng(計算3_dgv.Rows(i).Cells(表頭(20)).Value.ToString) / 1000000) : End If
  562. If B4.Checked = True Then : Chart1.Series(表頭(21)).Points.AddXY(計算3_dgv.Rows(i).Cells(0).Value.ToString, CLng(計算3_dgv.Rows(i).Cells(表頭(21)).Value.ToString) / 1000000) : End If
  563. End If
  564. Next
  565. If 深色風格 = False Then
  566. Chart3.Series(表頭(12)).LabelForeColor = Color.Blue
  567. If 選款項 = True Then
  568. If B1.Checked = True Then : Chart1.Series(表頭(14)).LabelForeColor = Color.Blue : End If
  569. If B2.Checked = True Then : Chart1.Series(表頭(15)).LabelForeColor = Color.Blue : End If
  570. If B3.Checked = True Then : Chart1.Series(表頭(16)).LabelForeColor = Color.Blue : End If
  571. If B4.Checked = True Then : Chart1.Series(表頭(17)).LabelForeColor = Color.Blue : End If
  572. Else
  573. If B1.Checked = True Then : Chart1.Series(表頭(18)).LabelForeColor = Color.Blue : End If
  574. If B2.Checked = True Then : Chart1.Series(表頭(19)).LabelForeColor = Color.Blue : End If
  575. If B3.Checked = True Then : Chart1.Series(表頭(20)).LabelForeColor = Color.Blue : End If
  576. If B4.Checked = True Then : Chart1.Series(表頭(21)).LabelForeColor = Color.Blue : End If
  577. End If
  578. Chart3.Legends(0).ForeColor = Color.Black : Chart1.Legends(0).ForeColor = Color.Black
  579. Chart1.ChartAreas(0).AxisX.MajorGrid.LineColor = Color.Black : Chart1.ChartAreas(0).AxisY.MajorGrid.LineColor = Color.Black
  580. Chart1.ChartAreas(0).AxisX.LineColor = Color.Black : Chart1.ChartAreas(0).AxisY.LineColor = Color.Black
  581. Chart1.ChartAreas(0).AxisX.LabelStyle.ForeColor = Color.Black : Chart1.ChartAreas(0).AxisY.LabelStyle.ForeColor = Color.Black
  582. Else
  583. Chart3.Series(表頭(12)).LabelForeColor = Color.White
  584. If 選款項 = True Then
  585. If B1.Checked = True Then : Chart1.Series(表頭(14)).LabelForeColor = Color.White : End If
  586. If B2.Checked = True Then : Chart1.Series(表頭(15)).LabelForeColor = Color.White : End If
  587. If B3.Checked = True Then : Chart1.Series(表頭(16)).LabelForeColor = Color.White : End If
  588. If B4.Checked = True Then : Chart1.Series(表頭(17)).LabelForeColor = Color.White : End If
  589. Else
  590. If B1.Checked = True Then : Chart1.Series(表頭(18)).LabelForeColor = Color.White : End If
  591. If B2.Checked = True Then : Chart1.Series(表頭(19)).LabelForeColor = Color.White : End If
  592. If B3.Checked = True Then : Chart1.Series(表頭(20)).LabelForeColor = Color.White : End If
  593. If B4.Checked = True Then : Chart1.Series(表頭(21)).LabelForeColor = Color.White : End If
  594. End If
  595. Chart3.Legends(0).ForeColor = Color.White : Chart1.Legends(0).ForeColor = Color.White
  596. Chart1.ChartAreas(0).AxisX.MajorGrid.LineColor = Color.White : Chart1.ChartAreas(0).AxisY.MajorGrid.LineColor = Color.White
  597. Chart1.ChartAreas(0).AxisX.LineColor = Color.White : Chart1.ChartAreas(0).AxisY.LineColor = Color.White
  598. Chart1.ChartAreas(0).AxisX.LabelStyle.ForeColor = Color.White : Chart1.ChartAreas(0).AxisY.LabelStyle.ForeColor = Color.White
  599. End If
  600. End Sub
  601. Private Sub 收款狀態報表_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  602. HX_PGS_ERP_SYS.WindowState = 2 : Me.MdiParent = HX_PGS_ERP_SYS : Me.WindowState = 2 : Me.AutoScroll = True : 首次開啟 = True
  603. HX_PGS_ERP_SYS.MaximizeBox = False : HX_PGS_ERP_SYS.MinimizeBox = False
  604. 分母 = 100 : 分段1 = 0.35 : 分段2 = 0.34 : 分段3 = 0.65 : 分段4 = 0.64 : 進度條後墜 = " %"
  605. 風格() : H(310) = True : 介面 = "H310" : 語言轉換讀取() : 顯示說明(999, False)
  606. Panel1.SendToBack() : Panel2.BringToFront() : Panel4.BringToFront() : 計算2_dgv.Visible = True : 計算3_dgv.Visible = False
  607. RadTrackBar1.Visible = False
  608. If 登入人級別 = "00" Then
  609. 縮放2_bt.Visible = True : 清單_bt.Visible = True : 圖表_bt.Visible = True
  610. Else
  611. 縮放2_bt.Visible = False : 清單_bt.Visible = False : 圖表_bt.Visible = False
  612. End If
  613. MyMod.清單字體大小調整()
  614. 合計1_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", HX_PGS_ERP_SYS.字體_NUD.Value)
  615. 合計2_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", HX_PGS_ERP_SYS.字體_NUD.Value)
  616. 計算3_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", HX_PGS_ERP_SYS.字體_NUD.Value)
  617. 計算2_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", HX_PGS_ERP_SYS.字體_NUD.Value)
  618. 計算1_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", HX_PGS_ERP_SYS.字體_NUD.Value)
  619. 計算_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", HX_PGS_ERP_SYS.字體_NUD.Value)
  620. 甲方_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", HX_PGS_ERP_SYS.字體_NUD.Value)
  621. 彙總_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", HX_PGS_ERP_SYS.字體_NUD.Value)
  622. 請款清單_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", HX_PGS_ERP_SYS.字體_NUD.Value)
  623. End Sub
  624. Private Sub 收款狀態報表_Shown(sender As Object, e As EventArgs) Handles MyBase.Shown
  625. Set_合約甲方() : 選款項 = True : Set_合約清單() : 首次開啟 = False
  626. End Sub
  627. Private Sub 收款確認表_Closed(sender As Object, e As EventArgs) Handles MyBase.Closed
  628. HX_PGS_ERP_SYS.WindowState = 0 : HX_PGS_ERP_SYS.MaximizeBox = True : HX_PGS_ERP_SYS.MinimizeBox = True
  629. HX_PGS_ERP_SYS.WindowState = 0 : H(310) = False : MyMod.虛擬桌面開啟()
  630. End Sub
  631. Private Sub 系統說明_bt_Click(sender As Object, e As EventArgs) Handles 系統說明_bt.Click
  632. 介面 = "H310"
  633. End Sub
  634. Private Sub 語轉扭_bt_Click(sender As Object, e As EventArgs) Handles 語轉扭_bt.Click
  635. H(310) = True : 介面 = "H310" : 語言轉換讀取()
  636. End Sub
  637. Private Sub 登入閒置控制_MouseMove(sender As Object, e As EventArgs) Handles MyBase.MouseMove
  638. timeNow = 0 : HX_PGS_ERP_SYS.Timer1.Enabled = False : HX_PGS_ERP_SYS.Timer1.Enabled = True
  639. End Sub
  640. Private Sub 登入閒置控制_KeyPress(sender As Object, e As EventArgs) Handles MyBase.KeyPress
  641. timeNow = 0 : HX_PGS_ERP_SYS.Timer1.Enabled = False : HX_PGS_ERP_SYS.Timer1.Enabled = True
  642. End Sub
  643. Private Sub 彙總_dgv_CellFormatting(sender As Object, e As DataGridViewCellFormattingEventArgs) Handles 彙總_dgv.CellFormatting
  644. If e.Value IsNot Nothing Then
  645. If IsNumeric(Val(e.Value.ToString)) = True And Val(e.Value.ToString) < 0 Then
  646. If 深色風格 = False Then : e.CellStyle.ForeColor = Color.Red : Else : e.CellStyle.ForeColor = Color.LightPink : End If
  647. End If
  648. End If
  649. End Sub
  650. Private Sub 計算2_dgv_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 計算2_dgv.MouseUp
  651. 'If 清單_dgv.SelectedCells.Count = 1 Then : MsgBox(清單_dgv.SelectedCells(0).ColumnIndex & " " & 清單_dgv.SelectedCells(0).RowIndex) : End If
  652. If 計算2_dgv.SelectedCells.Count > 0 Then
  653. If 計算2_dgv.SelectedCells(0).ColumnIndex = 0 Then
  654. PA = 計算2_dgv.Rows(計算2_dgv.SelectedCells(0).RowIndex).Cells(0).Value.ToString : Set_合約報表計算2()
  655. 計算2_dgv.Visible = False : 計算3_dgv.Visible = True
  656. 合計2_dgv.Rows(0).Cells("工程總價").Value = CLng(計算2_dgv.Rows(計算2_dgv.SelectedCells(0).RowIndex).Cells(表頭(13)).Value.ToString)
  657. 合計2_dgv.Rows(0).Cells("總報價").Value = CLng(計算2_dgv.Rows(計算2_dgv.SelectedCells(0).RowIndex).Cells("總報價").Value.ToString)
  658. 合計2_dgv.Rows(0).Cells("稅金").Value = CLng(計算2_dgv.Rows(計算2_dgv.SelectedCells(0).RowIndex).Cells("稅金").Value.ToString)
  659. 合計2_dgv.Rows(0).Cells("已請款").Value = CLng(計算2_dgv.Rows(計算2_dgv.SelectedCells(0).RowIndex).Cells(表頭(14)).Value.ToString)
  660. 合計2_dgv.Rows(0).Cells("未請款").Value = CLng(計算2_dgv.Rows(計算2_dgv.SelectedCells(0).RowIndex).Cells(表頭(15)).Value.ToString)
  661. 合計2_dgv.Rows(0).Cells("已請稅").Value = CLng(計算2_dgv.Rows(計算2_dgv.SelectedCells(0).RowIndex).Cells(表頭(18)).Value.ToString)
  662. 合計2_dgv.Rows(0).Cells("未請稅").Value = CLng(計算2_dgv.Rows(計算2_dgv.SelectedCells(0).RowIndex).Cells(表頭(19)).Value.ToString)
  663. 合計2_dgv.Rows(0).Cells("已收款").Value = CLng(計算2_dgv.Rows(計算2_dgv.SelectedCells(0).RowIndex).Cells(表頭(16)).Value.ToString)
  664. 合計2_dgv.Rows(0).Cells("已請未收款").Value = CLng(計算2_dgv.Rows(計算2_dgv.SelectedCells(0).RowIndex).Cells(表頭(17)).Value.ToString)
  665. 合計2_dgv.Rows(0).Cells("已收稅").Value = CLng(計算2_dgv.Rows(計算2_dgv.SelectedCells(0).RowIndex).Cells(表頭(20)).Value.ToString)
  666. 合計2_dgv.Rows(0).Cells("已請未收稅").Value = CLng(計算2_dgv.Rows(計算2_dgv.SelectedCells(0).RowIndex).Cells(表頭(21)).Value.ToString)
  667. 合計2_dgv.Rows(0).Cells("比例1").Value = CLng(計算2_dgv.Rows(計算2_dgv.SelectedCells(0).RowIndex).Cells("比例1").Value.ToString)
  668. 合計2_dgv.Rows(0).Cells("比例2").Value = CLng(計算2_dgv.Rows(計算2_dgv.SelectedCells(0).RowIndex).Cells("比例2").Value.ToString)
  669. 合計2_dgv.Rows(0).Cells("比例3").Value = CLng(計算2_dgv.Rows(計算2_dgv.SelectedCells(0).RowIndex).Cells("比例3").Value.ToString)
  670. 合計2_dgv.Rows(0).Cells("比例4").Value = CLng(計算2_dgv.Rows(計算2_dgv.SelectedCells(0).RowIndex).Cells("比例4").Value.ToString)
  671. 彙總1()
  672. A1.Enabled = False : A2.Enabled = False : A3.Enabled = False : A4.Enabled = False : A5.Enabled = False : A6.Enabled = False : A7.Enabled = False : A8.Enabled = False
  673. A9.Enabled = False : A10.Enabled = False : A11.Enabled = False : A12.Enabled = False : A13.Enabled = False : A14.Enabled = False : A15.Enabled = False : A16.Enabled = False
  674. A17.Enabled = False : A18.Enabled = False : A19.Enabled = False : A20.Enabled = False
  675. End If
  676. End If
  677. End Sub
  678. Private Sub 回首頁_bt_Click(sender As Object, e As EventArgs) Handles 回首頁_bt.Click
  679. 計算2_dgv.Visible = True : 計算3_dgv.Visible = False
  680. 合計2_dgv.Rows(0).Cells("工程總價").Value = "0" : 合計2_dgv.Rows(0).Cells("總報價").Value = "0"
  681. 合計2_dgv.Rows(0).Cells("稅金").Value = "0" : 合計2_dgv.Rows(0).Cells("已請款").Value = "0" : 合計2_dgv.Rows(0).Cells("未請款").Value = "0"
  682. 合計2_dgv.Rows(0).Cells("已請稅").Value = "0" : 合計2_dgv.Rows(0).Cells("未請稅").Value = "0" : 合計2_dgv.Rows(0).Cells("已收款").Value = "0"
  683. 合計2_dgv.Rows(0).Cells("已請未收款").Value = "0" : 合計2_dgv.Rows(0).Cells("已收稅").Value = "0" : 合計2_dgv.Rows(0).Cells("已請未收稅").Value = "0"
  684. For i As Integer = 0 To 計算_dgv.Rows.Count - 1
  685. 合計2_dgv.Rows(0).Cells("工程總價").Value = CLng(合計2_dgv.Rows(0).Cells("工程總價").Value.ToString) + CLng(計算2_dgv.Rows(i).Cells(表頭(13)).Value.ToString)
  686. 合計2_dgv.Rows(0).Cells("總報價").Value = CLng(合計2_dgv.Rows(0).Cells("總報價").Value.ToString) + CLng(計算2_dgv.Rows(i).Cells("總報價").Value.ToString)
  687. 合計2_dgv.Rows(0).Cells("稅金").Value = CLng(合計2_dgv.Rows(0).Cells("稅金").Value.ToString) + CLng(計算2_dgv.Rows(i).Cells("稅金").Value.ToString)
  688. 合計2_dgv.Rows(0).Cells("已請款").Value = CLng(合計2_dgv.Rows(0).Cells("已請款").Value.ToString) + CLng(計算2_dgv.Rows(i).Cells(表頭(14)).Value.ToString)
  689. 合計2_dgv.Rows(0).Cells("未請款").Value = CLng(合計2_dgv.Rows(0).Cells("未請款").Value.ToString) + CLng(計算2_dgv.Rows(i).Cells(表頭(15)).Value.ToString)
  690. 合計2_dgv.Rows(0).Cells("已請稅").Value = CLng(合計2_dgv.Rows(0).Cells("已請稅").Value.ToString) + CLng(計算2_dgv.Rows(i).Cells(表頭(18)).Value.ToString)
  691. 合計2_dgv.Rows(0).Cells("未請稅").Value = CLng(合計2_dgv.Rows(0).Cells("未請稅").Value.ToString) + CLng(計算2_dgv.Rows(i).Cells(表頭(19)).Value.ToString)
  692. 合計2_dgv.Rows(0).Cells("已收款").Value = CLng(合計2_dgv.Rows(0).Cells("已收款").Value.ToString) + CLng(計算2_dgv.Rows(i).Cells(表頭(16)).Value.ToString)
  693. 合計2_dgv.Rows(0).Cells("已請未收款").Value = CLng(合計2_dgv.Rows(0).Cells("已請未收款").Value.ToString) + CLng(計算2_dgv.Rows(i).Cells(表頭(17)).Value.ToString)
  694. 合計2_dgv.Rows(0).Cells("已收稅").Value = CLng(合計2_dgv.Rows(0).Cells("已收稅").Value.ToString) + CLng(計算2_dgv.Rows(i).Cells(表頭(20)).Value.ToString)
  695. 合計2_dgv.Rows(0).Cells("已請未收稅").Value = CLng(合計2_dgv.Rows(0).Cells("已請未收稅").Value.ToString) + CLng(計算2_dgv.Rows(i).Cells(表頭(21)).Value.ToString)
  696. Next
  697. If CLng(合計2_dgv.Rows(0).Cells("總報價").Value.ToString) = 0 Then : 合計2_dgv.Rows(0).Cells("比例1").Value = "0" : Else
  698. 合計2_dgv.Rows(0).Cells("比例1").Value = CLng(合計2_dgv.Rows(0).Cells("已請款").Value.ToString) / CLng(合計2_dgv.Rows(0).Cells("總報價").Value.ToString) * 100
  699. If CLng(合計2_dgv.Rows(0).Cells("比例1").Value) > 100 Then : 合計2_dgv.Rows(0).Cells("比例1").Value = "100" : End If
  700. End If
  701. If CLng(合計2_dgv.Rows(0).Cells("已請款").Value.ToString) = 0 Then : 合計2_dgv.Rows(0).Cells("比例2").Value = "0" : Else
  702. 合計2_dgv.Rows(0).Cells("比例2").Value = CLng(合計2_dgv.Rows(0).Cells("已收款").Value.ToString) / CLng(合計2_dgv.Rows(0).Cells("已請款").Value.ToString) * 100
  703. If CLng(合計2_dgv.Rows(0).Cells("比例2").Value) > 100 Then : 合計2_dgv.Rows(0).Cells("比例2").Value = "100" : End If
  704. End If
  705. If CLng(合計2_dgv.Rows(0).Cells("稅金").Value.ToString) = 0 Then : 合計2_dgv.Rows(0).Cells("比例3").Value = "0" : Else
  706. 合計2_dgv.Rows(0).Cells("比例3").Value = CLng(合計2_dgv.Rows(0).Cells("已請稅").Value.ToString) / CLng(合計2_dgv.Rows(0).Cells("稅金").Value.ToString) * 100
  707. If CLng(合計2_dgv.Rows(0).Cells("比例3").Value) > 100 Then : 合計2_dgv.Rows(0).Cells("比例3").Value = "100" : End If
  708. End If
  709. If CLng(合計2_dgv.Rows(0).Cells("已請稅").Value.ToString) = 0 Then : 合計2_dgv.Rows(0).Cells("比例4").Value = "0" : Else
  710. 合計2_dgv.Rows(0).Cells("比例4").Value = CLng(合計2_dgv.Rows(0).Cells("已收稅").Value.ToString) / CLng(合計2_dgv.Rows(0).Cells("已請稅").Value.ToString) * 100
  711. If CLng(合計2_dgv.Rows(0).Cells("比例4").Value) > 100 Then : 合計2_dgv.Rows(0).Cells("比例4").Value = "100" : End If
  712. End If : 彙總() : RadTrackBar1.Visible = False
  713. A1.Enabled = True : A2.Enabled = True : A3.Enabled = True : A4.Enabled = True : A5.Enabled = True : A6.Enabled = True : A7.Enabled = True : A8.Enabled = True
  714. A9.Enabled = True : A10.Enabled = True : A11.Enabled = True : A12.Enabled = True : A13.Enabled = True : A14.Enabled = True : A15.Enabled = True : A16.Enabled = True
  715. A17.Enabled = True : A18.Enabled = True : A19.Enabled = True : A20.Enabled = True
  716. '-------------------------合計DGV變形----------------------------------------------------------------------------------------------------------------------
  717. If IsVerticalScrollBarVisible(計算2_dgv) Then : 合計2_dgv.Size = New Size(計算2_dgv.Size.Width - 17, 合計2_dgv.Size.Height)
  718. Else : 合計2_dgv.Size = New Size(計算2_dgv.Size.Width, 合計2_dgv.Size.Height) : End If
  719. End Sub
  720. Private Sub 款項_bt_Click(sender As Object, e As EventArgs) Handles 款項_bt.Click
  721. If 計算2_dgv.Visible = True And 計算3_dgv.Visible = False Then : 選款項 = True : 彙總() : Else : 選款項 = True : 彙總1() : End If
  722. End Sub
  723. Private Sub 稅額_bt_Click(sender As Object, e As EventArgs) Handles 稅額_bt.Click
  724. If 計算2_dgv.Visible = True And 計算3_dgv.Visible = False Then : 選款項 = False : 彙總() : Else : 選款項 = False : 彙總1() : End If
  725. End Sub
  726. Private Sub 縮放2_bt_Click(sender As Object, e As EventArgs) Handles 縮放2_bt.Click
  727. Panel2.SendToBack() : Panel3.BringToFront() : Panel2.Visible = False : Panel3.Visible = True
  728. End Sub
  729. Private Sub 縮放1_bt_Click(sender As Object, e As EventArgs) Handles 縮放1_bt.Click
  730. Panel2.BringToFront() : Panel3.SendToBack() : Panel2.Visible = True : Panel3.Visible = False
  731. End Sub
  732. Private Sub 圖表_bt_Click(sender As Object, e As EventArgs) Handles 圖表_bt.Click
  733. Panel4.BringToFront() : 計算_dgv.SendToBack()
  734. End Sub
  735. Private Sub 清單_bt_Click(sender As Object, e As EventArgs) Handles 清單_bt.Click
  736. Panel4.SendToBack() : 計算_dgv.BringToFront()
  737. End Sub
  738. Private Sub B1_CheckedChanged(sender As Object, e As EventArgs) Handles B1.Click
  739. If 計算2_dgv.Visible = True And 計算3_dgv.Visible = False Then : 彙總() : Else : 彙總1() : End If
  740. End Sub
  741. Private Sub B2_CheckedChanged(sender As Object, e As EventArgs) Handles B2.Click
  742. If 計算2_dgv.Visible = True And 計算3_dgv.Visible = False Then : 彙總() : Else : 彙總1() : End If
  743. End Sub
  744. Private Sub B3_CheckedChanged(sender As Object, e As EventArgs) Handles B3.Click
  745. If 計算2_dgv.Visible = True And 計算3_dgv.Visible = False Then : 彙總() : Else : 彙總1() : End If
  746. End Sub
  747. Private Sub B4_CheckedChanged(sender As Object, e As EventArgs) Handles B4.Click
  748. If 計算2_dgv.Visible = True And 計算3_dgv.Visible = False Then : 彙總() : Else : 彙總1() : End If
  749. End Sub
  750. Private Sub A1_CheckedChanged(sender As Object, e As EventArgs) Handles A1.Click
  751. Set_合約清單()
  752. End Sub
  753. Private Sub A2_CheckedChanged(sender As Object, e As EventArgs) Handles A2.Click
  754. Set_合約清單()
  755. End Sub
  756. Private Sub A3_CheckedChanged(sender As Object, e As EventArgs) Handles A3.Click
  757. Set_合約清單()
  758. End Sub
  759. Private Sub A4_CheckedChanged(sender As Object, e As EventArgs) Handles A4.Click
  760. Set_合約清單()
  761. End Sub
  762. Private Sub A5_CheckedChanged(sender As Object, e As EventArgs) Handles A5.Click
  763. Set_合約清單()
  764. End Sub
  765. Private Sub A6_CheckedChanged(sender As Object, e As EventArgs) Handles A6.Click
  766. Set_合約清單()
  767. End Sub
  768. Private Sub A7_CheckedChanged(sender As Object, e As EventArgs) Handles A7.Click
  769. Set_合約清單()
  770. End Sub
  771. Private Sub A8_CheckedChanged(sender As Object, e As EventArgs) Handles A8.Click
  772. Set_合約清單()
  773. End Sub
  774. Private Sub A9_CheckedChanged(sender As Object, e As EventArgs) Handles A9.Click
  775. Set_合約清單()
  776. End Sub
  777. Private Sub A10_CheckedChanged(sender As Object, e As EventArgs) Handles A10.Click
  778. Set_合約清單()
  779. End Sub
  780. Private Sub A11_CheckedChanged(sender As Object, e As EventArgs) Handles A11.Click
  781. Set_合約清單()
  782. End Sub
  783. Private Sub A12_CheckedChanged(sender As Object, e As EventArgs) Handles A12.Click
  784. Set_合約清單()
  785. End Sub
  786. Private Sub A13_CheckedChanged(sender As Object, e As EventArgs) Handles A13.Click
  787. Set_合約清單()
  788. End Sub
  789. Private Sub A14_CheckedChanged(sender As Object, e As EventArgs) Handles A14.Click
  790. Set_合約清單()
  791. End Sub
  792. Private Sub A15_CheckedChanged(sender As Object, e As EventArgs) Handles A15.Click
  793. Set_合約清單()
  794. End Sub
  795. Private Sub A16_CheckedChanged(sender As Object, e As EventArgs) Handles A16.Click
  796. Set_合約清單()
  797. End Sub
  798. Private Sub A17_CheckedChanged(sender As Object, e As EventArgs) Handles A17.Click
  799. Set_合約清單()
  800. End Sub
  801. Private Sub A18_CheckedChanged(sender As Object, e As EventArgs) Handles A18.Click
  802. Set_合約清單()
  803. End Sub
  804. Private Sub A19_CheckedChanged(sender As Object, e As EventArgs) Handles A19.Click
  805. Set_合約清單()
  806. End Sub
  807. Private Sub A20_CheckedChanged(sender As Object, e As EventArgs) Handles A20.Click
  808. Set_合約清單()
  809. End Sub
  810. Private Sub 風格()
  811. If 深色風格 = False Then
  812. Me.BackColor = SystemColors.Control
  813. '----------------黑-------------------------------------------
  814. 語轉扭_bt.BackColor = Color.White
  815. 系統說明_bt.BackColor = Color.White : 縮放1_bt.BackColor = Color.White : 縮放2_bt.BackColor = Color.White : 圖表_bt.BackColor = Color.White
  816. 清單_bt.BackColor = Color.White : 回首頁_bt.BackColor = Color.Black
  817. For i As Integer = 1 To 20 : Dim 選擇 As CheckBox = CType(Me.Controls.Find("A" & i, True)(0), CheckBox) : 選擇.ForeColor = Color.Black : Next
  818. For i As Integer = 1 To 4 : Dim 選擇 As CheckBox = CType(Me.Controls.Find("B" & i, True)(0), CheckBox) : 選擇.ForeColor = Color.Black : Next
  819. 款項_bt.BackColor = Color.White : 款項_bt.ForeColor = Color.Black : 稅額_bt.BackColor = Color.White : 稅額_bt.ForeColor = Color.Black
  820. 計算3_dgv.EnableHeadersVisualStyles = True : 計算3_dgv.BackgroundColor = Color.White : 計算3_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.Black
  821. 計算3_dgv.DefaultCellStyle.BackColor = Color.White : 計算3_dgv.DefaultCellStyle.ForeColor = Color.Black : 計算3_dgv.DefaultCellStyle.SelectionBackColor = Color.White
  822. 計算3_dgv.DefaultCellStyle.SelectionForeColor = Color.Black
  823. 合計1_dgv.EnableHeadersVisualStyles = True : 合計1_dgv.BackgroundColor = Color.White : 合計1_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.Black
  824. 合計1_dgv.DefaultCellStyle.BackColor = Color.White : 合計1_dgv.DefaultCellStyle.ForeColor = Color.Black : 合計1_dgv.DefaultCellStyle.SelectionBackColor = Color.White
  825. 合計1_dgv.DefaultCellStyle.SelectionForeColor = Color.Black
  826. 合計2_dgv.EnableHeadersVisualStyles = True : 合計2_dgv.BackgroundColor = Color.White : 合計2_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.Black
  827. 合計2_dgv.DefaultCellStyle.BackColor = Color.White : 合計2_dgv.DefaultCellStyle.ForeColor = Color.Black : 合計2_dgv.DefaultCellStyle.SelectionBackColor = Color.White
  828. 合計2_dgv.DefaultCellStyle.SelectionForeColor = Color.Black
  829. 計算2_dgv.EnableHeadersVisualStyles = True : 計算2_dgv.BackgroundColor = Color.White : 計算2_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.Black
  830. 計算2_dgv.DefaultCellStyle.BackColor = Color.White : 計算2_dgv.DefaultCellStyle.ForeColor = Color.Black : 計算2_dgv.DefaultCellStyle.SelectionBackColor = Color.White
  831. 計算2_dgv.DefaultCellStyle.SelectionForeColor = Color.Black
  832. 計算1_dgv.EnableHeadersVisualStyles = True : 計算1_dgv.BackgroundColor = Color.White : 計算1_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.Black
  833. 計算1_dgv.DefaultCellStyle.BackColor = Color.White : 計算1_dgv.DefaultCellStyle.ForeColor = Color.Black : 計算1_dgv.DefaultCellStyle.SelectionBackColor = Color.White
  834. 計算1_dgv.DefaultCellStyle.SelectionForeColor = Color.Black
  835. 計算_dgv.EnableHeadersVisualStyles = True : 計算_dgv.BackgroundColor = Color.White : 計算_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.Black
  836. 計算_dgv.DefaultCellStyle.BackColor = Color.White : 計算_dgv.DefaultCellStyle.ForeColor = Color.Black
  837. 甲方_dgv.EnableHeadersVisualStyles = True : 甲方_dgv.BackgroundColor = Color.White : 甲方_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.Black
  838. 甲方_dgv.DefaultCellStyle.BackColor = Color.White : 甲方_dgv.DefaultCellStyle.ForeColor = Color.Black
  839. 請款清單_dgv.EnableHeadersVisualStyles = True : 請款清單_dgv.BackgroundColor = Color.White : 請款清單_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.Black
  840. 請款清單_dgv.DefaultCellStyle.BackColor = Color.White : 請款清單_dgv.DefaultCellStyle.ForeColor = Color.Black
  841. 彙總_dgv.EnableHeadersVisualStyles = True : 彙總_dgv.BackgroundColor = Color.White : 彙總_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.Black
  842. 彙總_dgv.DefaultCellStyle.BackColor = Color.White : 彙總_dgv.DefaultCellStyle.ForeColor = Color.Black
  843. Else
  844. Me.BackColor = Color.Black
  845. '----------------黑-------------------------------------------
  846. 語轉扭_bt.BackColor = Color.DimGray
  847. 系統說明_bt.BackColor = Color.DimGray : 縮放1_bt.BackColor = Color.DimGray : 縮放2_bt.BackColor = Color.DimGray : 圖表_bt.BackColor = Color.DimGray
  848. 清單_bt.BackColor = Color.DimGray : 回首頁_bt.BackColor = Color.DimGray
  849. For i As Integer = 1 To 20 : Dim 選擇 As CheckBox = CType(Me.Controls.Find("A" & i, True)(0), CheckBox) : 選擇.ForeColor = Color.White : Next
  850. For i As Integer = 1 To 4 : Dim 選擇 As CheckBox = CType(Me.Controls.Find("B" & i, True)(0), CheckBox) : 選擇.ForeColor = Color.White : Next
  851. 款項_bt.BackColor = Color.DimGray : 款項_bt.ForeColor = Color.White : 稅額_bt.BackColor = Color.DimGray : 稅額_bt.ForeColor = Color.White
  852. 計算3_dgv.EnableHeadersVisualStyles = False : 計算3_dgv.BackgroundColor = Color.DimGray : 計算3_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.White
  853. 計算3_dgv.ColumnHeadersDefaultCellStyle.BackColor = Color.Black : 計算3_dgv.DefaultCellStyle.BackColor = Color.Black : 計算3_dgv.DefaultCellStyle.ForeColor = Color.White
  854. 計算3_dgv.DefaultCellStyle.SelectionBackColor = Color.Black
  855. 合計1_dgv.EnableHeadersVisualStyles = False : 合計1_dgv.BackgroundColor = Color.DimGray : 合計1_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.White
  856. 合計1_dgv.ColumnHeadersDefaultCellStyle.BackColor = Color.Black : 合計1_dgv.DefaultCellStyle.BackColor = Color.Black : 合計1_dgv.DefaultCellStyle.ForeColor = Color.White
  857. 合計1_dgv.DefaultCellStyle.SelectionBackColor = Color.Black
  858. 合計2_dgv.EnableHeadersVisualStyles = False : 合計2_dgv.BackgroundColor = Color.DimGray : 合計2_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.White
  859. 合計2_dgv.ColumnHeadersDefaultCellStyle.BackColor = Color.Black : 合計2_dgv.DefaultCellStyle.BackColor = Color.Black : 合計2_dgv.DefaultCellStyle.ForeColor = Color.White
  860. 合計2_dgv.DefaultCellStyle.SelectionBackColor = Color.Black
  861. 計算2_dgv.EnableHeadersVisualStyles = False : 計算2_dgv.BackgroundColor = Color.DimGray : 計算2_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.White
  862. 計算2_dgv.ColumnHeadersDefaultCellStyle.BackColor = Color.Black : 計算2_dgv.DefaultCellStyle.BackColor = Color.Black : 計算2_dgv.DefaultCellStyle.ForeColor = Color.White
  863. 計算2_dgv.DefaultCellStyle.SelectionBackColor = Color.Black
  864. 計算1_dgv.EnableHeadersVisualStyles = False : 計算1_dgv.BackgroundColor = Color.DimGray : 計算1_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.White
  865. 計算1_dgv.ColumnHeadersDefaultCellStyle.BackColor = Color.Black : 計算1_dgv.DefaultCellStyle.BackColor = Color.Black : 計算1_dgv.DefaultCellStyle.ForeColor = Color.White
  866. 計算1_dgv.DefaultCellStyle.SelectionBackColor = Color.Black
  867. 計算_dgv.EnableHeadersVisualStyles = False : 計算_dgv.BackgroundColor = Color.DimGray : 計算_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.White
  868. 計算_dgv.ColumnHeadersDefaultCellStyle.BackColor = Color.Black : 計算_dgv.DefaultCellStyle.BackColor = Color.Black : 計算_dgv.DefaultCellStyle.ForeColor = Color.White
  869. 甲方_dgv.EnableHeadersVisualStyles = False : 甲方_dgv.BackgroundColor = Color.DimGray : 甲方_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.White
  870. 甲方_dgv.ColumnHeadersDefaultCellStyle.BackColor = Color.Black : 甲方_dgv.DefaultCellStyle.BackColor = Color.Black : 甲方_dgv.DefaultCellStyle.ForeColor = Color.White
  871. 請款清單_dgv.EnableHeadersVisualStyles = False : 請款清單_dgv.BackgroundColor = Color.DimGray : 請款清單_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.White
  872. 請款清單_dgv.ColumnHeadersDefaultCellStyle.BackColor = Color.Black : 請款清單_dgv.DefaultCellStyle.BackColor = Color.Black : 請款清單_dgv.DefaultCellStyle.ForeColor = Color.White
  873. 彙總_dgv.EnableHeadersVisualStyles = False : 彙總_dgv.BackgroundColor = Color.DimGray : 彙總_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.White
  874. 彙總_dgv.ColumnHeadersDefaultCellStyle.BackColor = Color.Black : 彙總_dgv.DefaultCellStyle.BackColor = Color.Black : 彙總_dgv.DefaultCellStyle.ForeColor = Color.White
  875. End If
  876. End Sub
  877. End Class