Public Class 系統使用者管理 Private Sub Set_OD人員表() Dim ds1 As New DataSet 清單1_dgv.DataSource = Nothing : ds1.Clear() 清單1_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing 清單1_dgv.ColumnHeadersHeight = 40 清單1_dgv.AllowUserToAddRows = False SQL_OD人員表() da.Fill(ds1) : 清單1_dgv.DataSource = ds1.Tables(0) : conn.Close() 清單1_dgv.Columns(0).FillWeight = 30 : 清單1_dgv.Columns(1).FillWeight = 60 : 清單1_dgv.Columns(2).FillWeight = 60 : 清單1_dgv.Columns(3).FillWeight = 60 For I As Integer = 0 To 清單1_dgv.Rows.Count - 1 : 清單1_dgv.Rows(I).Cells(0).Value = I + 1 : Next End Sub Private Sub Set_外掛人員表() Dim ds1 As New DataSet 清單2_dgv.DataSource = Nothing : ds1.Clear() 清單2_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing 清單2_dgv.ColumnHeadersHeight = 40 清單2_dgv.AllowUserToAddRows = False SQL_外掛使用者() da1.Fill(ds1) : 清單2_dgv.DataSource = ds1.Tables(0) : conn1.Close() 清單2_dgv.Columns(1).FillWeight = 60 : 清單2_dgv.Columns(2).FillWeight = 60 : 清單2_dgv.Columns(0).FillWeight = 60 For I As Integer = 3 To 13 : 清單2_dgv.Columns(I).Visible = False : Next End Sub Private Sub 系統使用者管理_Load(sender As Object, e As EventArgs) Handles MyBase.Load Me.MdiParent = HT_ERP_SELLINGPI : Me.WindowState = 2 : Me.AutoScroll = True Set_OD人員表() : Set_外掛人員表() End Sub Private Sub 清單1_dgv_RowPostPaint(ByVal sender As Object, ByVal e As DataGridViewRowPostPaintEventArgs) Handles 清單1_dgv.RowPostPaint Dim linePen As New Pen(Color.Blue, 2) If e.RowIndex = 清單1_dgv.Rows.Count - 1 Then Exit Sub Else If 清單1_dgv(1, e.RowIndex).Value.ToString <> 清單1_dgv(1, e.RowIndex + 1).Value.ToString Then Dim startX As Integer = IIf(清單1_dgv.RowHeadersVisible, 清單1_dgv.RowHeadersWidth, 0) Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1 Dim endX As Integer = startX + 清單1_dgv.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - 清單1_dgv.HorizontalScrollingOffset e.Graphics.DrawLine(linePen, startX, startY, endX, startY) Exit Sub End If End If End Sub Private Sub 清單2_dgv_RowPostPaint(ByVal sender As Object, ByVal e As DataGridViewRowPostPaintEventArgs) Handles 清單2_dgv.RowPostPaint Dim linePen As New Pen(Color.Blue, 2) If e.RowIndex = 清單2_dgv.Rows.Count - 1 Then Exit Sub Else If 清單2_dgv(0, e.RowIndex).Value.ToString <> 清單2_dgv(0, e.RowIndex + 1).Value.ToString Then Dim startX As Integer = IIf(清單2_dgv.RowHeadersVisible, 清單2_dgv.RowHeadersWidth, 0) Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1 Dim endX As Integer = startX + 清單2_dgv.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - 清單2_dgv.HorizontalScrollingOffset e.Graphics.DrawLine(linePen, startX, startY, endX, startY) Exit Sub End If End If End Sub Private Sub 清單1_dgv_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles 清單1_dgv.CellClick If e.RowIndex = -1 Then : Else 部門_tb.Text = 清單1_dgv.Rows(e.RowIndex).Cells(1).Value.ToString : 姓名_tb.Text = 清單1_dgv.Rows(e.RowIndex).Cells(2).Value.ToString 帳號_tb.Text = 清單1_dgv.Rows(e.RowIndex).Cells(3).Value.ToString If 清單2_dgv.Rows.Count > 0 Then lastFoundRowIndex = -1 : lastFoundColIndex = -1 : 查詢DGV中的關鍵字(清單2_dgv, 帳號_tb) If lastFoundRowIndex <> -1 Then CheckBox1.Checked = 清單2_dgv.Rows(lastFoundRowIndex).Cells(3).Value : CheckBox2.Checked = 清單2_dgv.Rows(lastFoundRowIndex).Cells(4).Value CheckBox3.Checked = 清單2_dgv.Rows(lastFoundRowIndex).Cells(5).Value : CheckBox4.Checked = 清單2_dgv.Rows(lastFoundRowIndex).Cells(6).Value CheckBox5.Checked = 清單2_dgv.Rows(lastFoundRowIndex).Cells(7).Value : CheckBox6.Checked = 清單2_dgv.Rows(lastFoundRowIndex).Cells(8).Value CheckBox7.Checked = 清單2_dgv.Rows(lastFoundRowIndex).Cells(9).Value : CheckBox8.Checked = 清單2_dgv.Rows(lastFoundRowIndex).Cells(10).Value CheckBox9.Checked = 清單2_dgv.Rows(lastFoundRowIndex).Cells(11).Value : CheckBox10.Checked = 清單2_dgv.Rows(lastFoundRowIndex).Cells(12).Value CheckBox11.Checked = 清單2_dgv.Rows(lastFoundRowIndex).Cells(13).Value Else CheckBox1.Checked = False : CheckBox2.Checked = False : CheckBox3.Checked = False : CheckBox4.Checked = False : CheckBox5.Checked = False CheckBox6.Checked = False : CheckBox7.Checked = False : CheckBox8.Checked = False : CheckBox9.Checked = False : CheckBox10.Checked = False CheckBox11.Checked = False End If End If End If End Sub Private Sub 清單2_dgv_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles 清單2_dgv.CellClick If e.RowIndex = -1 Then : Else 部門_tb.Text = 清單2_dgv.Rows(e.RowIndex).Cells(0).Value.ToString : 姓名_tb.Text = 清單2_dgv.Rows(e.RowIndex).Cells(1).Value.ToString 帳號_tb.Text = 清單2_dgv.Rows(e.RowIndex).Cells(2).Value.ToString CheckBox1.Checked = 清單2_dgv.Rows(e.RowIndex).Cells(3).Value : CheckBox2.Checked = 清單2_dgv.Rows(e.RowIndex).Cells(4).Value CheckBox3.Checked = 清單2_dgv.Rows(e.RowIndex).Cells(5).Value : CheckBox4.Checked = 清單2_dgv.Rows(e.RowIndex).Cells(6).Value CheckBox5.Checked = 清單2_dgv.Rows(e.RowIndex).Cells(7).Value : CheckBox6.Checked = 清單2_dgv.Rows(e.RowIndex).Cells(8).Value CheckBox7.Checked = 清單2_dgv.Rows(e.RowIndex).Cells(9).Value : CheckBox8.Checked = 清單2_dgv.Rows(e.RowIndex).Cells(10).Value CheckBox9.Checked = 清單2_dgv.Rows(e.RowIndex).Cells(11).Value : CheckBox10.Checked = 清單2_dgv.Rows(e.RowIndex).Cells(12).Value CheckBox11.Checked = 清單2_dgv.Rows(e.RowIndex).Cells(13).Value End If End Sub Private Sub Button1_Click(sender As Object, e As EventArgs) Handles 重新讀取_bt.Click Set_OD人員表() : Set_外掛人員表() End Sub Private Sub 新增_bt_Click(sender As Object, e As EventArgs) Handles 新增_bt.Click If 帳號_tb.Text = "" Then : MsgBox("沒有資料,請先在ODOO的資料表裡面選擇要加入啟用外掛的人員!!") : Else SQL_可用外掛人員新增(部門_tb.Text, 姓名_tb.Text, 帳號_tb.Text, CheckBox1.Checked, CheckBox2.Checked, CheckBox3.Checked, CheckBox4.Checked, CheckBox5.Checked, CheckBox6.Checked, CheckBox7.Checked, CheckBox8.Checked, CheckBox9.Checked, CheckBox10.Checked, CheckBox11.Checked) 重新讀取_bt.PerformClick() End If End Sub Private Sub 修改_bt_Click(sender As Object, e As EventArgs) Handles 修改_bt.Click If 帳號_tb.Text = "" Then : MsgBox("沒有資料,請先在外掛系統資料表中選擇人員!!") : Else SQL_可用外掛人員修改(部門_tb.Text, 姓名_tb.Text, 帳號_tb.Text, CheckBox1.Checked, CheckBox2.Checked, CheckBox3.Checked, CheckBox4.Checked, CheckBox5.Checked, CheckBox6.Checked, CheckBox7.Checked, CheckBox8.Checked, CheckBox9.Checked, CheckBox10.Checked, CheckBox11.Checked) 重新讀取_bt.PerformClick() End If End Sub Private Sub 刪除_bt_Click(sender As Object, e As EventArgs) Handles 刪除_bt.Click If 帳號_tb.Text = "" Then : MsgBox("沒有資料,請先在外掛系統資料表中選擇人員!!") : Else SQL_可用外掛人員刪除(帳號_tb.Text) 重新讀取_bt.PerformClick() End If End Sub End Class