暫無描述
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.

供應商類別管理.vb 14KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205
  1. Option Strict Off
  2. Imports System.IO
  3. Public Class 供應商類別管理
  4. ReadOnly ds As New DataSet
  5. Dim RI As Integer = -1
  6. Dim SK As String = "要查找的 KEY"
  7. Dim Str As String = Application.StartupPath
  8. DIM 對話框(8) As String
  9. Private Sub 清單1()
  10. 類別清單_dgv.DataSource = Nothing : ds.Clear()
  11. 類別清單_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  12. 類別清單_dgv.ColumnHeadersHeight = 25
  13. 類別清單_dgv.AllowUserToAddRows = False
  14. 類別清單_dgv.RowTemplate.Height = 35
  15. SQL_供應商類別()
  16. 列印用SQL = SQL1 : da.Fill(ds) : 類別清單_dgv.DataSource = ds.Tables(0)
  17. 類別清單_dgv.Columns(0).FillWeight = 50 : 類別清單_dgv.Columns(1).FillWeight = 50 : 類別清單_dgv.Columns(2).FillWeight = 200
  18. End Sub
  19. Private Sub Set_語言()
  20. 語言_dgv.DataSource = Nothing
  21. 語言_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  22. 語言_dgv.ColumnHeadersHeight = 25
  23. 語言_dgv.AllowUserToAddRows = False
  24. For i As Integer = 0 To 語言_dgv.Rows.Count - 1 : 語言_dgv.Rows.RemoveAt(0) : Next
  25. If File.Exists(Str + "\LANGUAGE_FILE.csv") Then
  26. Dim filereader = My.Computer.FileSystem.OpenTextFileReader(Str + "\LANGUAGE_FILE.csv", System.Text.Encoding.Default)
  27. Dim line As String = filereader.ReadLine()
  28. While Not (line Is Nothing)
  29. line = filereader.ReadLine()
  30. If line <> Nothing Then
  31. line = line.Replace("""", "")
  32. If Strings.Left(line, 4) = "G000" Or Strings.Left(line, 4) = 介面 Then
  33. If 系統語言 = "繁體中文" Then
  34. If Strings.Mid(line, 10, 2) = "CH" Then : 語言_dgv.Rows.Insert(0)
  35. 語言_dgv.Rows(0).Cells(0).Value = Strings.Left(line, 11)
  36. If Strings.Mid(line, 13, 300).EndsWith(",") Then
  37. 語言_dgv.Rows(0).Cells(1).Value = Strings.Mid(line, 13, 300).Substring(0, Strings.Mid(line, 13, 300).Length - 1)
  38. Else : 語言_dgv.Rows(0).Cells(1).Value = Strings.Mid(line, 13, 300) : End If
  39. End If
  40. ElseIf 系統語言 = "English" Then
  41. If Strings.Mid(line, 10, 2) = "EN" Then : 語言_dgv.Rows.Insert(0)
  42. 語言_dgv.Rows(0).Cells(0).Value = Strings.Left(line, 11)
  43. If Strings.Mid(line, 13, 300).EndsWith(",") Then
  44. 語言_dgv.Rows(0).Cells(1).Value = Strings.Mid(line, 13, 300).Substring(0, Strings.Mid(line, 13, 300).Length - 1)
  45. Else : 語言_dgv.Rows(0).Cells(1).Value = Strings.Mid(line, 13, 300) : End If
  46. End If
  47. ElseIf 系統語言 = "Indonesian" Then
  48. If Strings.Mid(line, 10, 2) = "IN" Then : 語言_dgv.Rows.Insert(0)
  49. 語言_dgv.Rows(0).Cells(0).Value = Strings.Left(line, 11)
  50. If Strings.Mid(line, 13, 300).EndsWith(",") Then
  51. 語言_dgv.Rows(0).Cells(1).Value = Strings.Mid(line, 13, 300).Substring(0, Strings.Mid(line, 13, 300).Length - 1)
  52. Else : 語言_dgv.Rows(0).Cells(1).Value = Strings.Mid(line, 13, 300) : End If
  53. End If
  54. End If
  55. End If
  56. End If
  57. End While
  58. filereader.Close()
  59. End If
  60. End Sub
  61. Private Sub Set_語言查詢()
  62. RI = -1 : For Each row As DataGridViewRow In 語言_dgv.Rows
  63. If Strings.Left(row.Cells(0).Value.ToString(), 8) = SK Then
  64. RI = row.Index : Exit For
  65. End If
  66. Next
  67. End Sub
  68. Private Sub 語言轉換讀取()
  69. Set_語言()
  70. SK = "G000-108" : Set_語言查詢() : ToolTip1.ToolTipTitle = 語言_dgv(1, RI).Value.ToString
  71. SK = "H213-100" : Set_語言查詢() : 主題_lb.Text = 語言_dgv(1, RI).Value.ToString : SK = "H213-101" : Set_語言查詢() : GroupBox1.Text = 語言_dgv(1, RI).Value.ToString
  72. SK = "H213-102" : Set_語言查詢() : Label1.Text = 語言_dgv(1, RI).Value.ToString : SK = "G000-109" : Set_語言查詢() : 對話框(0) = 語言_dgv(1, RI).Value.ToString
  73. SK = "G000-111" : Set_語言查詢() : 對話框(1) = 語言_dgv(1, RI).Value.ToString : SK = "G000-112" : Set_語言查詢() : 對話框(2) = 語言_dgv(1, RI).Value.ToString
  74. SK = "G000-117" : Set_語言查詢() : 對話框(3) = 語言_dgv(1, RI).Value.ToString : SK = "G000-118" : Set_語言查詢() : 對話框(4) = 語言_dgv(1, RI).Value.ToString
  75. SK = "G000-119" : Set_語言查詢() : 對話框(5) = 語言_dgv(1, RI).Value.ToString : SK = "G000-120" : Set_語言查詢() : 對話框(6) = 語言_dgv(1, RI).Value.ToString
  76. End Sub
  77. Private Sub 新增_bt_MouseEnter(sender As Object, e As EventArgs) Handles 新增_bt.MouseEnter
  78. ToolTip1.SetToolTip(Me.新增_bt, 對話框(0))
  79. End Sub
  80. Private Sub 修改_bt_MouseEnter(sender As Object, e As EventArgs) Handles 修改_bt.MouseEnter
  81. ToolTip1.SetToolTip(Me.修改_bt, 對話框(1))
  82. End Sub
  83. Private Sub 刪除_bt_MouseEnter(sender As Object, e As EventArgs) Handles 刪除_bt.MouseEnter
  84. ToolTip1.SetToolTip(Me.刪除_bt, 對話框(2))
  85. End Sub
  86. Private Sub PnlTitleBar_Paint(sender As Object, e As PaintEventArgs) Handles PnlTitleBar.Paint
  87. End Sub
  88. Private Sub 供應商類別管理_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  89. 語言_dgv.SendToBack() : 風格() : H(213) = True : 介面 = "H213" : 語言轉換讀取() : 清單1() : 顯示說明(999, False)
  90. End Sub
  91. Private Sub Cancel_bt_Click(sender As Object, e As EventArgs) Handles Cancel_bt.Click
  92. Me.Close()
  93. End Sub
  94. Private Sub 類別清單_dgv_CellClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles 類別清單_dgv.CellClick
  95. If e.RowIndex = -1 Then : Else
  96. 類別編號_tb.Text = 類別清單_dgv(0, e.RowIndex).Value.ToString
  97. For i As Integer = 0 To 類別清單_dgv.Rows.Count - 1
  98. If 類別清單_dgv(0, i).Value.ToString = 類別編號_tb.Text And 類別清單_dgv(1, i).Value.ToString = A1_lb.Text Then : 類別1_tb.Text = 類別清單_dgv(2, i).Value.ToString
  99. ElseIf 類別清單_dgv(0, i).Value.ToString = 類別編號_tb.Text And 類別清單_dgv(1, i).Value.ToString = A2_lb.Text Then : 類別2_tb.Text = 類別清單_dgv(2, i).Value.ToString
  100. ElseIf 類別清單_dgv(0, i).Value.ToString = 類別編號_tb.Text And 類別清單_dgv(1, i).Value.ToString = A3_lb.Text Then : 類別3_tb.Text = 類別清單_dgv(2, i).Value.ToString
  101. End If
  102. Next
  103. End If
  104. End Sub
  105. Private Sub 類別清單_dgv_RowPostPaint(ByVal sender As Object, ByVal e As DataGridViewRowPostPaintEventArgs) Handles 類別清單_dgv.RowPostPaint
  106. Dim linePen As New Pen(Color.Blue, 2)
  107. If e.RowIndex = 類別清單_dgv.Rows.Count - 1 Then : Exit Sub : Else
  108. If 類別清單_dgv(0, e.RowIndex).Value.ToString <> 類別清單_dgv(0, e.RowIndex + 1).Value.ToString Then
  109. Dim startX As Integer = IIf(類別清單_dgv.RowHeadersVisible, 類別清單_dgv.RowHeadersWidth, 0) : Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1
  110. Dim endX As Integer = startX + 類別清單_dgv.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - 類別清單_dgv.HorizontalScrollingOffset
  111. e.Graphics.DrawLine(linePen, startX, startY, endX, startY) : Exit Sub
  112. End If
  113. End If
  114. End Sub
  115. Private Sub 新增_bt_Click(sender As Object, e As EventArgs) Handles 新增_bt.Click
  116. SQL_供應商類別管理_最後一筆資料()
  117. If dr.Read() Then : 類別編號_tb.Text = dr("編碼").ToString : Else : 類別編號_tb.Text = "N0000" : End If : conn.Close()
  118. Dim NUM1 As Integer = Double.Parse(Strings.Right(類別編號_tb.Text, 4)) + 1
  119. If NUM1 < 10 Then : 類別編號_tb.Text = "N" & "000" & NUM1
  120. ElseIf NUM1 > 9 And NUM1 < 100 Then : 類別編號_tb.Text = "N" & "00" & NUM1
  121. ElseIf NUM1 > 99 And NUM1 < 1000 Then : 類別編號_tb.Text = "N" & "0" & NUM1
  122. ElseIf NUM1 > 999 Then : 類別編號_tb.Text = "N" & NUM1 : End If
  123. For I As Integer = 0 To 2
  124. PA1 = 類別編號_tb.Text
  125. If I = 0 Then
  126. PA2 = A1_lb.Text : PA3 = 類別1_tb.Text : ElseIf I = 1 Then : PA2 = A2_lb.Text : PA3 = 類別2_tb.Text : ElseIf I = 2 Then : PA2 = A3_lb.Text : PA3 = 類別3_tb.Text
  127. End If : SQL_供應商類別管理_新增()
  128. Next : MGB(對話框(4), 1)
  129. 清單1()
  130. End Sub
  131. Private Sub 修改_bt_Click(sender As Object, e As EventArgs) Handles 修改_bt.Click
  132. If 類別編號_tb.Text = "" Then : MGB(對話框(3), 1) : Else
  133. For I As Integer = 0 To 2 : PA1 = 類別編號_tb.Text
  134. If I = 0 Then : PA2 = A1_lb.Text : PA3 = 類別1_tb.Text
  135. ElseIf I = 1 Then : PA2 = A2_lb.Text : PA3 = 類別2_tb.Text
  136. ElseIf I = 2 Then : PA2 = A3_lb.Text : PA3 = 類別3_tb.Text
  137. End If : SQL_供應商類別管理_修改()
  138. Next
  139. 清單1() : MGB(對話框(5), 1)
  140. End If
  141. End Sub
  142. Private Sub 刪除_bt_Click(sender As Object, e As EventArgs) Handles 刪除_bt.Click
  143. If 類別編號_tb.Text = "" Then : MGB(對話框(3), 1) : Else
  144. PA1 = 類別編號_tb.Text : SQL_供應商類別管理_刪除() : 清單1() : MGB(對話框(6), 1)
  145. End If
  146. End Sub
  147. Private Sub 語轉扭_bt_Click(sender As Object, e As EventArgs) Handles 語轉扭_bt.Click
  148. 介面 = "H213" : 語言轉換讀取() : 清單1()
  149. End Sub
  150. Private Sub 風格()
  151. If 深色風格 = False Then
  152. Me.BackColor = Color.Linen : Panel1.BackColor = Color.White : 主題_lb.ForeColor = Color.Black
  153. GroupBox1.ForeColor = Color.Black : A1_lb.ForeColor = Color.Black : A2_lb.ForeColor = Color.Black : A3_lb.ForeColor = Color.Black
  154. Label1.ForeColor = Color.Black
  155. 語轉扭_bt.BackColor = Color.White : 語轉扭_bt.ForeColor = Color.Black : 類別1_tb.BackColor = Color.White : 類別1_tb.ForeColor = Color.Black
  156. 類別3_tb.BackColor = Color.White : 類別3_tb.ForeColor = Color.Black : 類別2_tb.BackColor = Color.White : 類別2_tb.ForeColor = Color.Black
  157. 類別編號_tb.BackColor = Color.White : 類別編號_tb.ForeColor = Color.Black
  158. 新增_bt.BackColor = Color.White : 修改_bt.BackColor = Color.White : 刪除_bt.BackColor = Color.White
  159. 類別清單_dgv.EnableHeadersVisualStyles = True : 類別清單_dgv.BackgroundColor = Color.White : 類別清單_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.Black
  160. 類別清單_dgv.AlternatingRowsDefaultCellStyle.BackColor = Color.White
  161. 類別清單_dgv.DefaultCellStyle.BackColor = Color.White : 類別清單_dgv.DefaultCellStyle.ForeColor = Color.Black
  162. Else
  163. Me.BackColor = Color.Black : Panel1.BackColor = Color.DimGray : 主題_lb.ForeColor = Color.White
  164. GroupBox1.ForeColor = Color.White : A1_lb.ForeColor = Color.White : A2_lb.ForeColor = Color.White : A3_lb.ForeColor = Color.White
  165. Label1.ForeColor = Color.White
  166. 語轉扭_bt.BackColor = Color.DimGray : 語轉扭_bt.ForeColor = Color.White : 類別1_tb.BackColor = Color.DimGray : 類別1_tb.ForeColor = Color.White
  167. 類別3_tb.BackColor = Color.DimGray : 類別3_tb.ForeColor = Color.White : 類別2_tb.BackColor = Color.DimGray : 類別2_tb.ForeColor = Color.White
  168. 類別編號_tb.BackColor = Color.DimGray : 類別編號_tb.ForeColor = Color.White
  169. 新增_bt.BackColor = Color.DimGray : 修改_bt.BackColor = Color.DimGray : 刪除_bt.BackColor = Color.DimGray
  170. 類別清單_dgv.EnableHeadersVisualStyles = False : 類別清單_dgv.BackgroundColor = Color.DimGray : 類別清單_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.White
  171. 類別清單_dgv.ColumnHeadersDefaultCellStyle.BackColor = Color.Black : 類別清單_dgv.AlternatingRowsDefaultCellStyle.BackColor = Color.DimGray
  172. 類別清單_dgv.DefaultCellStyle.BackColor = Color.DimGray : 類別清單_dgv.DefaultCellStyle.ForeColor = Color.White
  173. End If
  174. End Sub
  175. Dim nOldWndLeft, nOldWndTop, nClickX, nClickY As Integer
  176. Private Sub PnlTitleBar_MouseDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PnlTitleBar.MouseDown
  177. '紀錄滑鼠點選時的視窗位置與滑鼠點選位置
  178. nOldWndLeft = Me.Left : nOldWndTop = Me.Top : nClickX = e.X : nClickY = e.Y
  179. End Sub
  180. Private Sub PnlTitleBar_MouseMove(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PnlTitleBar.MouseMove
  181. If PnlTitleBar.Capture = True Then '如果滑鼠按著拖曳
  182. Me.Top = e.Y + nOldWndTop - nClickY : Me.Left = e.X + nOldWndLeft - nClickX '設定新的視窗位置
  183. nOldWndLeft = Me.Left : nOldWndTop = Me.Top '更新紀錄的視窗位置
  184. End If
  185. End Sub
  186. Private Sub 主題_lb_MouseDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 主題_lb.MouseDown
  187. '紀錄滑鼠點選時的視窗位置與滑鼠點選位置
  188. nOldWndLeft = Me.Left : nOldWndTop = Me.Top : nClickX = e.X : nClickY = e.Y
  189. End Sub
  190. Private Sub 主題_lb_MouseMove(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 主題_lb.MouseMove
  191. If 主題_lb.Capture = True Then '如果滑鼠按著拖曳
  192. Me.Top = e.Y + nOldWndTop - nClickY : Me.Left = e.X + nOldWndLeft - nClickX '設定新的視窗位置
  193. nOldWndLeft = Me.Left : nOldWndTop = Me.Top '更新紀錄的視窗位置
  194. End If
  195. End Sub
  196. End Class