545 lines
21 KiB
VB.net
545 lines
21 KiB
VB.net
|
|
Public Class form_QuerySim
|
|||
|
|
Dim m_Table As New System.Data.DataTable
|
|||
|
|
Dim m_QuickMode As Boolean = True
|
|||
|
|
Dim m_TotalCount As Integer = 0
|
|||
|
|
Dim m_MaxIndex As Integer = 0
|
|||
|
|
Dim m_MinIndex As Integer = 0
|
|||
|
|
Dim m_CurSelItem_Col As Integer = 0
|
|||
|
|
Dim m_CurSelItem_Row As Integer = 0
|
|||
|
|
Dim m_InitOver As Boolean = False
|
|||
|
|
|
|||
|
|
Dim m_Cell_Enable_Edit As Boolean = False
|
|||
|
|
|
|||
|
|
Dim m_PartNumber As New CPartNumber
|
|||
|
|
|
|||
|
|
|
|||
|
|
Public Function GetLikeString(ByVal likestr As String) As String
|
|||
|
|
Dim rString As String = ""
|
|||
|
|
Dim ch As Char
|
|||
|
|
For i As Integer = 1 To likestr.Length
|
|||
|
|
ch = Strings.GetChar(likestr, i)
|
|||
|
|
If ch = "%" OrElse ch = "_" OrElse ch = "/" Then
|
|||
|
|
rString &= "/"
|
|||
|
|
End If
|
|||
|
|
rString &= ch
|
|||
|
|
Next
|
|||
|
|
|
|||
|
|
Return rString
|
|||
|
|
End Function
|
|||
|
|
|
|||
|
|
Private Sub QueryData()
|
|||
|
|
Dim strSQL As String = "SELECT `" &
|
|||
|
|
CPartNumber.m_COLS_NAME(CPartNumber.COLS.料号PN) & "`,`" &
|
|||
|
|
CPartNumber.m_COLS_NAME(CPartNumber.COLS.物料名称) & "`,`" &
|
|||
|
|
CPartNumber.m_COLS_NAME(CPartNumber.COLS.规格描述) & "`,`" &
|
|||
|
|
CPartNumber.m_COLS_NAME(CPartNumber.COLS.单位) & "`,`" &
|
|||
|
|
CPartNumber.m_COLS_NAME(CPartNumber.COLS.单重) & "`,`" &
|
|||
|
|
CPartNumber.m_COLS_NAME(CPartNumber.COLS.供应商ID) & "`"
|
|||
|
|
strSQL &= " FROM `" & CPartNumber.cst_TABLE_NAME & "`"
|
|||
|
|
|
|||
|
|
Dim oper_idx As Integer = combo_Operate.SelectedIndex
|
|||
|
|
If combo_Operate.Text.Length > 0 AndAlso
|
|||
|
|
combo_Section.Text.Length > 0 AndAlso
|
|||
|
|
tb_Value.Text.Length > 0 Then
|
|||
|
|
|
|||
|
|
Dim oper_str As String = rel_Operator(oper_idx, 1)
|
|||
|
|
Dim isescape As Boolean = CBool(rel_Operator(oper_idx, 3))
|
|||
|
|
Dim str_Value As String = tb_Value.Text
|
|||
|
|
If isescape = True Then
|
|||
|
|
str_Value = GetLikeString(tb_Value.Text)
|
|||
|
|
End If
|
|||
|
|
|
|||
|
|
strSQL &= " WHERE `" & combo_Section.Text & "` " &
|
|||
|
|
" COLLATE gbk_chinese_ci " &
|
|||
|
|
rel_Operator(oper_idx, 1) &
|
|||
|
|
str_Value &
|
|||
|
|
rel_Operator(oper_idx, 2)
|
|||
|
|
|
|||
|
|
If isescape = True Then
|
|||
|
|
strSQL &= " escape '/'"
|
|||
|
|
End If
|
|||
|
|
|
|||
|
|
End If
|
|||
|
|
|
|||
|
|
SQL_Query(COL_RIGHTS.料号管理, strSQL, m_Table)
|
|||
|
|
End Sub
|
|||
|
|
|
|||
|
|
Private Sub SetDataBinding()
|
|||
|
|
If Not m_Table Is Nothing Then
|
|||
|
|
m_Table.Dispose()
|
|||
|
|
End If
|
|||
|
|
m_Table = New DataTable
|
|||
|
|
|
|||
|
|
If m_QuickMode = True Then
|
|||
|
|
QueryData_Quick()
|
|||
|
|
Else
|
|||
|
|
QueryData()
|
|||
|
|
End If
|
|||
|
|
|
|||
|
|
Grid1.DisplayRowNumber = True
|
|||
|
|
Grid1.AllowUserSort = True
|
|||
|
|
Grid1.DisplayFocusRect = False
|
|||
|
|
Grid1.ExtendLastCol = True
|
|||
|
|
Grid1.DisplayRowArrow = True
|
|||
|
|
Grid1.BoldFixedCell = False
|
|||
|
|
Grid1.SortIndicatorStyle = FlexCell.SortIndicatorStyleEnum.Light3D
|
|||
|
|
|
|||
|
|
Grid1.SetDataBinding(m_Table, "", True, 1)
|
|||
|
|
|
|||
|
|
CGirdInfo.LoadGridInfo("料号查询", Grid1)
|
|||
|
|
Grid1.AllowUserSort = True
|
|||
|
|
|
|||
|
|
Grid1.Locked = True
|
|||
|
|
End Sub
|
|||
|
|
|
|||
|
|
Private Sub bt_Query_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_Query.Click
|
|||
|
|
m_QuickMode = False
|
|||
|
|
SetDataBinding()
|
|||
|
|
End Sub
|
|||
|
|
|
|||
|
|
Private Sub form_QuerySim_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
|
|||
|
|
Me.Width = My.Settings.FORM_QUERYSIM_WIDHT
|
|||
|
|
Me.Height = My.Settings.FORM_QUERYSIM_HEIGHT
|
|||
|
|
Me.WindowState = My.Settings.FORM_QUERYSIM_WINSTATE
|
|||
|
|
Me.Left = My.Settings.FORM_QUERYSIM_X
|
|||
|
|
Me.Top = My.Settings.FORM_QUERYSIM_Y
|
|||
|
|
|
|||
|
|
lbl_ImageReading.Visible = False
|
|||
|
|
lbl_NoImage.Visible = False
|
|||
|
|
|
|||
|
|
bt_Del.Enabled = False
|
|||
|
|
|
|||
|
|
If CBool(Current_Rights(COL_RIGHTS.料号管理) And RIGHTS.READ) = False Then
|
|||
|
|
bt_Query.Enabled = False
|
|||
|
|
bt_QueryQuick.Enabled = False
|
|||
|
|
End If
|
|||
|
|
|
|||
|
|
If CBool(Current_Rights(COL_RIGHTS.料号管理) And RIGHTS.MANAGE) = True Then
|
|||
|
|
bt_Del.Enabled = True
|
|||
|
|
End If
|
|||
|
|
|
|||
|
|
combo_Operate.Items.Clear()
|
|||
|
|
|
|||
|
|
For i As Integer = 0 To (rel_Operator.Length / 4 - 1)
|
|||
|
|
combo_Operate.Items.Add(rel_Operator(i, 0))
|
|||
|
|
Next
|
|||
|
|
|
|||
|
|
m_InitOver = True
|
|||
|
|
End Sub
|
|||
|
|
|
|||
|
|
Private Sub QueryData_Quick()
|
|||
|
|
Dim strSQL As String = "SELECT `" &
|
|||
|
|
CPartNumber.m_COLS_NAME(CPartNumber.COLS.料号PN) & "`,`" &
|
|||
|
|
CPartNumber.m_COLS_NAME(CPartNumber.COLS.物料名称) & "`,`" &
|
|||
|
|
CPartNumber.m_COLS_NAME(CPartNumber.COLS.规格描述) & "`,`" &
|
|||
|
|
CPartNumber.m_COLS_NAME(CPartNumber.COLS.单位) & "`,`" &
|
|||
|
|
CPartNumber.m_COLS_NAME(CPartNumber.COLS.单重) & "`,`" &
|
|||
|
|
CPartNumber.m_COLS_NAME(CPartNumber.COLS.供应商ID) & "`, `" &
|
|||
|
|
CPartNumber.m_COLS_NAME(CPartNumber.COLS.序号) & "`"
|
|||
|
|
strSQL &= " FROM `" & CPartNumber.cst_TABLE_NAME & "`"
|
|||
|
|
|
|||
|
|
If tb_PartNumber.Text.Length > 0 OrElse
|
|||
|
|
tb_Name.Text.Length > 0 OrElse
|
|||
|
|
tb_Desc.Text.Length > 0 OrElse
|
|||
|
|
ckb_Pn_Inhaos.Checked = True OrElse
|
|||
|
|
ckb_PnJohao.Checked = True Then
|
|||
|
|
|
|||
|
|
strSQL &= " WHERE "
|
|||
|
|
|
|||
|
|
Dim strSplit() As String
|
|||
|
|
Dim firstLike As Boolean = True
|
|||
|
|
If tb_PartNumber.Text.Length > 0 Then
|
|||
|
|
strSplit = Split(tb_PartNumber.Text, ",")
|
|||
|
|
For i As Integer = 0 To strSplit.Length - 1
|
|||
|
|
If firstLike = True Then
|
|||
|
|
firstLike = False
|
|||
|
|
Else
|
|||
|
|
strSQL &= " AND "
|
|||
|
|
End If
|
|||
|
|
strSQL &= "`" & CPartNumber.m_COLS_NAME(CPartNumber.COLS.料号PN) & "`"
|
|||
|
|
strSQL &= " COLLATE gbk_chinese_ci "
|
|||
|
|
strSQL &= " LIKE '%"
|
|||
|
|
strSQL &= GetLikeString(strSplit(i)) & "%'"
|
|||
|
|
strSQL &= " escape '/'"
|
|||
|
|
Next
|
|||
|
|
End If
|
|||
|
|
|
|||
|
|
If tb_Name.Text.Length > 0 Then
|
|||
|
|
strSplit = Split(tb_Name.Text, ",")
|
|||
|
|
For i As Integer = 0 To strSplit.Length - 1
|
|||
|
|
If firstLike = True Then
|
|||
|
|
firstLike = False
|
|||
|
|
Else
|
|||
|
|
strSQL &= " AND "
|
|||
|
|
End If
|
|||
|
|
strSQL &= "`" & CPartNumber.m_COLS_NAME(CPartNumber.COLS.物料名称) & "`"
|
|||
|
|
strSQL &= " COLLATE gbk_chinese_ci "
|
|||
|
|
strSQL &= " LIKE '%"
|
|||
|
|
strSQL &= GetLikeString(strSplit(i)) & "%'"
|
|||
|
|
strSQL &= " escape '/'"
|
|||
|
|
Next
|
|||
|
|
End If
|
|||
|
|
|
|||
|
|
If tb_Desc.Text.Length > 0 Then
|
|||
|
|
strSplit = Split(tb_Desc.Text, ",")
|
|||
|
|
For i As Integer = 0 To strSplit.Length - 1
|
|||
|
|
If firstLike = True Then
|
|||
|
|
firstLike = False
|
|||
|
|
Else
|
|||
|
|
strSQL &= " AND "
|
|||
|
|
End If
|
|||
|
|
strSQL &= "`" & CPartNumber.m_COLS_NAME(CPartNumber.COLS.规格描述) & "`"
|
|||
|
|
strSQL &= " COLLATE gbk_chinese_ci "
|
|||
|
|
strSQL &= " LIKE '%"
|
|||
|
|
strSQL &= GetLikeString(strSplit(i)) & "%'"
|
|||
|
|
strSQL &= " escape '/'"
|
|||
|
|
Next
|
|||
|
|
End If
|
|||
|
|
|
|||
|
|
Dim customStr As String = ""
|
|||
|
|
If ckb_Pn_Inhaos.Checked Then
|
|||
|
|
customStr &= "`" & CPartNumber.m_COLS_NAME(CPartNumber.COLS.供应商ID) & "` = '02'"
|
|||
|
|
End If
|
|||
|
|
|
|||
|
|
If ckb_PnJohao.Checked Then
|
|||
|
|
If String.IsNullOrEmpty(customStr) = False Then
|
|||
|
|
customStr &= " OR "
|
|||
|
|
customStr &= "`" & CPartNumber.m_COLS_NAME(CPartNumber.COLS.供应商ID) & "` ='01'"
|
|||
|
|
|
|||
|
|
customStr = $"({customStr})"
|
|||
|
|
Else
|
|||
|
|
customStr &= "`" & CPartNumber.m_COLS_NAME(CPartNumber.COLS.供应商ID) & "` ='01'"
|
|||
|
|
End If
|
|||
|
|
End If
|
|||
|
|
|
|||
|
|
If firstLike = True Then
|
|||
|
|
firstLike = False
|
|||
|
|
Else
|
|||
|
|
strSQL &= " AND "
|
|||
|
|
End If
|
|||
|
|
strSQL &= customStr
|
|||
|
|
|
|||
|
|
'If ckb_Pn_Inhaos.Checked Then
|
|||
|
|
' If firstLike = True Then
|
|||
|
|
' firstLike = False
|
|||
|
|
' Else
|
|||
|
|
' strSQL &= " AND "
|
|||
|
|
' End If
|
|||
|
|
' strSQL &= "`" & CPartNumber.m_COLS_NAME(CPartNumber.COLS.供应商ID) & "` = '02'"
|
|||
|
|
'End If
|
|||
|
|
|
|||
|
|
'If ckb_PnJohao.Checked Then
|
|||
|
|
' If firstLike = True Then
|
|||
|
|
' firstLike = False
|
|||
|
|
' Else
|
|||
|
|
' If ckb_Pn_Inhaos.Checked Then
|
|||
|
|
' strSQL &= " or "
|
|||
|
|
' Else
|
|||
|
|
' strSQL &= " AND "
|
|||
|
|
' End If
|
|||
|
|
' End If
|
|||
|
|
' strSQL &= "`" & CPartNumber.m_COLS_NAME(CPartNumber.COLS.供应商ID) & "` ='01'"
|
|||
|
|
'End If
|
|||
|
|
|
|||
|
|
End If
|
|||
|
|
|
|||
|
|
SQL_Query(COL_RIGHTS.料号管理, strSQL, m_Table)
|
|||
|
|
End Sub
|
|||
|
|
|
|||
|
|
Private Function GetTableInformation() As Boolean
|
|||
|
|
Dim m_PartNumber As New CPartNumber
|
|||
|
|
lbl_Information.Text = ""
|
|||
|
|
If m_PartNumber.QueryInformation(m_TotalCount, m_MinIndex, m_MaxIndex) = ERROR_CODE.SUCCESS Then
|
|||
|
|
Return True
|
|||
|
|
Else
|
|||
|
|
m_TotalCount = 0
|
|||
|
|
m_MinIndex = 0
|
|||
|
|
m_MaxIndex = 0
|
|||
|
|
End If
|
|||
|
|
Return False
|
|||
|
|
End Function
|
|||
|
|
|
|||
|
|
Private Sub ShowCurrSelectInformation(ByVal index As Integer)
|
|||
|
|
lbl_Information.Text = "查询条数: " & m_Table.Rows.Count
|
|||
|
|
lbl_Information.Text &= ", 总条数: " & m_TotalCount
|
|||
|
|
lbl_Information.Text &= ", 最小序号: " & m_MinIndex
|
|||
|
|
lbl_Information.Text &= ", 最大序号:" & m_MaxIndex
|
|||
|
|
If index >= 0 Then
|
|||
|
|
lbl_Select.Text = "当前条: " & index
|
|||
|
|
lbl_Select.Text &= ", 当前序号: " & Grid1.Cell(index, 7).Text
|
|||
|
|
Else
|
|||
|
|
lbl_Select.Text = ""
|
|||
|
|
End If
|
|||
|
|
End Sub
|
|||
|
|
|
|||
|
|
Private Sub bt_QueryQuick_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_QueryQuick.Click
|
|||
|
|
Dim tempRowIndex As Integer = 0
|
|||
|
|
|
|||
|
|
Grid1.AutoRedraw = False
|
|||
|
|
|
|||
|
|
m_QuickMode = True
|
|||
|
|
SetDataBinding()
|
|||
|
|
If GetTableInformation() Then
|
|||
|
|
ShowCurrSelectInformation(-1)
|
|||
|
|
End If
|
|||
|
|
|
|||
|
|
For tempRowIndex = 1 To Grid1.Rows - 1
|
|||
|
|
Grid1.Cell(tempRowIndex, 0).ForeColor = Color.Black
|
|||
|
|
Grid1.Cell(tempRowIndex, 1).ForeColor = Color.Black
|
|||
|
|
Grid1.Cell(tempRowIndex, 1).FontBold = False
|
|||
|
|
Next
|
|||
|
|
|
|||
|
|
Grid1.Refresh()
|
|||
|
|
Grid1.AutoRedraw = True
|
|||
|
|
End Sub
|
|||
|
|
|
|||
|
|
Private Sub Grid1_CellChange(Sender As Object, e As FlexCell.Grid.CellChangeEventArgs) Handles Grid1.CellChange
|
|||
|
|
'If m_Cell_Enable_Edit Then MessageBox.Show(e.Col & "," & e.Row)
|
|||
|
|
'Grid1.Row(e.Row). = Color.Red
|
|||
|
|
If m_Cell_Enable_Edit Then
|
|||
|
|
Grid1.Cell(e.Row, e.Col).ForeColor = Color.Red
|
|||
|
|
Grid1.Cell(e.Row, 1).ForeColor = Color.Red
|
|||
|
|
Grid1.Cell(e.Row, 1).FontBold = True
|
|||
|
|
End If
|
|||
|
|
|
|||
|
|
' Grid1.Selection.ForeColor = Color.Red
|
|||
|
|
End Sub
|
|||
|
|
|
|||
|
|
Private Sub Grid1_MouseDoubleClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Grid1.MouseDoubleClick
|
|||
|
|
Try
|
|||
|
|
If e.Button = MouseButtons.Left Then
|
|||
|
|
Dim isHeaderClicked As Boolean = False
|
|||
|
|
Dim row As Integer
|
|||
|
|
|
|||
|
|
'判断是否双击列HEADER
|
|||
|
|
Dim X_Start As Integer = 0
|
|||
|
|
Dim X_End As Integer = X_Start + Grid1.Column(0).Width
|
|||
|
|
If e.X >= X_Start AndAlso e.X <= X_End Then
|
|||
|
|
If e.Y < Grid1.Height Then
|
|||
|
|
row = e.Y \ Grid1.Row(0).Height
|
|||
|
|
|
|||
|
|
If row >= Grid1.Rows Then
|
|||
|
|
Return
|
|||
|
|
End If
|
|||
|
|
|
|||
|
|
If row >= 0 Then
|
|||
|
|
isHeaderClicked = True
|
|||
|
|
End If
|
|||
|
|
End If
|
|||
|
|
End If
|
|||
|
|
|
|||
|
|
If isHeaderClicked = True Then
|
|||
|
|
Dim strCopy As String = ""
|
|||
|
|
For i As Integer = 0 To Grid1.Cols - 1
|
|||
|
|
strCopy &= Grid1.Cell(row, i).Text & vbTab
|
|||
|
|
Next
|
|||
|
|
Clipboard.SetText(strCopy)
|
|||
|
|
Else
|
|||
|
|
row = Grid1.Selection.FirstRow
|
|||
|
|
Dim col As Integer = Grid1.Selection.FirstCol
|
|||
|
|
Grid1.Selection.ClearAll()
|
|||
|
|
If row >= 1 AndAlso col >= 1 Then
|
|||
|
|
Clipboard.SetText(Grid1.Cell(row, col).Text)
|
|||
|
|
End If
|
|||
|
|
End If
|
|||
|
|
End If
|
|||
|
|
|
|||
|
|
Catch ex As Exception
|
|||
|
|
|
|||
|
|
End Try
|
|||
|
|
End Sub
|
|||
|
|
|
|||
|
|
Private Sub Grid1_MouseClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Grid1.MouseClick
|
|||
|
|
m_CurSelItem_Col = -1
|
|||
|
|
m_CurSelItem_Row = -1
|
|||
|
|
|
|||
|
|
If e.Button = MouseButtons.Left Then
|
|||
|
|
Dim isHeaderClicked As Boolean = False
|
|||
|
|
Dim row As Integer
|
|||
|
|
|
|||
|
|
'判断是否双击列HEADER
|
|||
|
|
Dim X_Start As Integer = 0
|
|||
|
|
Dim X_End As Integer = X_Start + Grid1.Column(0).Width
|
|||
|
|
If e.X >= X_Start AndAlso e.X <= X_End Then
|
|||
|
|
If e.Y < Grid1.Height Then
|
|||
|
|
row = e.Y \ Grid1.Row(0).Height
|
|||
|
|
|
|||
|
|
If row >= Grid1.Rows Then
|
|||
|
|
Return
|
|||
|
|
End If
|
|||
|
|
|
|||
|
|
If row >= 0 Then
|
|||
|
|
isHeaderClicked = True
|
|||
|
|
End If
|
|||
|
|
End If
|
|||
|
|
End If
|
|||
|
|
|
|||
|
|
If isHeaderClicked = True Then
|
|||
|
|
Else
|
|||
|
|
row = Grid1.Selection.FirstRow
|
|||
|
|
Dim col As Integer = Grid1.Selection.FirstCol
|
|||
|
|
Grid1.Selection.ClearAll()
|
|||
|
|
If row >= 1 AndAlso col >= 1 Then
|
|||
|
|
m_CurSelItem_Col = col
|
|||
|
|
m_CurSelItem_Row = row
|
|||
|
|
|
|||
|
|
If chkShowImage.Checked = True Then
|
|||
|
|
PictureBox1.BackgroundImage = Nothing
|
|||
|
|
lbl_ImageReading.Visible = True
|
|||
|
|
lbl_NoImage.Visible = False
|
|||
|
|
Application.DoEvents()
|
|||
|
|
If GetItemImage(Grid1.Cell(row, 1).Text) = ERROR_CODE.SUCCESS Then
|
|||
|
|
If PictureBox1.BackgroundImage Is Nothing Then
|
|||
|
|
lbl_NoImage.Visible = True
|
|||
|
|
End If
|
|||
|
|
End If
|
|||
|
|
lbl_ImageReading.Visible = False
|
|||
|
|
End If
|
|||
|
|
End If
|
|||
|
|
End If
|
|||
|
|
End If
|
|||
|
|
End Sub
|
|||
|
|
|
|||
|
|
Private Sub Grid1_SelChange(ByVal Sender As System.Object, ByVal e As FlexCell.Grid.SelChangeEventArgs) Handles Grid1.SelChange
|
|||
|
|
If e.FirstRow >= 1 Then
|
|||
|
|
ShowCurrSelectInformation(e.FirstRow)
|
|||
|
|
End If
|
|||
|
|
End Sub
|
|||
|
|
|
|||
|
|
Private Sub Grid1_ColWidthChange(ByVal Sender As System.Object, ByVal e As FlexCell.Grid.ColWidthChangeEventArgs) Handles Grid1.ColWidthChange
|
|||
|
|
CGirdInfo.SaveGirdInfo("料号查询", Grid1)
|
|||
|
|
End Sub
|
|||
|
|
|
|||
|
|
Private Sub form_QuerySim_Resize(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Resize
|
|||
|
|
If m_InitOver = True Then
|
|||
|
|
My.Settings.FORM_QUERYSIM_WIDHT = Me.Width
|
|||
|
|
My.Settings.FORM_QUERYSIM_HEIGHT = Me.Height
|
|||
|
|
My.Settings.FORM_QUERYSIM_WINSTATE = Me.WindowState
|
|||
|
|
My.Settings.Save()
|
|||
|
|
End If
|
|||
|
|
End Sub
|
|||
|
|
|
|||
|
|
Private Sub form_QuerySim_LocationChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.LocationChanged
|
|||
|
|
If m_InitOver = True Then
|
|||
|
|
My.Settings.FORM_QUERYSIM_X = Me.Left
|
|||
|
|
My.Settings.FORM_QUERYSIM_Y = Me.Top
|
|||
|
|
My.Settings.Save()
|
|||
|
|
End If
|
|||
|
|
End Sub
|
|||
|
|
|
|||
|
|
Private Function GetItemImage(ByVal strPN As String) As ERROR_CODE
|
|||
|
|
tb_Name.Text = ""
|
|||
|
|
PictureBox1.BackgroundImage = Nothing
|
|||
|
|
|
|||
|
|
Dim strSQL As String = "SELECT 图片 FROM " & CPartNumber.cst_TABLE_NAME & " WHERE "
|
|||
|
|
strSQL &= CPartNumber.m_COLS_NAME(CPartNumber.COLS.料号PN) & " = '" & strPN & "'"
|
|||
|
|
|
|||
|
|
Dim 图片(0) As Byte
|
|||
|
|
Dim rValueTable(0) As Object
|
|||
|
|
If SQL_DataReader(COL_RIGHTS.料号管理, strSQL, rValueTable) = True Then
|
|||
|
|
图片 = rValueTable(0)
|
|||
|
|
|
|||
|
|
PictureBox1.BackgroundImage = GetImageFromBytes(图片)
|
|||
|
|
|
|||
|
|
Return ERROR_CODE.SUCCESS
|
|||
|
|
End If
|
|||
|
|
|
|||
|
|
Return ERROR_CODE.ACCESS
|
|||
|
|
End Function
|
|||
|
|
|
|||
|
|
Private Function DeleteItem(ByVal strPN As String) As ERROR_CODE
|
|||
|
|
tb_Name.Text = ""
|
|||
|
|
PictureBox1.BackgroundImage = Nothing
|
|||
|
|
'DELETE FROM 料号表 WHERE 料号PN = 'U01-C8051F321-MLP28'
|
|||
|
|
Dim strSQL As String = "DELETE FROM " & CPartNumber.cst_TABLE_NAME & " WHERE "
|
|||
|
|
strSQL &= CPartNumber.m_COLS_NAME(CPartNumber.COLS.料号PN) & " = '" & strPN & "'"
|
|||
|
|
|
|||
|
|
If SQL_ExeCommand(COL_RIGHTS.料号管理, strSQL) = True Then
|
|||
|
|
Return ERROR_CODE.SUCCESS
|
|||
|
|
End If
|
|||
|
|
|
|||
|
|
Return ERROR_CODE.ACCESS
|
|||
|
|
End Function
|
|||
|
|
|
|||
|
|
|
|||
|
|
Private Sub chkShowImage_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles chkShowImage.CheckedChanged
|
|||
|
|
If chkShowImage.Checked = False Then
|
|||
|
|
PictureBox1.BackgroundImage = Nothing
|
|||
|
|
End If
|
|||
|
|
End Sub
|
|||
|
|
|
|||
|
|
Private Sub bt_Del_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_Del.Click
|
|||
|
|
If m_CurSelItem_Col >= 1 AndAlso m_CurSelItem_Row >= 1 Then '如果选择有效则删除
|
|||
|
|
Dim strPN As String = Grid1.Cell(m_CurSelItem_Row, 1).Text
|
|||
|
|
If MessageBox.Show("请确认删除料号: '" & strPN & "'", "料号删除", MessageBoxButtons.OKCancel) = DialogResult.OK Then
|
|||
|
|
If DeleteItem(strPN) = ERROR_CODE.SUCCESS Then
|
|||
|
|
MsgBox("删除料号: '" & strPN & "' 成功!")
|
|||
|
|
Else
|
|||
|
|
MsgBox("删除料号: '" & strPN & "' 失败!")
|
|||
|
|
End If
|
|||
|
|
|
|||
|
|
bt_QueryQuick.PerformClick()
|
|||
|
|
End If
|
|||
|
|
End If
|
|||
|
|
End Sub
|
|||
|
|
|
|||
|
|
Private Sub btn_Avtive_Click(sender As Object, e As EventArgs) Handles btn_Avtive.Click
|
|||
|
|
If Grid1.Locked = True Then
|
|||
|
|
Grid1.Locked = False
|
|||
|
|
btn_Avtive.Text = "锁定编辑"
|
|||
|
|
btn_Avtive.BackColor = Color.Green
|
|||
|
|
m_Cell_Enable_Edit = True
|
|||
|
|
Grid1.Column(1).Locked = True '锁定料号列
|
|||
|
|
Grid1.Column(7).Locked = True '锁定序列号列
|
|||
|
|
Else
|
|||
|
|
Grid1.Locked = True
|
|||
|
|
btn_Avtive.Text = "激活编辑"
|
|||
|
|
btn_Avtive.BackColor = Color.Red
|
|||
|
|
m_Cell_Enable_Edit = False
|
|||
|
|
End If
|
|||
|
|
End Sub
|
|||
|
|
Private Sub btn_SaveChange_Click(sender As Object, e As EventArgs) Handles btn_SaveChange.Click
|
|||
|
|
Dim tempRowIndex As Integer = 0
|
|||
|
|
Dim tb_PartNumber_Text As String = ""
|
|||
|
|
Dim tb_Name_Text As String = ""
|
|||
|
|
Dim tb_Descr_Text As String = ""
|
|||
|
|
Dim combo_Unit_Text As String = ""
|
|||
|
|
Dim num_Weight_Value As String = ""
|
|||
|
|
Dim strSupplierID As String = ""
|
|||
|
|
Dim SavedCount As Integer = 0
|
|||
|
|
Dim ChangeCount As Integer = 0
|
|||
|
|
|
|||
|
|
Dim result As ERROR_CODE
|
|||
|
|
|
|||
|
|
For tempRowIndex = 0 To Grid1.Rows - 1
|
|||
|
|
If Grid1.Cell(tempRowIndex, 1).ForeColor = Color.Red Then '判断数据修改过
|
|||
|
|
'MessageBox.Show(tempRowIndex)
|
|||
|
|
ChangeCount = ChangeCount + 1
|
|||
|
|
'保存料号
|
|||
|
|
tb_PartNumber_Text = Grid1.Cell(tempRowIndex, 1).Text
|
|||
|
|
tb_Name_Text = Grid1.Cell(tempRowIndex, 2).Text
|
|||
|
|
tb_Descr_Text = Grid1.Cell(tempRowIndex, 3).Text
|
|||
|
|
combo_Unit_Text = Grid1.Cell(tempRowIndex, 4).Text
|
|||
|
|
num_Weight_Value = Grid1.Cell(tempRowIndex, 5).Text
|
|||
|
|
strSupplierID = Grid1.Cell(tempRowIndex, 6).Text
|
|||
|
|
|
|||
|
|
result = m_PartNumber.UpdateItem(tb_PartNumber_Text, tb_Name_Text, tb_Descr_Text, combo_Unit_Text, num_Weight_Value, Nothing, strSupplierID)
|
|||
|
|
|
|||
|
|
If result = ERROR_CODE.SUCCESS Then
|
|||
|
|
If chk_MsgForSaveItembyItem.Checked Then MsgBox("第 " & tempRowIndex & " 行保存成功!")
|
|||
|
|
Grid1.Cell(tempRowIndex, 1).ForeColor = Color.Green
|
|||
|
|
SavedCount = SavedCount + 1
|
|||
|
|
ElseIf result = ERROR_CODE.NORIGHT Then
|
|||
|
|
MsgBox("保存失败: ""无访问权限!""")
|
|||
|
|
Else
|
|||
|
|
MsgBox("保存失败: 请检查网络连接或联系管理员!")
|
|||
|
|
End If
|
|||
|
|
End If
|
|||
|
|
Next
|
|||
|
|
MsgBox("保存完成,共有 " & ChangeCount & " 项修改!共有 " & SavedCount & " 项保存成功!")
|
|||
|
|
|
|||
|
|
End Sub
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
End Class
|