549 lines
24 KiB
VB.net
549 lines
24 KiB
VB.net
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
|
|
'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)
|
|
TEMP_FILES.Add(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
|
|
|
|
|
|
#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.LoadControlValuesNeu(SelectedRecordID, CURRENT_PARENTID, 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
|
|
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
|
|
|