565 lines
24 KiB
VB.net
565 lines
24 KiB
VB.net
Imports DevExpress.XtraScheduler
|
|
Imports System.IO
|
|
Imports WINDREAMLib
|
|
|
|
Public Class frmQuickEdit
|
|
|
|
|
|
|
|
#Region "+++++ Konstanten +++++"
|
|
'Private akt_ctrl As Control
|
|
Private thisformid As Integer = Nothing
|
|
Private SelectedRecordID As Integer = 0
|
|
Private SelectedFormID As Integer = Nothing
|
|
Private m_Moving As Boolean = False
|
|
Private insert = False
|
|
'Private Shared _Instance As frmFormInput = Nothing
|
|
'Public Shared Function Instance() As frmFormInput
|
|
' If _Instance Is Nothing OrElse _Instance.IsDisposed = True Then
|
|
' _Instance = New frmFormInput
|
|
' End If
|
|
' _Instance.BringToFront()
|
|
' Return _Instance
|
|
'End Function
|
|
|
|
#End Region
|
|
|
|
|
|
Public Sub SetFormTitles(title As String)
|
|
Me.Text = title
|
|
' BindingNavigatorCountItem.Text = BindingNavigatorCountItem.Text.Replace("Datensätzen", title)
|
|
End Sub
|
|
|
|
#Region "+++++ Form Events +++++"
|
|
Public Sub LoadOverview_Grid()
|
|
Try
|
|
'Load Input Grid
|
|
Dim _sqlGrid As String = "SELECT * FROM VWTEMP_PMO_FORM" & thisformid ' "SELECT SQL_COMMAND FROM TBPMO_FORM_SQL WHERE FORM_ID = " & thisformid
|
|
Dim dt As DataTable = ClassDatabase.Return_Datatable(_sqlGrid)
|
|
If dt Is Nothing = False Then
|
|
If dt.Rows.Count > 0 Then
|
|
'BindingSource for Navigator
|
|
Me.BindingSourceDGV.DataSource = dt
|
|
'bind Datatable to bindingsource
|
|
Me.dgvInput.DataSource = Me.BindingSourceDGV
|
|
'Me.dgvOverview.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells)
|
|
Else
|
|
MsgBox("No entries for actual Form. Pleas insert the first values.", MsgBoxStyle.Exclamation)
|
|
End If
|
|
End If
|
|
|
|
|
|
Catch ex As Exception
|
|
MsgBox("Error in Load Overview Grid:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
|
|
End Try
|
|
|
|
End Sub
|
|
|
|
Private Sub frmLevel_Designer_Load(sender As Object, e As EventArgs) Handles Me.Load
|
|
Try
|
|
|
|
|
|
Me.VWPMO_CONTROL_SCREENTableAdapter.Connection.ConnectionString = MyConnectionString
|
|
Me.TBPMO_RECORDTableAdapter.Connection.ConnectionString = MyConnectionString
|
|
Me.VWPMO_CONTROL_SCREENTableAdapter.Fill(Me.DD_DMSDataSet.VWPMO_CONTROL_SCREEN, CURRENT_FORM_ID)
|
|
|
|
|
|
CtrlBuilder = New ClassControlBuilder(pnlView,
|
|
AddressOf Control_MouseDown,
|
|
AddressOf Control_MouseUp,
|
|
AddressOf Control_MouseMove,
|
|
AddressOf Control_Click,
|
|
AddressOf Groupbox_DragDrop)
|
|
|
|
CtrlCommandUI = New ClassControlCommandsUI(CtrlBuilder,
|
|
ContextMenuStrip1,
|
|
AddressOf NewEditAppointment,
|
|
AddressOf OpenFormData)
|
|
|
|
If ClassDatabase.Init = True Then
|
|
LoadOverview_Grid()
|
|
LoadFormProperties()
|
|
'LoadControls()
|
|
CtrlCommandUI.LoadControls(CURRENT_FORM_ID)
|
|
LoadInitialValues()
|
|
FocusedRow_Change()
|
|
End If
|
|
|
|
ClassWindowLocation.LoadFormLocationSize(Me, CURRENT_FORM_ID, CURRENT_SCREEN_ID)
|
|
|
|
Catch ex As System.Exception
|
|
System.Windows.Forms.MessageBox.Show(ex.Message)
|
|
End Try
|
|
|
|
|
|
|
|
End Sub
|
|
|
|
Private Sub HandleToolTip(sender As Object, e As EventArgs)
|
|
Console.WriteLine("show tooltip")
|
|
End Sub
|
|
#End Region
|
|
|
|
#Region "+++++ Layout +++++"
|
|
Private Sub frmFormInput_Shown(sender As Object, e As EventArgs) Handles Me.Shown
|
|
LoadLayout()
|
|
End Sub
|
|
|
|
Private Sub frmLevel_Designer_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing
|
|
Try
|
|
SaveLayout()
|
|
ClassWindowLocation.SaveFormLocationSize(Me, thisformid, CURRENT_SCREEN_ID)
|
|
My.Settings.Save()
|
|
|
|
'frmForm_Overview.Instance.Show()
|
|
'frmTool_ControlProperties.Instance.Close()
|
|
'frmTool_ControlDesigner.Instance.Close()
|
|
Catch ex As Exception
|
|
|
|
End Try
|
|
End Sub
|
|
|
|
Public Sub LoadLayout()
|
|
|
|
Try
|
|
'DataGridView Layout laden
|
|
Dim XMLPath = System.IO.Path.Combine(Application.UserAppDataPath(), "SCREEN" & CURRENT_SCREEN_ID & "-FORM" & thisformid & "-UserLayout.xml")
|
|
dgvInput.MainView.RestoreLayoutFromXml(XMLPath)
|
|
|
|
|
|
'Splitter Layout laden
|
|
Dim LayoutPath = Path.Combine(Application.UserAppDataPath(), "SCREEN" & CURRENT_SCREEN_ID & "-FORM" & thisformid & "-SplitterLayout.xml")
|
|
|
|
Dim layout As ClassLayout = New ClassLayout(LayoutPath)
|
|
Dim settings As System.Collections.Generic.List(Of ClassSetting)
|
|
settings = layout.Load()
|
|
|
|
If settings.Count = 0 Then
|
|
settings.Add(New ClassSetting("SplitContainerMain", SplitContainerMain.SplitterDistance))
|
|
layout.Save(settings)
|
|
End If
|
|
|
|
For Each s As ClassSetting In settings
|
|
Select Case s._name
|
|
Case "SplitContainerMain"
|
|
SplitContainerMain.SplitterDistance = Integer.Parse(s._value)
|
|
End Select
|
|
Next
|
|
Catch notFoundEx As System.IO.FileNotFoundException
|
|
ClassLogger.Add("Layout added for Screen " & CURRENT_SCREEN_ID & ", Form " & thisformid)
|
|
Catch ex As Exception
|
|
MsgBox("Error while loading Layout!" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
|
|
End Try
|
|
|
|
End Sub
|
|
|
|
|
|
Public Sub SaveLayout()
|
|
Try
|
|
'DataGridView Layout speichern
|
|
Dim XMLPath = System.IO.Path.Combine(Application.UserAppDataPath(), "SCREEN" & CURRENT_SCREEN_ID & "-FORM" & thisformid & "-UserLayout.xml")
|
|
dgvInput.MainView.SaveLayoutToXml(XMLPath)
|
|
|
|
'Splitter Layout speichern
|
|
Dim LayoutPath = Path.Combine(Application.UserAppDataPath(), "SCREEN" & CURRENT_SCREEN_ID & "-FORM" & thisformid & "-SplitterLayout.xml")
|
|
|
|
Dim layout As ClassLayout = New ClassLayout(LayoutPath)
|
|
Dim settings As System.Collections.Generic.List(Of ClassSetting) = New System.Collections.Generic.List(Of ClassSetting)
|
|
settings.Add(New ClassSetting("SplitContainerMain", SplitContainerMain.SplitterDistance))
|
|
layout.Save(settings)
|
|
Catch ex As Exception
|
|
MsgBox("Error while saving Layout!" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
|
|
End Try
|
|
|
|
End Sub
|
|
|
|
|
|
#End Region
|
|
|
|
#Region "+++++ Load Funktionen +++++"
|
|
Public Sub LoadFormProperties()
|
|
'Dim NAME_SQL As String = "SELECT NAME FROM TBPMO_FORM WHERE GUID = " & CURRENT_FORM_ID
|
|
Dim TITLE_SQL As String = "SELECT FORM_TITLE FROM TBPMO_FORM_VIEW WHERE FORM_ID = " & thisformid
|
|
'Dim name = ClassDatabase.Execute_Scalar(NAME_SQL)
|
|
Dim title = ClassDatabase.Execute_Scalar(TITLE_SQL)
|
|
|
|
'SetFormName(name)
|
|
SetFormTitles("Schnelleingabe - " & title)
|
|
End Sub
|
|
|
|
Sub LoadInitialValues()
|
|
Dim controls As System.Windows.Forms.Control.ControlCollection = pnlView.Controls
|
|
|
|
For Each control As Control In controls
|
|
Dim CONTROL_ID As Integer = GetControlID_for_RecordID(control.Name, 1)
|
|
|
|
If (CONTROL_ID <> -1) Then
|
|
Load_Value(1, CONTROL_ID, control)
|
|
End If
|
|
Next
|
|
End Sub
|
|
|
|
'Private Function GetControlID(recID As Integer, control As Control) As Integer
|
|
' Try
|
|
' Dim ID As Integer = ClassDatabase.Execute_Scalar("SELECT CONTROL_ID FROM VWPMO_VALUES WHERE RECORD_ID = " & recID & " and CONTROL_NAME = '" & control.Name & "'")
|
|
' If ID > 0 Then
|
|
' Return ID
|
|
' Else
|
|
' Return -1
|
|
' End If
|
|
' Catch ex As Exception
|
|
' MsgBox("Error in GetControlID:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
|
|
' End Try
|
|
'End Function
|
|
|
|
Private Sub Load_Value(recID As Integer, CONTROLID As Integer, control As Control)
|
|
Try
|
|
Dim sq = "SELECT * FROM VWPMO_VALUES WHERE RECORD_ID = " & recID & " and CONTROL_ID = " & CONTROLID
|
|
Dim DT As DataTable = ClassDatabase.Return_Datatable(sq)
|
|
Dim result = DT.Rows(0).Item("VALUE")
|
|
Select Case DT.Rows(0).Item("CONTROL_TYPE_ID")
|
|
Case 2 ' TextBox
|
|
Dim textbox As TextBox = DirectCast(control, TextBox)
|
|
textbox.Text = result
|
|
Case 10 ' CheckBox
|
|
Dim checkbox As CheckBox = DirectCast(control, CheckBox)
|
|
checkbox.Checked = CBool(result)
|
|
Case 3 ' ComboBox
|
|
Dim combobox As ComboBox = DirectCast(control, ComboBox)
|
|
combobox.SelectedIndex = combobox.FindStringExact(result)
|
|
Case 4 'DateTimePicker
|
|
Dim datepicker As DevExpress.XtraEditors.DateEdit = DirectCast(control, DevExpress.XtraEditors.DateEdit)
|
|
datepicker.DateTime = Date.Parse(result)
|
|
Case Else
|
|
' MsgBox(DT.Rows(0).Item("CONTROL_TYPE_ID"))
|
|
End Select
|
|
Catch ex As Exception
|
|
MsgBox("Error in Load_Value:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
|
|
End Try
|
|
End Sub
|
|
Private Function Return_SearchPAttern(ByVal content As String)
|
|
Select Case content
|
|
Case "Form-ID (Entity)"
|
|
Return thisformid
|
|
Case "Record-ID"
|
|
Return SelectedRecordID
|
|
|
|
End Select
|
|
End Function
|
|
#End Region
|
|
|
|
#Region "+++++ Mouse/Key Events +++++"
|
|
Private Sub Control_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseDown
|
|
|
|
End Sub
|
|
Private Sub Control_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseUp
|
|
|
|
End Sub
|
|
Private Sub Control_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseMove
|
|
|
|
End Sub
|
|
|
|
Private Sub Control_Click(sender As Object, e As EventArgs)
|
|
' TODO: CLICK CONTROL
|
|
End Sub
|
|
|
|
Private Sub Groupbox_DragDrop(sender As Object, e As DragEventArgs)
|
|
' TODO: DRAG DROP GROUPBOX
|
|
End Sub
|
|
|
|
#End Region
|
|
|
|
Sub OpenFormData(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)
|
|
Dim ctrl As Control = sender
|
|
Cursor = Cursors.WaitCursor
|
|
ClassFunctionCommandsUI.OpenFormData(ctrl.Name, thisformid)
|
|
Cursor = Cursors.Default
|
|
End Sub
|
|
|
|
Sub NewEditAppointment(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)
|
|
Dim ctrl As Control = sender
|
|
ClassFunctionCommandsUI.NewEditAppointment(ctrl.Name, thisformid, SelectedRecordID, pnlView.Controls)
|
|
End Sub
|
|
|
|
Private Sub FocusedRow_Change()
|
|
Try
|
|
If gvMainView.Columns.Count = 0 Then
|
|
Exit Sub
|
|
End If
|
|
Dim RecordID = gvMainView.GetFocusedRowCellValue(gvMainView.Columns(0))
|
|
If RecordID Is Nothing Then
|
|
Exit Sub
|
|
End If
|
|
Dim CONTROL_ID As Integer
|
|
If RecordID Is Nothing = False Then
|
|
If (Not IsDBNull(RecordID)) Then
|
|
' TODO: AUCH IN CONTSTRUCTOR
|
|
' TODO: Doppelte einträge bei INSERT und UPDATE fixen
|
|
' TODO: FormID wird falsch oder nicht gesetzt
|
|
SelectedRecordID = RecordID
|
|
' SelectedFormID = RowView.Item(1)
|
|
RefreshRecordByID(SelectedRecordID)
|
|
|
|
For Each control As Control In pnlView.Controls
|
|
'CONTROL_ID = GetControlID(thisrecordID, control)
|
|
CONTROL_ID = GetControlID_for_RecordID(control.Name, SelectedRecordID)
|
|
If TypeOf control Is TextBox Then
|
|
control.Text = String.Empty
|
|
ElseIf TypeOf control Is CheckBox Then
|
|
DirectCast(control, CheckBox).Checked = False
|
|
End If
|
|
|
|
If (CONTROL_ID <> -1) Then
|
|
Load_Value(SelectedRecordID, CONTROL_ID, control)
|
|
Refresh_CreatedChangedRecordByID(SelectedRecordID)
|
|
End If
|
|
Next
|
|
End If
|
|
End If
|
|
|
|
Catch ex As Exception
|
|
MsgBox("Error in FocusedRow_Change:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
|
|
End Try
|
|
End Sub
|
|
|
|
|
|
'Private Sub VWPMO_CONTROL_SCREENBindingNavigatorSaveItem_Click(sender As Object, e As EventArgs)
|
|
' Try
|
|
|
|
' Dim SQL As String
|
|
' Dim RECORD_ID As Integer
|
|
' Dim ADDED_WHO As String = Environment.UserName
|
|
' Dim CHANGED_WHO As String = Environment.UserName
|
|
|
|
|
|
' If insert = True Then
|
|
' ' Create the record first
|
|
' SQL = "INSERT INTO TBPMO_RECORD(ADDED_WHO) VALUES ('" & ADDED_WHO & "')"
|
|
' If ClassDatabase.Execute_non_Query(SQL) = False Then
|
|
' Exit Sub
|
|
' End If
|
|
|
|
' ' Get last RecordID
|
|
' SQL = "SELECT (MAX(GUID)) FROM TBPMO_RECORD where ADDED_WHO = '" & ADDED_WHO & "'"
|
|
' RECORD_ID = ClassDatabase.Execute_Scalar(SQL)
|
|
' SelectedRecordID = RECORD_ID
|
|
' 'MsgBox(formid)
|
|
|
|
' 'Save Each Value from Controls into CONTROL_VALUE
|
|
' For Each ctrl As Control In pnlView.Controls
|
|
' Dim CONTROL_ID As Integer = GetControlID_for_RecordID(ctrl.Name, SelectedRecordID)
|
|
|
|
' If CONTROL_ID <> -1 And TypeOf ctrl Is TextBox Or TypeOf ctrl Is ComboBox Then
|
|
|
|
' Dim VALUE = ctrl.Text
|
|
|
|
' 'If TypeOf ctrl Is ComboBox Then
|
|
' ' Dim cmb = DirectCast(ctrl, ComboBox)
|
|
' ' If cmb.DataSource Is Nothing = False Then
|
|
' ' Dim bs As BindingSource = DirectCast(cmb.DataSource, BindingSource)
|
|
' ' Dim dt As DataTable = DirectCast(bs.DataSource, DataTable)
|
|
' ' BindingSource_Check_Content_Insert(bs, cmb.DisplayMember.ToString, cmb.Text)
|
|
' ' ' MsgBox(dt.TableName.ToString & vbNewLine & cmb.DisplayMember.ToString)
|
|
' ' End If
|
|
' 'End If
|
|
|
|
' SQL = "INSERT INTO TBPMO_CONTROL_VALUE(CONTROL_ID, RECORD_ID, VALUE, ADDED_WHO) VALUES (" & CONTROL_ID & ", " & RECORD_ID & ", '" & VALUE & "', '" & ADDED_WHO & "')"
|
|
' ClassDatabase.Execute_non_Query(SQL)
|
|
|
|
' End If
|
|
' Next
|
|
|
|
' ' Reset insert after INSERT
|
|
' insert = False
|
|
' ToolStrip_Notice("Neuer Datensatz eingefügt - " & Now)
|
|
' RefreshRecordByID(RECORD_ID)
|
|
' Else
|
|
' For Each ctrl As Control In pnlView.Controls
|
|
' 'Dim CONTROL_ID = GetControlID(thisrecordID, ctrl)
|
|
' Dim CONTROL_ID = GetControlID_for_RecordID(ctrl.Name, SelectedRecordID)
|
|
|
|
' Dim value_akt = ClassDatabase.Execute_Scalar("SELECT VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = " & CONTROL_ID & " AND RECORD_ID = " & SelectedRecordID)
|
|
' Console.WriteLine(CONTROL_ID.ToString & " - " & ctrl.Name)
|
|
|
|
' If CONTROL_ID = -1 And (TypeOf ctrl Is TextBox Or TypeOf ctrl Is ComboBox) Then
|
|
' ' Trying to save a value for a new value
|
|
' Dim VALUE = ctrl.Text
|
|
' CONTROL_ID = GetControlID_for_Name(ctrl.Name, SelectedFormID)
|
|
' SQL = "INSERT INTO TBPMO_CONTROL_VALUE (CONTROL_ID, RECORD_ID, VALUE, ADDED_WHO) VALUES (" & CONTROL_ID & ", " & SelectedRecordID & ", '" & VALUE & "', '" & ADDED_WHO & "')"
|
|
' If ClassDatabase.Execute_non_Query(SQL) = False Then
|
|
' Throw New Exception("Error while inserting new value for Control " & ctrl.Name & "!")
|
|
' End If
|
|
|
|
' ElseIf TypeOf ctrl Is TextBox Or TypeOf ctrl Is ComboBox Then
|
|
|
|
' Dim VALUE = ctrl.Text
|
|
' If value_akt <> VALUE Then
|
|
' 'If TypeOf ctrl Is ComboBox Then
|
|
' ' Dim cmb = DirectCast(ctrl, ComboBox)
|
|
' ' If cmb.DataSource Is Nothing = False Then
|
|
' ' Dim bs As BindingSource = DirectCast(cmb.DataSource, BindingSource)
|
|
' ' BindingSource_Check_Content_Insert(bs, cmb.DisplayMember.ToString, cmb.Text)
|
|
' ' End If
|
|
' 'End If
|
|
|
|
' SQL = "UPDATE TBPMO_CONTROL_VALUE SET VALUE = '" & VALUE & "', CHANGED_WHO = '" & CHANGED_WHO & "' WHERE CONTROL_ID = " & CONTROL_ID & " AND RECORD_ID = " & SelectedRecordID
|
|
' If ClassDatabase.Execute_non_Query(SQL) = False Then
|
|
' Throw New Exception("Error while updating the value for Control " & ctrl.Name & "!")
|
|
' End If
|
|
' End If
|
|
|
|
' ElseIf CONTROL_ID = -1 And (TypeOf ctrl Is DevExpress.XtraEditors.DateEdit) Then
|
|
' Dim date_ctrl As DevExpress.XtraEditors.DateEdit = DirectCast(ctrl, DevExpress.XtraEditors.DateEdit)
|
|
' Dim VALUE As String = date_ctrl.DateTime.ToString("yyyy-MM-dd")
|
|
' CONTROL_ID = GetControlID_for_Name(date_ctrl.Name, SelectedFormID)
|
|
|
|
' SQL = "INSERT INTO TBPMO_CONTROL_VALUE (CONTROL_ID, RECORD_ID, VALUE, ADDED_WHO) VALUES (" & CONTROL_ID & ", " & SelectedRecordID & ", '" & VALUE & "', '" & ADDED_WHO & "')"
|
|
' If ClassDatabase.Execute_non_Query(SQL) = False Then
|
|
' Throw New Exception("Error while inserting new value for Control " & ctrl.Name & "!")
|
|
' End If
|
|
' ElseIf TypeOf ctrl Is DevExpress.XtraEditors.DateEdit Then
|
|
' Dim date_ctrl As DevExpress.XtraEditors.DateEdit = DirectCast(ctrl, DevExpress.XtraEditors.DateEdit)
|
|
' Dim VALUE As String = date_ctrl.DateTime.ToString("yyyy-MM-dd")
|
|
' If value_akt <> VALUE Then
|
|
' SQL = "UPDATE TBPMO_CONTROL_VALUE SET VALUE = '" & VALUE & "', CHANGED_WHO = '" & CHANGED_WHO & "' WHERE CONTROL_ID = " & CONTROL_ID & " AND RECORD_ID = " & SelectedRecordID
|
|
' If ClassDatabase.Execute_non_Query(SQL) = False Then
|
|
' Throw New Exception("Error while updating the value for Control " & ctrl.Name & "!")
|
|
' End If
|
|
' End If
|
|
' ss()
|
|
' End If
|
|
|
|
' Next
|
|
' RefreshRecordByID(SelectedRecordID)
|
|
' ToolStrip_Notice("Datensatz aktualisiert - " & Now)
|
|
' End If
|
|
|
|
' LoadOverview_Grid()
|
|
|
|
' Catch ex As Exception
|
|
' MsgBox("Error in VWPMO_CONTROL_SCREENBindingNavigatorSaveItem_Click:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
|
|
' End Try
|
|
'End Sub
|
|
'Sub BindingSource_Check_Content_Insert(bs As BindingSource, column As String, value As String)
|
|
' Try
|
|
' If bs.Contains(value) = False Then
|
|
' Dim dt As DataTable = DirectCast(bs.DataSource, DataTable)
|
|
' MsgBox(dt.TableName)
|
|
' End If
|
|
|
|
|
|
|
|
' Catch ex As Exception
|
|
|
|
' End Try
|
|
'End Sub
|
|
Private Sub ToolStrip_Notice(text As String)
|
|
If text.Length > 0 Then
|
|
tsstat_lbl.Text = text
|
|
tsstat_lbl.Visible = True
|
|
Else
|
|
tsstat_lbl.Visible = False
|
|
End If
|
|
End Sub
|
|
Private Sub RefreshRecordByID(RECORD_ID As Integer)
|
|
Try
|
|
Me.TBPMO_RECORDTableAdapter.Fill(Me.DD_DMSDataSet.TBPMO_RECORD, CType(RECORD_ID, Integer))
|
|
Catch ex As System.Exception
|
|
System.Windows.Forms.MessageBox.Show(ex.Message)
|
|
End Try
|
|
End Sub
|
|
|
|
Private Sub BindingNavigatorDeleteItem_Click(sender As Object, e As EventArgs)
|
|
Dim result As MsgBoxResult
|
|
result = MessageBox.Show("Möchten Sie den Datensatz wirklich löschen?", "Bestätigung erforderlich:", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
|
|
If result = MsgBoxResult.Yes Then
|
|
Dim sql As String = "DELETE FROM TBPMO_CONTROL_VALUE WHERE RECORD_ID = " & SelectedRecordID
|
|
If ClassDatabase.Execute_non_Query(sql) = True Then ' Delete der Controls erfolgreich ausgeführt, jetzt der Record
|
|
sql = "DELETE FROM TBPMO_RECORD WHERE GUID = " & SelectedRecordID
|
|
If ClassDatabase.Execute_non_Query(sql) = True Then
|
|
LoadOverview_Grid()
|
|
ToolStrip_Notice("Der Datensatz wurde erfolgreich gelöscht - " & Now)
|
|
End If
|
|
End If
|
|
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub tsbtnrefresh_Click(sender As Object, e As EventArgs) Handles tsbtnrefresh.Click
|
|
LoadOverview_Grid()
|
|
End Sub
|
|
|
|
Private Sub tsButtonAdd_Click(sender As Object, e As EventArgs) Handles tsButtonAdd.Click
|
|
CtrlCommandUI.LoadControls(thisformid)
|
|
'Das Flag INSERT nach LoadControls setzen
|
|
CtrlCommandUI.IsInsert = True
|
|
End Sub
|
|
|
|
Private Sub tsButtonSave_Click(sender As Object, e As EventArgs) Handles tsButtonSave.Click
|
|
Dim RecordID = gvMainView.GetFocusedRowCellValue(gvMainView.Columns("Record-ID"))
|
|
If RecordID Is Nothing And gvMainView.RowCount > 0 Then
|
|
Exit Sub
|
|
Else
|
|
If Not RecordID = Nothing Then
|
|
SelectedRecordID = RecordID
|
|
End If
|
|
End If
|
|
Dim ResultMessage = CtrlCommandUI.SaveRecord(SelectedRecordID, thisformid)
|
|
|
|
LoadOverview_Grid()
|
|
If SelectedRecordID > 0 Then
|
|
Refresh_CreatedChangedRecordByID(SelectedRecordID)
|
|
|
|
End If
|
|
|
|
|
|
'Refresh_CreatedChangedRecordByID(thisrecordID)
|
|
ToolStrip_Notice(ResultMessage)
|
|
'tsstatus_Detail_show(True, ResultMessage)
|
|
End Sub
|
|
|
|
Private Sub tsButtonDelete_Click(sender As Object, e As EventArgs) Handles tsButtonDelete.Click
|
|
Dim result As MsgBoxResult
|
|
result = MessageBox.Show("Möchten Sie den Datensatz wirklich löschen?", "Bestätigung erforderlich:", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
|
|
If result = MsgBoxResult.Yes Then
|
|
If CtrlCommandUI.DeleteRecord(SelectedRecordID) = True Then
|
|
LoadOverview_Grid()
|
|
ToolStrip_Notice("Der Datensatz wurde erfolgreich gelöscht - " & Now)
|
|
End If
|
|
End If
|
|
End Sub
|
|
|
|
Sub tserstellt_Detail_show(vis As Boolean, txt As String)
|
|
Me.tserstellt_Detail.Text = txt
|
|
tserstellt_Detail.Visible = vis
|
|
End Sub
|
|
|
|
Public Sub Refresh_CreatedChangedRecordByID(RECORD_ID As Integer)
|
|
Try
|
|
Dim result = ClassDatabase.Execute_Scalar("select 'Added by ' + ADDED_WHO + ' when ' + CONVERT(VARCHAR(16),ADDED_WHEN,20) + ', Changed by ' + COALESCE(CHANGED_WHO,'') + ' when ' + COALESCE(CONVERT(VARCHAR(16),CHANGED_WHEN,20),'') FROM TBPMO_RECORD WHERE GUID = " & RECORD_ID)
|
|
If IsDBNull(result) Or IsNothing(result) Then
|
|
'Me.tserstellt_Details.Text = ""
|
|
tserstellt_Detail_show(False, "")
|
|
Else
|
|
'Me.tserstellt_Details.Text = result.ToString
|
|
tserstellt_Detail_show(True, result.ToString)
|
|
End If
|
|
|
|
Catch ex As System.Exception
|
|
MsgBox("Error in Refresh_CreatedChangedRecordByID:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
|
|
End Try
|
|
End Sub
|
|
Private Sub gvMainView_FocusedRowChanged(sender As Object, e As DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs) Handles gvMainView.FocusedRowChanged
|
|
FocusedRow_Change()
|
|
End Sub
|
|
|
|
Private Sub StammdatenEditierenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles StammdatenEditierenToolStripMenuItem.Click
|
|
Dim MenuItem = DirectCast(sender, ToolStripMenuItem)
|
|
Dim ContextMenu As ContextMenuStrip = MenuItem.Owner
|
|
Dim SourceControl As Control = ContextMenu.SourceControl
|
|
Dim MasterDataId As Integer = DirectCast(SourceControl.Tag, ClassControlMetadata).Id
|
|
frmQuickInput.ShowDialog()
|
|
End Sub
|
|
End Class
|
|
|