project name record_organizer
This commit is contained in:
562
app/DD-Record-Organiser/frmForm_Input.vb
Normal file
562
app/DD-Record-Organiser/frmForm_Input.vb
Normal file
@@ -0,0 +1,562 @@
|
||||
Imports DevExpress.XtraScheduler
|
||||
Imports System.IO
|
||||
Imports WINDREAMLib
|
||||
|
||||
Public Class frmFormInput
|
||||
|
||||
|
||||
|
||||
#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 DocView As Boolean = False
|
||||
Private _windream As New ClassWindream
|
||||
'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 SQL_COMMAND FROM TBPMO_FORM_SQL WHERE FORM_ID = " & thisformid
|
||||
Dim _sql = ClassDatabase.Execute_Scalar(_sqlGrid)
|
||||
If (Not IsDBNull(_sql)) Then
|
||||
Dim dt As DataTable = ClassDatabase.Return_Datatable(_sql)
|
||||
If dt Is Nothing = False Then
|
||||
'BindingSource for Navigator
|
||||
Me.BindingSourceDGV.DataSource = dt
|
||||
'bind Datatable to bindingsource
|
||||
Me.dgvInput.DataSource = Me.BindingSourceDGV
|
||||
'Me.dgvOverview.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells)
|
||||
End If
|
||||
Else
|
||||
MsgBox("No entries for actual Form. Pleas insert the first values.", MsgBoxStyle.Exclamation)
|
||||
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
|
||||
|
||||
thisformid = CURRENT_FORM_ID
|
||||
Me.VWPMO_CONTROL_SCREENTableAdapter.Fill(Me.DD_DMSDataSet.VWPMO_CONTROL_SCREEN, thisformid)
|
||||
|
||||
CtrlBuilder = New ClassControlBuilder(pnlView, ttTooltip)
|
||||
CtrlCommandUI = New ClassControlCommandsUI(CtrlBuilder,
|
||||
ContextMenuStrip1,
|
||||
AddressOf NewEditAppointment,
|
||||
AddressOf OpenFormData)
|
||||
If ClassDatabase.Init = True Then
|
||||
LoadOverview_Grid()
|
||||
LoadFormProperties()
|
||||
CtrlCommandUI.LoadControls(CURRENT_FORM_ID)
|
||||
' FocusedRow_Change ruft bereits LoadControlValues auf
|
||||
FocusedRow_Change()
|
||||
End If
|
||||
|
||||
ClassWindowLocation.LoadFormLocationSize(Me, thisformid, CURRENT_SCREEN_ID)
|
||||
|
||||
Catch ex As System.Exception
|
||||
System.Windows.Forms.MessageBox.Show(ex.Message)
|
||||
End Try
|
||||
|
||||
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))
|
||||
settings.Add(New ClassSetting("SplitContainerDetails", SplitContainerDetails.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)
|
||||
Case "SplitContainerDetails"
|
||||
SplitContainerDetails.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))
|
||||
settings.Add(New ClassSetting("SplitContainerDetails", SplitContainerDetails.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
|
||||
|
||||
Console.WriteLine(thisformid)
|
||||
|
||||
'Dim name = ClassDatabase.Execute_Scalar(NAME_SQL)
|
||||
Dim title = ClassDatabase.Execute_Scalar(TITLE_SQL)
|
||||
|
||||
DocView = ClassDatabase.Execute_Scalar("SELECT DOCUMENT_VIEW FROM TBPMO_FORM_VIEW WHERE FORM_ID = " & thisformid)
|
||||
If DocView = True Then
|
||||
If _windream.Init = True Then
|
||||
Me.SplitContainerDetails.Panel2Collapsed = False
|
||||
End If
|
||||
|
||||
Else
|
||||
Me.SplitContainerDetails.Panel2Collapsed = True
|
||||
End If
|
||||
'SetFormName(name)
|
||||
SetFormTitles(title)
|
||||
End Sub
|
||||
|
||||
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
|
||||
Private Sub load_Documents()
|
||||
Try
|
||||
If DocView Then
|
||||
Dim SQL = "SELECT WINDREAM_SEARCH,SEARCH_PATTERN1,SEARCH_PATTERN2,SEARCH_PATTERN3,SEARCH_PATTERN4,SEARCH_PATTERN5 FROM TBPMO_FORM_VIEW WHERE FORM_ID = " & thisformid & " and SCREEN_ID = " & CURRENT_SCREEN_ID
|
||||
Dim DT As DataTable = ClassDatabase.Return_Datatable(SQL)
|
||||
If DT.Rows.Count = 1 Then
|
||||
If Not IsDBNull(DT.Rows(0).Item(0)) Then
|
||||
Dim WD_Suche = DT.Rows(0).Item(0)
|
||||
Dim SP1 = DT.Rows(0).Item(1)
|
||||
Dim SP2 = DT.Rows(0).Item(2)
|
||||
Dim SP3 = DT.Rows(0).Item(3)
|
||||
Dim SP4 = DT.Rows(0).Item(4)
|
||||
Dim SP5 = DT.Rows(0).Item(5)
|
||||
|
||||
|
||||
'Eine tempfile generieren
|
||||
Dim tempFilename1 = My.Computer.FileSystem.GetTempFileName()
|
||||
'Nur den Filenamen ohne Erweiterung
|
||||
Dim tempName = Path.GetFileNameWithoutExtension(tempFilename1)
|
||||
'tempfile lsöchen
|
||||
If My.Computer.FileSystem.FileExists(tempFilename1) Then
|
||||
My.Computer.FileSystem.DeleteFile(tempFilename1)
|
||||
End If
|
||||
Try
|
||||
Dim temppath = Path.GetTempPath
|
||||
|
||||
Dim fileContents As String
|
||||
fileContents = My.Computer.FileSystem.ReadAllText(WD_Suche)
|
||||
fileContents.Replace("Í", "Ö")
|
||||
If SP1.ToString <> String.Empty Then
|
||||
SP1 = Return_SearchPAttern(SP1.ToString)
|
||||
fileContents = fileContents.Replace("%pattern1%", SP1)
|
||||
fileContents = fileContents.Replace("471101", SP1)
|
||||
End If
|
||||
If SP2.ToString <> String.Empty Then
|
||||
SP2 = Return_SearchPAttern(SP2.ToString)
|
||||
fileContents = fileContents.Replace("%pattern2%", SP2)
|
||||
fileContents = fileContents.Replace("471101", SP2)
|
||||
End If
|
||||
If SP3.ToString <> String.Empty Then
|
||||
SP3 = Return_SearchPAttern(SP3.ToString)
|
||||
fileContents = fileContents.Replace("%pattern3%", SP3)
|
||||
fileContents = fileContents.Replace("471102", SP3)
|
||||
End If
|
||||
If SP4.ToString <> String.Empty Then
|
||||
SP4 = Return_SearchPAttern(SP4.ToString)
|
||||
fileContents = fileContents.Replace("%pattern4%", SP4)
|
||||
fileContents = fileContents.Replace("471103", SP4)
|
||||
End If
|
||||
If SP5.ToString <> String.Empty Then
|
||||
SP5 = Return_SearchPAttern(SP5.ToString)
|
||||
fileContents = fileContents.Replace("%pattern5%", SP5)
|
||||
fileContents = fileContents.Replace("471105", SP5)
|
||||
End If
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
'Die windream File zusammensetzen
|
||||
Dim newfilename = temppath & tempName & ".wdf"
|
||||
My.Computer.FileSystem.WriteAllText(newfilename, fileContents, False)
|
||||
' XML-Datei initialisieren
|
||||
Dim xml As New System.Xml.XmlDocument()
|
||||
' XML-Datei öffnen und laden
|
||||
xml.Load(newfilename)
|
||||
xml.Save(newfilename)
|
||||
Dim windreamSucheErgebnisse As WMObjects = Me._windream.GetSearchDocuments(newfilename)
|
||||
If Not IsNothing(windreamSucheErgebnisse) AndAlso windreamSucheErgebnisse.Count > 0 Then
|
||||
AxObjectListControl.SetIconMode(True)
|
||||
AxObjectListControl.RemoveAllColumnHeader()
|
||||
|
||||
Me.tslblAnzahl_Dokumente.Text = windreamSucheErgebnisse.Count & " gefundene Dateien"
|
||||
Dim param As New List(Of String)
|
||||
'The file name
|
||||
param.Add("szLongName")
|
||||
'The size
|
||||
param.Add("dwCreationDate")
|
||||
param.Add("dwCreation_Time")
|
||||
|
||||
Me.AxObjectListControl.SetSession(_windream.oSession, "foo", "bar")
|
||||
'Change the satus icon
|
||||
'ICON STATES:
|
||||
Me.AxObjectListControl.SetStatusIcon(0)
|
||||
|
||||
'Change the icon
|
||||
Me.AxObjectListControl.SetStatusIcon(2)
|
||||
'Add all search params
|
||||
For Each spar As String In param
|
||||
'You need to use the column name here
|
||||
'Please note that some attributes or indices will not be displayed
|
||||
'Try not to add the same header twice, it will throw cause problems if you do that
|
||||
Me.AxObjectListControl.AddColumnHeader(spar, 200)
|
||||
Next
|
||||
'Execute the search
|
||||
Dim results As WMObjects = windreamSucheErgebnisse
|
||||
'Set the contents without displaying them
|
||||
AxObjectListControl.SetContentsEx(results)
|
||||
'Change the icon
|
||||
AxObjectListControl.SetStatusIcon(5)
|
||||
'Display the results...
|
||||
'The Previous Object Count
|
||||
Dim poc As Integer = 0
|
||||
'Display new objects, as long as the objectcount changes after displaying the objects
|
||||
|
||||
Do Until (poc <> AxObjectListControl.GetObjectCount)
|
||||
poc = AxObjectListControl.GetObjectCount
|
||||
'If you want, you can display more items at a time
|
||||
'But do not display to many at a time or the user interface could freeze
|
||||
'Maybe try 50
|
||||
AxObjectListControl.DisplayResults(5)
|
||||
|
||||
Loop
|
||||
AxObjectListControl.SetStatusIcon(3)
|
||||
|
||||
|
||||
End If
|
||||
If My.Computer.FileSystem.FileExists(newfilename) Then
|
||||
My.Computer.FileSystem.DeleteFile(newfilename)
|
||||
End If
|
||||
|
||||
Catch ex As Exception
|
||||
MsgBox("Error in execute-windreamSearch:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
|
||||
End Try
|
||||
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
Catch ex As Exception
|
||||
MsgBox("Error in load_Documents:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
|
||||
End Try
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
#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
|
||||
|
||||
Private Sub Control_PressTab(ByVal sender As Object, ByVal e As PreviewKeyDownEventArgs)
|
||||
Console.WriteLine(sender.ToString)
|
||||
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
|
||||
If gvMainView.RowCount > 0 Then
|
||||
RecordID = gvMainView.GetFocusedRowCellValue(gvMainView.Columns(0).FieldName)
|
||||
If RecordID Is Nothing Then
|
||||
Exit Sub
|
||||
End If
|
||||
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)
|
||||
|
||||
ClassControlValues.LoadControlValues(SelectedRecordID, thisformid, pnlView.Controls)
|
||||
End If
|
||||
load_Documents()
|
||||
End If
|
||||
|
||||
Catch ex As Exception
|
||||
MsgBox("Error in FocusedRow_Change:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
|
||||
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)
|
||||
ClassControlValues.LoadDefaultValues(thisformid, SelectedRecordID, pnlView.Controls)
|
||||
|
||||
'Das Flag INSERT nach LoadControls setzen
|
||||
CtrlCommandUI.IsInsert = True
|
||||
End Sub
|
||||
|
||||
Private Sub tsButtonSave_Click(sender As Object, e As EventArgs) Handles tsButtonSave.Click
|
||||
SelectedRecordID = 0
|
||||
If gvMainView.Columns.Count > 0 Then
|
||||
Dim RecordID = gvMainView.GetFocusedRowCellValue(gvMainView.Columns("Record-ID").FieldName)
|
||||
If RecordID Is Nothing And gvMainView.RowCount > 0 Then
|
||||
Exit Sub
|
||||
Else
|
||||
If Not RecordID = Nothing Then
|
||||
SelectedRecordID = RecordID
|
||||
End If
|
||||
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 = SourceControl.Tag
|
||||
Console.WriteLine(MasterDataId)
|
||||
CURRENT_MASTER_FORM_ID = MasterDataId
|
||||
frmQuickInput.ShowDialog()
|
||||
End Sub
|
||||
|
||||
Private Sub LäscheAlleFilterEtcToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles LäscheAlleFilterEtcToolStripMenuItem.Click
|
||||
gvMainView.ClearColumnsFilter()
|
||||
gvMainView.ClearGrouping()
|
||||
gvMainView.ClearSelection()
|
||||
End Sub
|
||||
|
||||
Private Sub dgvInput_Click(sender As Object, e As EventArgs) Handles dgvInput.Click
|
||||
|
||||
End Sub
|
||||
End Class
|
||||
|
||||
Reference in New Issue
Block a user