Merge branch 'master' of http://scmadmin@172.24.11.74:90/scm/git/RecordOrganizer
This commit is contained in:
commit
0b1f56f4d0
@ -289,7 +289,8 @@ Public Class ClassControlBuilder
|
||||
|
||||
' DependingControlId bezeichnet das Control, das die Abhängigkeit enthält
|
||||
Dim dependingControlId As Integer = row.Item("GUID")
|
||||
Dim panel As Panel = DirectCast(control.Parent, Panel)
|
||||
Dim panel As Panel = CtrlBuilder.MasterPanel
|
||||
'Dim panel As Panel = DirectCast(control.Parent, Panel)
|
||||
' Über die Id das Control finden
|
||||
Dim dependingControl As Control = panel.Controls.OfType(Of Control)().Where(Function(c As Control)
|
||||
Return DirectCast(c.Tag, ClassControlMetadata).Id = dependingControlId
|
||||
@ -464,9 +465,13 @@ Public Class ClassControlBuilder
|
||||
If CURRENT_RECORD_ID = 0 Then
|
||||
Exit Sub
|
||||
End If
|
||||
If CtrlCommandUI.IsInsert = False Then
|
||||
|
||||
|
||||
' Da wir beim Klick auf Hinzfügen einen Record anlegen,
|
||||
' muss UpdateMultipleValues auch aufgerufen werden, wenn wir IsInsert = True ist
|
||||
'If CtrlCommandUI.IsInsert = False Then
|
||||
ClassControlCommandsUI.UpdateMultipleValues(controlId, CURRENT_RECORD_ID, CONTROL_VALUE)
|
||||
End If
|
||||
'End If
|
||||
|
||||
|
||||
Dim datatable As DataTable = ClassDatabase.Return_Datatable(SQL)
|
||||
|
||||
@ -396,6 +396,7 @@
|
||||
End If
|
||||
|
||||
If dynamic.DataTable IsNot Nothing AndAlso dynamic.DataTable.Rows.Count > 0 Then
|
||||
'control.Items.Clear()
|
||||
SetDataSource(control, dynamic.DataTable)
|
||||
End If
|
||||
|
||||
|
||||
@ -1,976 +0,0 @@
|
||||
Public Class frmLevel_Designer
|
||||
#Region "+++++ Konstanten +++++"
|
||||
'Private akt_ctrl As Control
|
||||
Private Shared _Instance As frmLevel_Designer = Nothing
|
||||
Private Mouse_Moving As Boolean = False
|
||||
Private Mouse_Down As Boolean = False
|
||||
Private Current_Properties As Object = Nothing
|
||||
|
||||
Private LastCursor As Point = Nothing
|
||||
#End Region
|
||||
Dim formloaded As Boolean = False
|
||||
Public Shared Function Instance() As frmLevel_Designer
|
||||
If _Instance Is Nothing OrElse _Instance.IsDisposed = True Then
|
||||
_Instance = New frmLevel_Designer
|
||||
End If
|
||||
_Instance.BringToFront()
|
||||
Return _Instance
|
||||
End Function
|
||||
|
||||
Public Sub SetFormTitle(title As String)
|
||||
Me.Text = "Formdesigner: " & title
|
||||
End Sub
|
||||
|
||||
Public Sub SetFormName(name As String)
|
||||
Me.lblFormName.Text = "Name: " & name & " - Form-ID: " & CURRENT_FORM_ID
|
||||
End Sub
|
||||
|
||||
|
||||
#Region "+++++ Drag Drop Funktionen +++++"
|
||||
|
||||
Public Sub ControlDragDrop(type As String, Parent As GroupBox)
|
||||
Try
|
||||
Dim r As New System.Random()
|
||||
Dim def_font_family As String = DefaultFont.Name
|
||||
Dim def_font_color As Integer = DefaultForeColor.ToArgb
|
||||
Dim def_font_style As Integer = 0
|
||||
Dim def_font_size As Integer = 8
|
||||
|
||||
Dim defaultCaption As String = "Bezeichner definieren"
|
||||
If USER_LANGUAGE <> "de-DE" Then
|
||||
defaultCaption = "Define Identifier"
|
||||
End If
|
||||
|
||||
Dim defaultCalendarCaption As String = "Zu Kalender hinzufügen"
|
||||
If USER_LANGUAGE <> "de-DE" Then
|
||||
defaultCalendarCaption = "Add to Calendar"
|
||||
End If
|
||||
|
||||
Dim random As String = ShortGUID()
|
||||
'Dim random As Integer = r.Next(8, 100)
|
||||
Select Case type
|
||||
Case "lbl"
|
||||
CtrlBuilder.AddLabel(0, "lbl" & random, defaultCaption, 0, 0, def_font_family, def_font_color, def_font_size, def_font_style, "", True, Parent)
|
||||
' Aktuelles Control in die Datenbank speichern
|
||||
ClassControlCommands.InsertControl(CtrlBuilder.CurrentControl)
|
||||
Case "txt"
|
||||
CtrlBuilder.AddTextBox(0, "txt" & random, 0, 0, def_font_family, def_font_color, def_font_size, def_font_style, 0, True, 0, 0, False, False, False, "String", True, Parent)
|
||||
' Aktuelles Control in die Datenbank speichern
|
||||
ClassControlCommands.InsertControl(CtrlBuilder.CurrentControl)
|
||||
Case "cmb"
|
||||
CtrlBuilder.AddComboBox(0, "cmb" & random, 0, 0, def_font_family, def_font_color, def_font_size, def_font_style, 0, True, 0, 0, "String", True, False, False, "", "", Parent)
|
||||
' Aktuelles Control in die Datenbank speichern
|
||||
ClassControlCommands.InsertControl(CtrlBuilder.CurrentControl)
|
||||
Case "dtp"
|
||||
CtrlBuilder.AddDateTimePicker(0, "dtp" & random, 0, 0, def_font_family, def_font_size, def_font_style, 0, False, 0, 0, False, False, True, Parent)
|
||||
' Aktuelles Control in die Datenbank speichern
|
||||
ClassControlCommands.InsertControl(CtrlBuilder.CurrentControl)
|
||||
Case "dgv"
|
||||
CtrlBuilder.AddDataGridView(0, "dgv" & random, 0, 0, 0, 0, True, False, False, "dgv" & random, Parent)
|
||||
' Aktuelles Control in die Datenbank speichern
|
||||
ClassControlCommands.InsertControl(CtrlBuilder.CurrentControl)
|
||||
Case "chk"
|
||||
CtrlBuilder.AddCheckBox(0, "chk" & random, defaultCaption, False, 0, 0, def_font_family, def_font_color, def_font_size, def_font_style, 0, False, 0, 0, True, False, False, Parent)
|
||||
' Aktuelles Control in die Datenbank speichern
|
||||
ClassControlCommands.InsertControl(CtrlBuilder.CurrentControl)
|
||||
Case "rb"
|
||||
CtrlBuilder.AddRadioButton(0, "rb" & random, defaultCaption, False, 0, 0, def_font_family, def_font_color, def_font_size, def_font_style, 0, False, 0, 0, True, False, False, Parent)
|
||||
' Aktuelles Control in die Datenbank speichern
|
||||
ClassControlCommands.InsertControl(CtrlBuilder.CurrentControl)
|
||||
|
||||
Case "pb"
|
||||
CtrlBuilder.AddPictureBox(0, "pb" & random, 0, 0, 0, 0, True, False, False, Parent)
|
||||
' Aktuelles Control in die Datenbank speichern
|
||||
ClassControlCommands.InsertControl(CtrlBuilder.CurrentControl)
|
||||
Case "gb"
|
||||
CtrlBuilder.AddGroupBox(0, "gb" & random, defaultCaption, 0, 0, 0, 0, ColorToInt(SystemColors.Control), def_font_color, def_font_family, def_font_size, def_font_style, True, Parent)
|
||||
' Aktuelles Control in die Datenbank speichern
|
||||
ClassControlCommands.InsertControl(CtrlBuilder.CurrentControl)
|
||||
Case "f_addappointment"
|
||||
CtrlBuilder.FunctionAddAppointment(0, "f_addappointment" & random, defaultCalendarCaption, 0, 0, 0, 0, True, Parent)
|
||||
|
||||
If ClassControlCommands.InsertControl(CtrlBuilder.CurrentControl) = True Then
|
||||
Dim ControlId = GetControlID_for_Name(CtrlBuilder.CurrentControl.Name, CURRENT_FORM_ID)
|
||||
ClassFunctionCommands.InsertFunction(ControlId, "ADDAPPOINTMENT")
|
||||
End If
|
||||
Case "f_addformdata"
|
||||
CtrlBuilder.FunctionAddFormData(0, "f_addformdata" & random, "Add Form Data", 0, 0, 0, 0, True, Parent)
|
||||
|
||||
If ClassControlCommands.InsertControl(CtrlBuilder.CurrentControl) = True Then
|
||||
Dim ControlId = GetControlID_for_Name(CtrlBuilder.CurrentControl.Name, CURRENT_FORM_ID)
|
||||
ClassFunctionCommands.InsertFunction(ControlId, "ADDFORMDATA")
|
||||
End If
|
||||
Case "lstbxcheck"
|
||||
CtrlBuilder.AddCheckedListBox(0, "chlb" & random, 0, 0, def_font_family, def_font_color, def_font_size, def_font_style, 0, True, 0, 0, True, False, False, "", "", Parent)
|
||||
' Aktuelles Control in die Datenbank speichern
|
||||
ClassControlCommands.InsertControl(CtrlBuilder.CurrentControl)
|
||||
Case "lstbx"
|
||||
CtrlBuilder.AddListBox(0, "lbx" & random, 0, 0, def_font_family, def_font_color, def_font_size, def_font_style, 0, True, 0, 0, True, False, False, "", "", Parent)
|
||||
' Aktuelles Control in die Datenbank speichern
|
||||
ClassControlCommands.InsertControl(CtrlBuilder.CurrentControl)
|
||||
Case Else
|
||||
MsgBox("Event '" & type & "' nicht definiert")
|
||||
End Select
|
||||
Catch ex As Exception
|
||||
MsgBox("unexpected Error in ControlDragDrop: " & vbNewLine, MsgBoxStyle.Critical)
|
||||
End Try
|
||||
|
||||
End Sub
|
||||
|
||||
Public Sub Groupbox_DragDrop(sender As Object, e As DragEventArgs)
|
||||
Dim type As String = e.Data.GetData(DataFormats.Text)
|
||||
Dim GroupBox As GroupBox = CType(sender, GroupBox)
|
||||
|
||||
ControlDragDrop(type, GroupBox)
|
||||
End Sub
|
||||
|
||||
Private Sub pnlDesigner_DragDrop(sender As Object, e As DragEventArgs)
|
||||
Dim type As String = e.Data.GetData(DataFormats.Text)
|
||||
|
||||
ControlDragDrop(type, Nothing)
|
||||
End Sub
|
||||
|
||||
Private Sub pnlDesigner_DragEnter(sender As Object, e As DragEventArgs)
|
||||
' Check the format of the data being dropped.
|
||||
If (e.Data.GetDataPresent(DataFormats.Text)) Then
|
||||
' Display the copy cursor.
|
||||
e.Effect = DragDropEffects.Copy
|
||||
Else
|
||||
' Display the no-drop cursor.
|
||||
e.Effect = DragDropEffects.None
|
||||
End If
|
||||
End Sub
|
||||
|
||||
#End Region
|
||||
|
||||
#Region "+++++ Form Events +++++"
|
||||
Private Sub frmLevel_Designer_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing
|
||||
Try
|
||||
Dim sw
|
||||
|
||||
sw = Stopwatch.StartNew()
|
||||
ClassWindowLocation.SaveFormLocationSize(Me, 1, CURRENT_SCREEN_ID, "frmLevel_Designer")
|
||||
sw.Stop()
|
||||
Console.WriteLine(String.Format("SaveFormLocationSize took {0}ms", sw.ElapsedMilliseconds))
|
||||
|
||||
sw = Stopwatch.StartNew()
|
||||
My.Settings.Save()
|
||||
sw.Stop()
|
||||
Console.WriteLine(String.Format("My.Settings.Save took {0}ms", sw.ElapsedMilliseconds))
|
||||
|
||||
sw = Stopwatch.StartNew()
|
||||
RebuildView()
|
||||
sw.Stop()
|
||||
Console.WriteLine(String.Format("RebuildView took {0}ms", sw.ElapsedMilliseconds))
|
||||
|
||||
Dim wid As Integer = Me.Width
|
||||
Dim update_sizepnl As String = "UPDATE TBPMO_FORM_VIEW SET HEIGHT = " & pnlDesigner.Height & ",WIDTH = " & wid & " where FORM_ID = " & CURRENT_FORM_ID & " and SCREEN_ID = " & CURRENT_SCREEN_ID
|
||||
ClassDatabase.Execute_non_Query(update_sizepnl)
|
||||
'frmTool_ControlProperties.Instance.Close()
|
||||
'frmTool_ControlDesigner.Instance.Close()
|
||||
|
||||
|
||||
Catch ex As Exception
|
||||
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
Private Sub frmLevel_Designer_Load(sender As Object, e As EventArgs) Handles Me.Load
|
||||
ClassWindowLocation.LoadFormLocationSize(Me, 1, CURRENT_SCREEN_ID, "frmLevel_Designer")
|
||||
|
||||
' ADDED 18.11
|
||||
CtrlBuilder = New ClassControlBuilder(pnlDesigner,
|
||||
AddressOf Control_MouseDown,
|
||||
AddressOf Control_MouseUp,
|
||||
AddressOf Control_MouseMove,
|
||||
AddressOf Control_Click,
|
||||
AddressOf Groupbox_DragDrop)
|
||||
|
||||
If ClassDatabase.Init = True Then
|
||||
LoadFormProperties()
|
||||
LoadControls()
|
||||
End If
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub HandleToolTip(sender As Object, e As EventArgs)
|
||||
Console.WriteLine("show tooltip")
|
||||
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 formviewid = ClassDatabase.Execute_Scalar("SELECT GUID FROM TBPMO_FORM_VIEW WHERE FORM_ID = " & CURRENT_FORM_ID & " AND SCREEN_ID = " & CURRENT_SCREEN_ID)
|
||||
Dim TITLE_SQL As String = "SELECT CAPTION FROM TBPMO_LANGUAGE_OBJECT WHERE PMO_OBJECT_NAME = 'FORMVIEW_TITLE" & formviewid & "' and SCREEN_ID = " & CURRENT_SCREEN_ID & " AND LANGUAGE_TYPE = '" & USER_LANGUAGE & "'"
|
||||
Dim Height = ClassDatabase.Execute_Scalar("SELECT HEIGHT FROM TBPMO_FORM_VIEW WHERE FORM_ID = " & CURRENT_FORM_ID & " and SCREEN_ID = " & CURRENT_SCREEN_ID)
|
||||
Dim width = ClassDatabase.Execute_Scalar("SELECT WIDTH FROM TBPMO_FORM_VIEW WHERE FORM_ID = " & CURRENT_FORM_ID & " and SCREEN_ID = " & CURRENT_SCREEN_ID)
|
||||
Dim name = ClassDatabase.Execute_Scalar(NAME_SQL)
|
||||
Dim title = ClassDatabase.Execute_Scalar(TITLE_SQL)
|
||||
' Check_Document_Config(CURRENT_FORM_ID)
|
||||
If Not IsDBNull(Height) Then
|
||||
If Height > 100 Then
|
||||
Me.pnlDesigner.Height = Height
|
||||
End If
|
||||
'If Not IsDBNull(width) Then
|
||||
If width > 500 Then
|
||||
' Me.Width = width
|
||||
End If
|
||||
|
||||
'End If
|
||||
End If
|
||||
SetFormName(name)
|
||||
SetFormTitle(title)
|
||||
End Sub
|
||||
|
||||
Public Sub LoadControls()
|
||||
Dim sql = String.Format("SELECT T.*, dbo.FNPMO_GET_CONTROL_CAPTION ('{0}', {1},T.CONTROL_ID) AS 'CAPTION' FROM VWPMO_CONTROL_SCREEN T" & _
|
||||
" where T.FORM_ID = {2} and T.SCREEN_ID = {3}", USER_LANGUAGE, CURRENT_SCREEN_ID, CURRENT_FORM_ID, CURRENT_SCREEN_ID)
|
||||
Dim dt As DataTable = ClassDatabase.Return_Datatable(sql)
|
||||
|
||||
For Each dr As DataRow In dt.Rows
|
||||
|
||||
Dim parent As GroupBox = Nothing
|
||||
If (dr.Item("CONTROL_PARENT_ID") <> 0) Then
|
||||
Dim parentname As String = Get_Name_for_ControlID(dr.Item("CONTROL_PARENT_ID"), CURRENT_FORM_ID)
|
||||
parent = CtrlBuilder.GetControlByName(parentname)
|
||||
End If
|
||||
|
||||
Select Case dr.Item("CTRLTYPE_ID")
|
||||
Case 1 ' Label
|
||||
CtrlBuilder.AddLabel(dr.Item("CONTROL_ID"),
|
||||
dr.Item("CONTROL_NAME"),
|
||||
dr.Item("CAPTION"),
|
||||
dr.Item("CTRLSCR_X_LOC"),
|
||||
dr.Item("CTRLSCR_Y_LOC"),
|
||||
dr.Item("CTRLSCR_FONT_FAMILY"),
|
||||
dr.Item("CTRLSCR_FONT_COLOR"),
|
||||
dr.Item("CTRLSCR_FONT_SIZE"),
|
||||
dr.Item("CTRLSCR_FONT_STYLE"),
|
||||
dr.Item("CONTROL_SQLCOMMAND_1"),
|
||||
False,
|
||||
parent,
|
||||
True)
|
||||
Case 2 ' TextBox
|
||||
CtrlBuilder.AddTextBox(dr.Item("CONTROL_ID"),
|
||||
dr.Item("CONTROL_NAME"),
|
||||
dr.Item("CTRLSCR_X_LOC"),
|
||||
dr.Item("CTRLSCR_Y_LOC"),
|
||||
dr.Item("CTRLSCR_FONT_FAMILY"),
|
||||
dr.Item("CTRLSCR_FONT_COLOR"),
|
||||
dr.Item("CTRLSCR_FONT_SIZE"),
|
||||
dr.Item("CTRLSCR_FONT_STYLE"),
|
||||
dr.Item("CTRLSCR_TAB_INDEX"),
|
||||
dr.Item("CTRLSCR_TAB_STOP"),
|
||||
dr.Item("CTRLSCR_WIDTH"),
|
||||
dr.Item("CTRLSCR_HEIGHT"),
|
||||
dr.Item("CONTROL_MULTILINE"),
|
||||
dr.Item("CONTROL_READ_ONLY"),
|
||||
dr.Item("CONTROL_REQUIRED"),
|
||||
dr.Item("CONTROL_FORMAT_TYPE"),
|
||||
False,
|
||||
parent,
|
||||
True)
|
||||
Case 3 ' ComboBox
|
||||
CtrlBuilder.AddComboBox(dr.Item("CONTROL_ID"),
|
||||
dr.Item("CONTROL_NAME"),
|
||||
dr.Item("CTRLSCR_X_LOC"),
|
||||
dr.Item("CTRLSCR_Y_LOC"),
|
||||
dr.Item("CTRLSCR_FONT_FAMILY"),
|
||||
dr.Item("CTRLSCR_FONT_COLOR"),
|
||||
dr.Item("CTRLSCR_FONT_SIZE"),
|
||||
dr.Item("CTRLSCR_FONT_STYLE"),
|
||||
dr.Item("CTRLSCR_TAB_INDEX"),
|
||||
dr.Item("CTRLSCR_TAB_STOP"),
|
||||
dr.Item("CTRLSCR_WIDTH"),
|
||||
dr.Item("CTRLSCR_HEIGHT"),
|
||||
dr.Item("CONTROL_FORMAT_TYPE"),
|
||||
False,
|
||||
dr.Item("CONTROL_READ_ONLY"),
|
||||
dr.Item("CONTROL_REQUIRED"),
|
||||
dr.Item("CONTROL_STATIC_LIST"),
|
||||
dr.Item("CONTROL_SQLCOMMAND_1"),
|
||||
parent,
|
||||
True)
|
||||
Case 4 ' DateTimePicker
|
||||
CtrlBuilder.AddDateTimePicker(dr.Item("CONTROL_ID"),
|
||||
dr.Item("CONTROL_NAME"),
|
||||
dr.Item("CTRLSCR_X_LOC"),
|
||||
dr.Item("CTRLSCR_Y_LOC"),
|
||||
dr.Item("CTRLSCR_FONT_FAMILY"),
|
||||
dr.Item("CTRLSCR_FONT_SIZE"),
|
||||
dr.Item("CTRLSCR_FONT_STYLE"),
|
||||
dr.Item("CTRLSCR_TAB_INDEX"),
|
||||
dr.Item("CTRLSCR_TAB_STOP"),
|
||||
dr.Item("CTRLSCR_WIDTH"),
|
||||
dr.Item("CTRLSCR_HEIGHT"),
|
||||
dr.Item("CONTROL_READ_ONLY"),
|
||||
dr.Item("CONTROL_REQUIRED"),
|
||||
False,
|
||||
parent,
|
||||
True)
|
||||
Case 5 ' GroupBox
|
||||
CtrlBuilder.AddGroupBox(dr.Item("CONTROL_ID"),
|
||||
dr.Item("CONTROL_NAME"),
|
||||
dr.Item("CTRLSCR_CAPTION"),
|
||||
dr.Item("CTRLSCR_X_LOC"),
|
||||
dr.Item("CTRLSCR_Y_LOC"),
|
||||
dr.Item("CTRLSCR_WIDTH"),
|
||||
dr.Item("CTRLSCR_HEIGHT"),
|
||||
dr.Item("CTRLSCR_BACK_COLOR"),
|
||||
dr.Item("CTRLSCR_FONT_COLOR"),
|
||||
dr.Item("CTRLSCR_FONT_FAMILY"),
|
||||
dr.Item("CTRLSCR_FONT_SIZE"),
|
||||
dr.Item("CTRLSCR_FONT_STYLE"),
|
||||
False,
|
||||
parent,
|
||||
True)
|
||||
Case 6 ' PictureBox
|
||||
CtrlBuilder.AddPictureBox(dr.Item("CONTROL_ID"),
|
||||
dr.Item("CONTROL_NAME"),
|
||||
dr.Item("CTRLSCR_X_LOC"),
|
||||
dr.Item("CTRLSCR_Y_LOC"),
|
||||
dr.Item("CTRLSCR_WIDTH"),
|
||||
dr.Item("CTRLSCR_HEIGHT"),
|
||||
False,
|
||||
dr.Item("CONTROL_READ_ONLY"),
|
||||
dr.Item("CONTROL_REQUIRED"),
|
||||
parent,
|
||||
True)
|
||||
Case 7 ' DataGridView
|
||||
CtrlBuilder.AddDataGridView(dr.Item("CONTROL_ID"),
|
||||
dr.Item("CONTROL_NAME"),
|
||||
dr.Item("CTRLSCR_X_LOC"),
|
||||
dr.Item("CTRLSCR_Y_LOC"),
|
||||
dr.Item("CTRLSCR_WIDTH"),
|
||||
dr.Item("CTRLSCR_HEIGHT"),
|
||||
False,
|
||||
dr.Item("CONTROL_READ_ONLY"),
|
||||
dr.Item("CONTROL_REQUIRED"),
|
||||
dr.Item("CONTROL_COL_NAME"),
|
||||
parent,
|
||||
True)
|
||||
Case 10 ' Checkbox
|
||||
Dim Checked As Boolean
|
||||
If IsDBNull(dr.Item("CONTROL_DEF_VALUE")) Then
|
||||
Checked = False
|
||||
Else
|
||||
Checked = StrToBool(dr.Item("CONTROL_DEF_VALUE"))
|
||||
End If
|
||||
CtrlBuilder.AddCheckBox(dr.Item("CONTROL_ID"),
|
||||
dr.Item("CONTROL_NAME"),
|
||||
dr.Item("CTRLSCR_CAPTION"),
|
||||
Checked,
|
||||
dr.Item("CTRLSCR_X_LOC"),
|
||||
dr.Item("CTRLSCR_Y_LOC"),
|
||||
dr.Item("CTRLSCR_FONT_FAMILY"),
|
||||
dr.Item("CTRLSCR_FONT_COLOR"),
|
||||
dr.Item("CTRLSCR_FONT_SIZE"),
|
||||
dr.Item("CTRLSCR_FONT_STYLE"),
|
||||
dr.Item("CTRLSCR_TAB_INDEX"),
|
||||
dr.Item("CTRLSCR_TAB_STOP"),
|
||||
dr.Item("CTRLSCR_WIDTH"),
|
||||
dr.Item("CTRLSCR_HEIGHT"),
|
||||
False,
|
||||
dr.Item("CONTROL_READ_ONLY"),
|
||||
dr.Item("CONTROL_REQUIRED"),
|
||||
parent,
|
||||
True)
|
||||
Case 8 'AddAppointment Button
|
||||
CtrlBuilder.FunctionAddAppointment(dr.Item("CONTROL_ID"),
|
||||
dr.Item("CONTROL_NAME"),
|
||||
dr.Item("CTRLSCR_CAPTION"),
|
||||
dr.Item("CTRLSCR_X_LOC"),
|
||||
dr.Item("CTRLSCR_Y_LOC"),
|
||||
dr.Item("CTRLSCR_WIDTH"),
|
||||
dr.Item("CTRLSCR_HEIGHT"),
|
||||
False,
|
||||
parent,
|
||||
True)
|
||||
Case 9 'AddFormData
|
||||
CtrlBuilder.FunctionAddFormData(dr.Item("CONTROL_ID"),
|
||||
dr.Item("CONTROL_NAME"),
|
||||
dr.Item("CTRLSCR_CAPTION"),
|
||||
dr.Item("CTRLSCR_X_LOC"),
|
||||
dr.Item("CTRLSCR_Y_LOC"),
|
||||
dr.Item("CTRLSCR_WIDTH"),
|
||||
dr.Item("CTRLSCR_HEIGHT"),
|
||||
False,
|
||||
parent,
|
||||
True)
|
||||
|
||||
Case 11 ' RadioButton
|
||||
Dim Checked As Boolean
|
||||
If IsDBNull(dr.Item("CONTROL_DEF_VALUE")) Then
|
||||
Checked = False
|
||||
Else
|
||||
Checked = StrToBool(dr.Item("CONTROL_DEF_VALUE"))
|
||||
End If
|
||||
CtrlBuilder.AddRadioButton(dr.Item("CONTROL_ID"),
|
||||
dr.Item("CONTROL_NAME"),
|
||||
dr.Item("CTRLSCR_CAPTION"),
|
||||
Checked,
|
||||
dr.Item("CTRLSCR_X_LOC"),
|
||||
dr.Item("CTRLSCR_Y_LOC"),
|
||||
dr.Item("CTRLSCR_FONT_FAMILY"),
|
||||
dr.Item("CTRLSCR_FONT_COLOR"),
|
||||
dr.Item("CTRLSCR_FONT_SIZE"),
|
||||
dr.Item("CTRLSCR_FONT_STYLE"),
|
||||
dr.Item("CTRLSCR_TAB_INDEX"),
|
||||
dr.Item("CTRLSCR_TAB_STOP"),
|
||||
dr.Item("CTRLSCR_WIDTH"),
|
||||
dr.Item("CTRLSCR_HEIGHT"),
|
||||
False,
|
||||
dr.Item("CONTROL_READ_ONLY"),
|
||||
dr.Item("CONTROL_REQUIRED"),
|
||||
parent,
|
||||
True)
|
||||
Case 12 'CheckedListBox
|
||||
CtrlBuilder.AddCheckedListBox(dr.Item("CONTROL_ID"),
|
||||
dr.Item("CONTROL_NAME"),
|
||||
dr.Item("CTRLSCR_X_LOC"),
|
||||
dr.Item("CTRLSCR_Y_LOC"),
|
||||
dr.Item("CTRLSCR_FONT_FAMILY"),
|
||||
dr.Item("CTRLSCR_FONT_COLOR"),
|
||||
dr.Item("CTRLSCR_FONT_SIZE"),
|
||||
dr.Item("CTRLSCR_FONT_STYLE"),
|
||||
dr.Item("CTRLSCR_TAB_INDEX"),
|
||||
dr.Item("CTRLSCR_TAB_STOP"),
|
||||
dr.Item("CTRLSCR_WIDTH"),
|
||||
dr.Item("CTRLSCR_HEIGHT"),
|
||||
False,
|
||||
dr.Item("CONTROL_READ_ONLY"),
|
||||
dr.Item("CONTROL_REQUIRED"),
|
||||
dr.Item("CONTROL_STATIC_LIST"),
|
||||
dr.Item("CONTROL_SQLCOMMAND_1"),
|
||||
parent,
|
||||
True)
|
||||
Case 13 'ListBox
|
||||
CtrlBuilder.AddListBox(dr.Item("CONTROL_ID"),
|
||||
dr.Item("CONTROL_NAME"),
|
||||
dr.Item("CTRLSCR_X_LOC"),
|
||||
dr.Item("CTRLSCR_Y_LOC"),
|
||||
dr.Item("CTRLSCR_FONT_FAMILY"),
|
||||
dr.Item("CTRLSCR_FONT_COLOR"),
|
||||
dr.Item("CTRLSCR_FONT_SIZE"),
|
||||
dr.Item("CTRLSCR_FONT_STYLE"),
|
||||
dr.Item("CTRLSCR_TAB_INDEX"),
|
||||
dr.Item("CTRLSCR_TAB_STOP"),
|
||||
dr.Item("CTRLSCR_WIDTH"),
|
||||
dr.Item("CTRLSCR_HEIGHT"),
|
||||
False,
|
||||
dr.Item("CONTROL_READ_ONLY"),
|
||||
dr.Item("CONTROL_REQUIRED"),
|
||||
dr.Item("CONTROL_STATIC_LIST"),
|
||||
dr.Item("CONTROL_SQLCOMMAND_1"),
|
||||
parent,
|
||||
True)
|
||||
End Select
|
||||
Next
|
||||
End Sub
|
||||
|
||||
|
||||
#End Region
|
||||
|
||||
#Region "+++++ Mouse Events +++++"
|
||||
Private Sub Control_Click(sender As Object, e As EventArgs)
|
||||
Dim control As Control = DirectCast(sender, Control)
|
||||
|
||||
' Aktuelles Control highlighten
|
||||
control.BringToFront()
|
||||
CtrlBuilder.SetAllActiveColor()
|
||||
|
||||
' GUID des aktuellen Controls speichern
|
||||
CURRENT_CONTROL_ID = ClassControlCommands.GetControlGuid(CtrlBuilder.CurrentControl.Name)
|
||||
|
||||
' Control Eigenschaften laden
|
||||
'frmTool_ControlProperties.Instance.pgControlProperties.Enabled = True
|
||||
pgControlProperties.Enabled = True
|
||||
|
||||
'frmTool_ControlProperties.Instance.LoadControlProperties(CtrlBuilder.CurrentControl)
|
||||
'frmTool_ControlProperties.Instance.LoadControlPropertiesNeu(CtrlBuilder.CurrentControl)
|
||||
LoadControlPropertiesNeu(CtrlBuilder.CurrentControl)
|
||||
End Sub
|
||||
|
||||
|
||||
Private Sub Control_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseDown
|
||||
' Check to see if the correct button has been pressed
|
||||
If e.Button = Windows.Forms.MouseButtons.Left Then
|
||||
CtrlBuilder.CurrentControl = sender
|
||||
CtrlBuilder.BeginLocation = e.Location
|
||||
|
||||
' Set the mode flag to signal the MouseMove event handler that it
|
||||
' needs to now calculate new positions for our control
|
||||
Mouse_Moving = True
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub ControlButton_MouseDown(sender As Object, e As MouseEventArgs) Handles btntextbox.MouseDown,
|
||||
btnlabel.MouseDown,
|
||||
btndtp.MouseDown,
|
||||
btncmb.MouseDown,
|
||||
btnCheckbox.MouseDown,
|
||||
btnpb.MouseDown,
|
||||
btngb.MouseDown,
|
||||
btn_addtocal.MouseDown,
|
||||
btn_addformdata.MouseDown,
|
||||
btnRadioButton.MouseDown,
|
||||
btnListBoxCheckable.MouseDown,
|
||||
btnListBox.MouseDown
|
||||
Mouse_Down = True
|
||||
End Sub
|
||||
|
||||
Private Sub ControlButton_MouseMove(sender As Object, e As MouseEventArgs) Handles btntextbox.MouseMove,
|
||||
btnlabel.MouseMove,
|
||||
btndtp.MouseMove,
|
||||
btncmb.MouseMove,
|
||||
btnCheckbox.MouseMove,
|
||||
btnpb.MouseMove,
|
||||
btngb.MouseMove,
|
||||
btn_addtocal.MouseMove,
|
||||
btn_addformdata.MouseMove,
|
||||
btnRadioButton.MouseMove,
|
||||
btnListBoxCheckable.MouseMove,
|
||||
btnListBox.MouseMove
|
||||
|
||||
If Mouse_Down = True Then
|
||||
Dim control As Control = DirectCast(sender, Control)
|
||||
control.DoDragDrop(control.Tag, DragDropEffects.Copy)
|
||||
End If
|
||||
Mouse_Down = False
|
||||
End Sub
|
||||
|
||||
Private Sub Control_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseUp
|
||||
' The button was released, so we're going back to Static mode.
|
||||
If Mouse_Moving = True Then
|
||||
Mouse_Moving = False
|
||||
'end_location = e.Location
|
||||
CtrlBuilder.EndLocation = e.Location
|
||||
|
||||
'frmTool_ControlProperties.Instance.UpdateControlLocation(CtrlBuilder.CurrentControl)
|
||||
UpdateControlLocation(CtrlBuilder.CurrentControl)
|
||||
ClassControlCommands.UpdateControlPosition(CtrlBuilder.CurrentControl.Location.X,
|
||||
CtrlBuilder.CurrentControl.Location.Y,
|
||||
CtrlBuilder.CurrentControl)
|
||||
|
||||
'Save_Control()
|
||||
End If
|
||||
' Restore the cursor image to the way we found it when the mouse
|
||||
' button was pressed
|
||||
MyBase.Cursor = Cursors.Default
|
||||
End Sub
|
||||
Private Sub Control_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseMove
|
||||
Try
|
||||
If CtrlBuilder.CurrentControl Is Nothing Then
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
If Mouse_Moving = True Then
|
||||
Me.Cursor = Cursors.Hand
|
||||
Me.Refresh()
|
||||
|
||||
Dim control As Control = DirectCast(sender, Control)
|
||||
Dim NowCursor As Point = CtrlBuilder.GetCursorPosition()
|
||||
|
||||
' Wenn das Control in einer GroupBox steckt
|
||||
If ParentIsGroupBox(control) Then
|
||||
Dim p As Control = control.Parent
|
||||
Dim newPos As Point = New Point(NowCursor.X - p.Location.X - e.Location.X,
|
||||
NowCursor.Y - p.Location.Y - e.Location.Y)
|
||||
|
||||
' Verhindert, dass das Control links+oben außerhalb der Groupbox geschoben wird = unerreichbar
|
||||
If newPos.X < 0 Or newPos.Y < 0 Then
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
' Verhindert, dass das Control rechts+unten außerhalb der Groupbox geschoben wird = unerreichbar
|
||||
If (newPos.X + control.Size.Width) > p.Size.Width Or (newPos.Y + control.Size.Height) > p.Size.Height Then
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
If Point.op_Inequality(NowCursor, LastCursor) Then
|
||||
control.Location = newPos
|
||||
LastCursor = NowCursor
|
||||
End If
|
||||
|
||||
Else
|
||||
' Alle normalen Controls
|
||||
control.Location = New Point(NowCursor.X - CtrlBuilder.BeginLocation.X,
|
||||
NowCursor.Y - CtrlBuilder.BeginLocation.Y)
|
||||
End If
|
||||
End If
|
||||
Catch ex As Exception
|
||||
MsgBox(ex.Message, MsgBoxStyle.Exclamation, "MovableLabel_MouseMove")
|
||||
Mouse_Moving = False
|
||||
End Try
|
||||
|
||||
End Sub
|
||||
#End Region
|
||||
|
||||
Private Sub Control_PressTab(sender As Object, e As PreviewKeyDownEventArgs)
|
||||
'NOOP
|
||||
End Sub
|
||||
|
||||
Private Function RebuildView()
|
||||
Try
|
||||
'Dim sql = "EXECUTE PRPMO_CREATE_SQL " & CURRENT_FORM_ID
|
||||
'ClassDatabase.Execute_non_Query_Async(sql)
|
||||
'Dim sql2 = "EXECUTE PRPMO_CREATE_TEMP_VIEWS"
|
||||
'ClassDatabase.Execute_non_Query_Async(sql2)
|
||||
'Return True
|
||||
|
||||
Dim noerror As Boolean = False
|
||||
Dim sql = "EXECUTE PRPMO_CREATE_SQL " & CURRENT_FORM_ID
|
||||
noerror = ClassDatabase.Execute_non_Query_withConn(sql, 1)
|
||||
sql = "EXECUTE PRPMO_CREATE_TEMP_VIEWS"
|
||||
noerror = ClassDatabase.Execute_non_Query_withConn(sql, 1)
|
||||
Return noerror
|
||||
Catch ex As Exception
|
||||
MsgBox("Error in btnexecute_CreateViewSql:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
|
||||
Return False
|
||||
End Try
|
||||
End Function
|
||||
|
||||
|
||||
Private Sub ToolStripButton1_Click(sender As Object, e As EventArgs) Handles ToolStripButton1.Click
|
||||
If RebuildView() = True Then
|
||||
MsgBox("The Views have been created successful.", MsgBoxStyle.Information)
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub frmLevel_Designer_Shown(sender As Object, e As EventArgs) Handles Me.Shown
|
||||
formloaded = True
|
||||
End Sub
|
||||
|
||||
Public Sub LoadControlPropertiesNeu(ctrl As Control)
|
||||
Try
|
||||
|
||||
Dim controlId = DirectCast(ctrl.Tag, ClassControlMetadata).Id
|
||||
Dim sql As String = String.Format("SELECT * FROM VWPMO_CONTROL_SCREEN WHERE CONTROL_ID = {0}", ControlId)
|
||||
'Dim sqlHint As String = String.Format("SELECT HINT FROM TBPMO_CONTROL_LANGUAGE WHERE CONTROL_SCREEN_ID = {0} AND LANGUAGE_TYPE = '{1}'", controlId, USER_LANGUAGE)
|
||||
Dim sqlHint = String.Format("SELECT HINT FROM TBPMO_CONTROL_LANGUAGE WHERE CONTROL_SCREEN_ID = (SELECT GUID FROM TBPMO_CONTROL_SCREEN WHERE CONTROL_ID = {0} AND SCREEN_ID = {1}) AND LANGUAGE_TYPE = '{2}'", controlId, CURRENT_SCREEN_ID, USER_LANGUAGE)
|
||||
|
||||
Dim dt As DataTable = ClassDatabase.Return_Datatable(sql)
|
||||
Dim hint As String = ClassConverter.ToStringOrDefault(ClassDatabase.Execute_Scalar(sqlHint), Nothing)
|
||||
|
||||
Dim props As Object = Nothing
|
||||
Dim r As DataRow = Nothing
|
||||
Dim type As String = Nothing
|
||||
|
||||
If dt.Rows.Count <> 1 Then
|
||||
MsgBox("Unexpected behaviour in LoadControlProperties: No Control could be loaded!" & vbNewLine & "Tag.ControlID: " & ControlId.ToString, MsgBoxStyle.Exclamation)
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
r = dt.Rows(0)
|
||||
type = r.Item("CTRLTYPE_NAME")
|
||||
|
||||
'Props Object initialisieren
|
||||
Select Case type
|
||||
Case "Label" : props = New LabelProperties()
|
||||
Case "Textbox" : props = New TextBoxProperties()
|
||||
Case "Combobox" : props = New ComboBoxProperties()
|
||||
Case "Checkbox" : props = New CheckBoxProperties()
|
||||
Case "RadioButton" : props = New RadioButtonProperties()
|
||||
Case "Datepicker" : props = New DateTimePickerProperties()
|
||||
Case "Datagridview" : props = New DataGridViewProperties()
|
||||
Case "Groupbox" : props = New GroupBoxProperties()
|
||||
Case "Picturebox" : props = New PictureBoxProperties()
|
||||
Case "ListBox" : props = New ComboBoxProperties()
|
||||
Case "CheckedListBox" : props = New ComboBoxProperties()
|
||||
Case "F_AddAppointment" : props = New FunctionAddAppointment()
|
||||
Case "F_AddFormData" : props = New FunctionAddFormData()
|
||||
End Select
|
||||
|
||||
'Generische Properties laden
|
||||
props.ID = r.Item("CONTROL_ID")
|
||||
props.Name = r.Item("CONTROL_NAME")
|
||||
props.Size = New Size(r.Item("CTRLSCR_WIDTH"), r.Item("CTRLSCR_HEIGHT"))
|
||||
props.Location = New Point(r.Item("CTRLSCR_X_LOC"), r.Item("CTRLSCR_Y_LOC"))
|
||||
props.Hint = hint
|
||||
|
||||
'Control-spezifische Properties laden
|
||||
Select Case type
|
||||
Case "Label"
|
||||
props.Type = "Label"
|
||||
props.FontColor = IntToColor(r.Item("CTRLSCR_FONT_COLOR"))
|
||||
props.Font = New Font(r.Item("CTRLSCR_FONT_FAMILY").ToString(),
|
||||
CType(r.Item("CTRLSCR_FONT_SIZE"), Single),
|
||||
CType(r.Item("CTRLSCR_FONT_STYLE"), FontStyle))
|
||||
props.ColumnTitle = r.Item("CONTROL_COL_NAME")
|
||||
props.Caption = r.Item("CTRLSCR_CAPTION")
|
||||
props.SQLCommand = New SQLValue(NotNull(r.Item("CONTROL_SQLCOMMAND_1"), ""))
|
||||
|
||||
Case "Textbox"
|
||||
props.Type = "Textbox"
|
||||
props.FontColor = IntToColor(r.Item("CTRLSCR_FONT_COLOR"))
|
||||
props.Font = New Font(r.Item("CTRLSCR_FONT_FAMILY").ToString(),
|
||||
CType(r.Item("CTRLSCR_FONT_SIZE"), Single),
|
||||
CType(r.Item("CTRLSCR_FONT_STYLE"), FontStyle))
|
||||
props.ColumnTitle = r.Item("CONTROL_COL_NAME")
|
||||
props.DefaultValue = ClassConverter.ToStringOrDefault(r.Item("CONTROL_DEF_VALUE"))
|
||||
props.Format = NotNull([Enum].Parse(GetType(EnumFormatOptions), r.Item("CONTROL_FORMAT_TYPE")), EnumFormatOptions.String)
|
||||
props.IsRequired = r.Item("CONTROL_REQUIRED")
|
||||
props.IsReadOnly = r.Item("CONTROL_READ_ONLY")
|
||||
props.TabStop = r.Item("CTRLSCR_TAB_STOP")
|
||||
props.TabIndex = r.Item("CTRLSCR_TAB_INDEX")
|
||||
props.ShowColumn = NotNull(CBool(r.Item("CONTROL_SHOW_COLUMN")), True)
|
||||
props.Multiline = r.Item("CONTROL_MULTILINE")
|
||||
props.SQLCommand = New SQLValue(NotNull(r.Item("CONTROL_SQLCOMMAND_1"), ""))
|
||||
|
||||
Case "Combobox"
|
||||
props.FontColor = IntToColor(r.Item("CTRLSCR_FONT_COLOR"))
|
||||
props.Font = New Font(r.Item("CTRLSCR_FONT_FAMILY").ToString(),
|
||||
CType(r.Item("CTRLSCR_FONT_SIZE"), Single),
|
||||
CType(r.Item("CTRLSCR_FONT_STYLE"), FontStyle))
|
||||
props.ColumnTitle = r.Item("CONTROL_COL_NAME")
|
||||
props.DefaultValue = ClassConverter.ToStringOrDefault(r.Item("CONTROL_DEF_VALUE"))
|
||||
props.MasterDataId = r.Item("CTRLSCR_MASTER_DATA_ID")
|
||||
props.Format = NotNull([Enum].Parse(GetType(EnumFormatOptions), r.Item("CONTROL_FORMAT_TYPE")), EnumFormatOptions.String)
|
||||
props.StaticList = NotNull(r.Item("CONTROL_STATIC_LIST"), "")
|
||||
props.IsRequired = r.Item("CONTROL_REQUIRED")
|
||||
props.IsReadOnly = r.Item("CONTROL_READ_ONLY")
|
||||
props.TabStop = r.Item("CTRLSCR_TAB_STOP")
|
||||
props.TabIndex = r.Item("CTRLSCR_TAB_INDEX")
|
||||
props.ShowColumn = NotNull(CBool(r.Item("CONTROL_SHOW_COLUMN")), True)
|
||||
props.SQLCommand = New SQLValue(NotNull(r.Item("CONTROL_SQLCOMMAND_1"), ""))
|
||||
|
||||
Case "Checkbox"
|
||||
props.FontColor = IntToColor(r.Item("CTRLSCR_FONT_COLOR"))
|
||||
props.Font = New Font(r.Item("CTRLSCR_FONT_FAMILY").ToString(),
|
||||
CType(r.Item("CTRLSCR_FONT_SIZE"), Single),
|
||||
CType(r.Item("CTRLSCR_FONT_STYLE"), FontStyle))
|
||||
props.ColumnTitle = r.Item("CONTROL_COL_NAME")
|
||||
props.Caption = r.Item("CTRLSCR_CAPTION")
|
||||
props.DefaultValue = ClassConverter.ToBooleanOrDefault(r.Item("CONTROL_DEF_VALUE"))
|
||||
props.IsRequired = r.Item("CONTROL_REQUIRED")
|
||||
props.IsReadOnly = r.Item("CONTROL_READ_ONLY")
|
||||
props.ShowColumn = NotNull(CBool(r.Item("CONTROL_SHOW_COLUMN")), True)
|
||||
props.TabStop = r.Item("CTRLSCR_TAB_STOP")
|
||||
props.TabIndex = r.Item("CTRLSCR_TAB_INDEX")
|
||||
|
||||
Case "RadioButton"
|
||||
props.ColumnTitle = r.Item("CONTROL_COL_NAME")
|
||||
props.Caption = r.Item("CTRLSCR_CAPTION")
|
||||
props.IsRequired = r.Item("CONTROL_REQUIRED")
|
||||
props.IsReadOnly = r.Item("CONTROL_READ_ONLY")
|
||||
props.FontColor = IntToColor(r.Item("CTRLSCR_FONT_COLOR"))
|
||||
props.Font = New Font(r.Item("CTRLSCR_FONT_FAMILY").ToString(),
|
||||
CType(r.Item("CTRLSCR_FONT_SIZE"), Single),
|
||||
CType(r.Item("CTRLSCR_FONT_STYLE"), FontStyle))
|
||||
|
||||
Case "Datepicker"
|
||||
props.FontColor = IntToColor(r.Item("CTRLSCR_FONT_COLOR"))
|
||||
props.Font = New Font(r.Item("CTRLSCR_FONT_FAMILY").ToString(),
|
||||
CType(r.Item("CTRLSCR_FONT_SIZE"), Single),
|
||||
CType(r.Item("CTRLSCR_FONT_STYLE"), FontStyle))
|
||||
props.ColumnTitle = r.Item("CONTROL_COL_NAME")
|
||||
Dim i = r.Item("CONTROL_DEF_VALUE")
|
||||
props.DefaultValue = NotNull(r.Item("CONTROL_DEF_VALUE"), EnumDateTimePickerDefaultValueOptions.Empty)
|
||||
props.IsRequired = r.Item("CONTROL_REQUIRED")
|
||||
props.IsReadOnly = r.Item("CONTROL_READ_ONLY")
|
||||
props.ShowColumn = NotNull(CBool(r.Item("CONTROL_SHOW_COLUMN")), True)
|
||||
props.TabStop = r.Item("CTRLSCR_TAB_STOP")
|
||||
props.TabIndex = r.Item("CTRLSCR_TAB_INDEX")
|
||||
|
||||
Case "Datagridview"
|
||||
' Keine zusätzliche Properties
|
||||
props.FontColor = IntToColor(r.Item("CTRLSCR_FONT_COLOR"))
|
||||
props.Font = New Font(r.Item("CTRLSCR_FONT_FAMILY").ToString(),
|
||||
CType(r.Item("CTRLSCR_FONT_SIZE"), Single),
|
||||
CType(r.Item("CTRLSCR_FONT_STYLE"), FontStyle))
|
||||
props.ColumnTitle = ClassConverter.ToStringOrDefault(r.Item("CONTROL_COL_NAME"), ctrl.Name)
|
||||
props.ShowColumn = ClassConverter.ToBooleanOrDefault(r.Item("CONTROL_SHOW_COLUMN"), True)
|
||||
props.SQLCommand = New SQLValue(NotNull(r.Item("CONTROL_SQLCOMMAND_1"), ""))
|
||||
props.IsRequired = r.Item("CONTROL_REQUIRED")
|
||||
props.IsReadOnly = r.Item("CONTROL_READ_ONLY")
|
||||
|
||||
Case "Groupbox"
|
||||
props.Caption = r.Item("CTRLSCR_CAPTION")
|
||||
props.BackColor = IntToColor(r.Item("CTRLSCR_BACK_COLOR"))
|
||||
|
||||
Case "Picturebox"
|
||||
props.IsRequired = r.Item("CONTROL_REQUIRED")
|
||||
props.IsReadOnly = r.Item("CONTROL_READ_ONLY")
|
||||
|
||||
Case "ListBox"
|
||||
props.StaticList = ClassConverter.ToStringOrDefault(r.Item("CONTROL_STATIC_LIST"))
|
||||
props.IsRequired = r.Item("CONTROL_REQUIRED")
|
||||
props.IsReadOnly = r.Item("CONTROL_READ_ONLY")
|
||||
props.FontColor = IntToColor(r.Item("CTRLSCR_FONT_COLOR"))
|
||||
props.Font = New Font(r.Item("CTRLSCR_FONT_FAMILY").ToString(),
|
||||
CType(r.Item("CTRLSCR_FONT_SIZE"), Single),
|
||||
CType(r.Item("CTRLSCR_FONT_STYLE"), FontStyle))
|
||||
props.ColumnTitle = ClassConverter.ToStringOrDefault(r.Item("CONTROL_COL_NAME"), ctrl.Name)
|
||||
props.ShowColumn = ClassConverter.ToBooleanOrDefault(r.Item("CONTROL_SHOW_COLUMN"), True)
|
||||
|
||||
Case "CheckedListBox"
|
||||
props.StaticList = ClassConverter.ToStringOrDefault(r.Item("CONTROL_STATIC_LIST"))
|
||||
props.IsRequired = r.Item("CONTROL_REQUIRED")
|
||||
props.IsReadOnly = r.Item("CONTROL_READ_ONLY")
|
||||
props.FontColor = IntToColor(r.Item("CTRLSCR_FONT_COLOR"))
|
||||
props.Font = New Font(r.Item("CTRLSCR_FONT_FAMILY").ToString(),
|
||||
CType(r.Item("CTRLSCR_FONT_SIZE"), Single),
|
||||
CType(r.Item("CTRLSCR_FONT_STYLE"), FontStyle))
|
||||
props.ColumnTitle = ClassConverter.ToStringOrDefault(r.Item("CONTROL_COL_NAME"), ctrl.Name)
|
||||
props.ShowColumn = ClassConverter.ToBooleanOrDefault(r.Item("CONTROL_SHOW_COLUMN"), True)
|
||||
|
||||
Case "F_AddAppointment"
|
||||
props.Caption() = r.Item("CTRLSCR_CAPTION")
|
||||
|
||||
Dim f = ClassFunctionCommands.LoadFunction(controlId)
|
||||
Dim FromDateId, ToDateId, SubjectString, Subject2String, PlaceString, DescString
|
||||
|
||||
FromDateId = f.Item("INTEGER1")
|
||||
If IsDBNull(FromDateId) OrElse FromDateId = 0 Then
|
||||
props.FromDate = ""
|
||||
Else
|
||||
props.FromDate = Get_Name_for_ControlID(FromDateId, CURRENT_FORM_ID)
|
||||
End If
|
||||
|
||||
ToDateId = f.Item("INTEGER2")
|
||||
If IsDBNull(ToDateId) OrElse ToDateId = 0 Then
|
||||
props.ToDate = ""
|
||||
Else
|
||||
props.ToDate = Get_Name_for_ControlID(ToDateId, CURRENT_FORM_ID)
|
||||
End If
|
||||
|
||||
SubjectString = f.Item("STRING1")
|
||||
If IsDBNull(SubjectString) OrElse String.IsNullOrEmpty(SubjectString) Then
|
||||
props.Subject = ""
|
||||
Else
|
||||
props.Subject = SubjectString
|
||||
End If
|
||||
|
||||
Subject2String = f.Item("STRING2")
|
||||
If IsDBNull(Subject2String) OrElse String.IsNullOrEmpty(Subject2String) Then
|
||||
props.Subject2 = ""
|
||||
Else
|
||||
props.Subject2 = Subject2String
|
||||
End If
|
||||
|
||||
PlaceString = f.Item("STRING3")
|
||||
If IsDBNull(PlaceString) OrElse String.IsNullOrEmpty(PlaceString) Then
|
||||
props.Place = ""
|
||||
Else
|
||||
props.Place = PlaceString
|
||||
End If
|
||||
|
||||
DescString = f.Item("STRING4")
|
||||
If IsDBNull(DescString) OrElse String.IsNullOrEmpty(DescString) Then
|
||||
props.Description = ""
|
||||
Else
|
||||
props.Description = DescString
|
||||
End If
|
||||
|
||||
|
||||
Case "F_AddFormData"
|
||||
props.Caption = r.Item("CTRLSCR_CAPTION")
|
||||
|
||||
Dim f = ClassFunctionCommands.LoadFunction(controlId)
|
||||
|
||||
Dim FormId = f.Item("INTEGER1")
|
||||
props.FormID = NotNullInt(FormId, 0)
|
||||
|
||||
Dim ScreenId = f.Item("INTEGER2")
|
||||
props.ScreenID = NotNullInt(ScreenId, 0)
|
||||
|
||||
End Select
|
||||
|
||||
CURRENT_CONTROL_ID = r.Item("CONTROL_ID")
|
||||
' Aktuelle Control Eigenschaften anzeigen
|
||||
Me.pgControlProperties.SelectedObject = props
|
||||
' Fenster Titel aktualisieren
|
||||
|
||||
Catch ex As Exception
|
||||
MsgBox("Error in LoadControlProperties" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
Public Sub UpdateControlLocation(ctrl As Control)
|
||||
Current_Properties = Me.pgControlProperties.SelectedObject
|
||||
|
||||
If Current_Properties IsNot Nothing Then
|
||||
Current_Properties.Location = ctrl.Location
|
||||
Me.pgControlProperties.SelectedObject = Current_Properties
|
||||
End If
|
||||
|
||||
End Sub
|
||||
|
||||
Public Function SaveControlProperties(ctrl As Control, properties As Object) As Boolean
|
||||
If ClassControlCommands.UpdateControl(ctrl, properties) Then
|
||||
LoadControlPropertiesNeu(ctrl)
|
||||
Return True
|
||||
Else
|
||||
MsgBox("Fehler beim Speichern der Elementeigenschaften.", MsgBoxStyle.Critical)
|
||||
Return False
|
||||
End If
|
||||
End Function
|
||||
|
||||
Private Sub btnSaveControl_Click(sender As Object, e As EventArgs) Handles btnSaveControl.Click
|
||||
If SaveControlProperties(CtrlBuilder.CurrentControl, pgControlProperties.SelectedObject) Then
|
||||
lblStatus.Text = "Änderungen gespeichert - " & Now
|
||||
lblStatus.Visible = True
|
||||
Else
|
||||
lblStatus.Visible = False
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub btnDeleteControl_Click(sender As Object, e As EventArgs) Handles btnDeleteControl.Click
|
||||
If MsgBox("Wollen Sie das Element wirklich löschen?", MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then
|
||||
If IsGroupBox(CtrlBuilder.CurrentControl) Then
|
||||
Dim parentID As Integer = GetControlID_for_Name(CtrlBuilder.CurrentControl.Name, CURRENT_FORM_ID)
|
||||
Dim SQL = "SELECT GUID FROM TBPMO_CONTROL WHERE PARENT_CONTROL_ID = " & parentID
|
||||
Dim dt As DataTable = ClassDatabase.Return_Datatable(SQL)
|
||||
|
||||
For Each dr As DataRow In dt.Rows
|
||||
Dim id As Integer = dr.Item(0)
|
||||
ClassControlCommands.DeleteControl(id)
|
||||
Next
|
||||
|
||||
End If
|
||||
|
||||
If ClassControlCommands.DeleteControl() = True Then
|
||||
'MsgBox("Element gelöscht, Elemente werden neu geladen.", MsgBoxStyle.Information)
|
||||
CtrlBuilder.ClearControls()
|
||||
frmLevel_Designer.Instance.LoadControls()
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub pgControlProperties_PropertyValueChanged(s As Object, e As PropertyValueChangedEventArgs)
|
||||
|
||||
Dim oldValue As Object = e.OldValue
|
||||
Dim newValue As Object = e.ChangedItem.Value
|
||||
Dim currentProperty As String = e.ChangedItem.Label
|
||||
Dim ctrl As Control = CtrlBuilder.CurrentControl
|
||||
|
||||
Select Case currentProperty
|
||||
Case "Location"
|
||||
ctrl.Location = newValue
|
||||
Case "X"
|
||||
ctrl.Location = New Point(newValue, ctrl.Location.Y)
|
||||
Case "Y"
|
||||
ctrl.Location = New Point(ctrl.Location.X, newValue)
|
||||
Case "Size"
|
||||
ctrl.Size = newValue
|
||||
Case "Width"
|
||||
ctrl.Size = New Size(newValue, ctrl.Size.Height)
|
||||
Case "Height"
|
||||
ctrl.Size = New Size(ctrl.Size.Width, newValue)
|
||||
Case "Name"
|
||||
ctrl.Name = newValue
|
||||
Case "Caption"
|
||||
ctrl.Text = newValue
|
||||
Case "Font"
|
||||
ctrl.Font = newValue
|
||||
Case "FontColor"
|
||||
ctrl.ForeColor = newValue
|
||||
Case "BackColor"
|
||||
ctrl.BackColor = newValue
|
||||
End Select
|
||||
|
||||
lblStatus.Text = "Ausstehende Änderungen"
|
||||
lblStatus.Visible = True
|
||||
End Sub
|
||||
End Class
|
||||
@ -1,648 +0,0 @@
|
||||
Public Class frmTool_ControlProperties
|
||||
Private Shared _Instance As frmTool_ControlProperties = Nothing
|
||||
Private CurrentProperties As Object = Nothing
|
||||
|
||||
Public Shared Function Instance() As frmTool_ControlProperties
|
||||
If _Instance Is Nothing OrElse _Instance.IsDisposed = True Then
|
||||
_Instance = New frmTool_ControlProperties
|
||||
End If
|
||||
_Instance.BringToFront()
|
||||
Return _Instance
|
||||
End Function
|
||||
|
||||
Private Sub frmTool_ControlProperties_Load(sender As Object, e As EventArgs) Handles MyBase.Load
|
||||
ClassWindowLocation.LoadFormLocationSize(Me, 1, CURRENT_SCREEN_ID, "frmTool_ControlProperties")
|
||||
End Sub
|
||||
|
||||
Private Sub frmTool_ControlProperties_FormClosing(sender As Object, e As FormClosingEventArgs) Handles MyBase.FormClosing
|
||||
Try
|
||||
ClassWindowLocation.SaveFormLocationSize(Me, 1, CURRENT_SCREEN_ID, "frmTool_ControlProperties")
|
||||
My.Settings.Save()
|
||||
Catch ex As Exception
|
||||
MsgBox("Settings could not be saved.\n" & ex.ToString)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
Public Sub LoadControlPropertiesNeu(ctrl As Control)
|
||||
Try
|
||||
'TODO: LoadControlProperties Neuschreiben!!!
|
||||
Dim sql As String = String.Format("SELECT * FROM VWPMO_CONTROL_SCREEN WHERE CONTROL_ID = {0}", DirectCast(ctrl.Tag, ClassControlMetadata).Id)
|
||||
Dim dt As DataTable = ClassDatabase.Return_Datatable(sql)
|
||||
Dim props As Object = Nothing
|
||||
Dim r As DataRow = Nothing
|
||||
Dim type As String = Nothing
|
||||
|
||||
If dt.Rows.Count <> 1 Then
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
r = dt.Rows(0)
|
||||
type = r.Item("CTRLTYPE_NAME")
|
||||
|
||||
Select Case type
|
||||
Case "Label"
|
||||
props = New LabelProperties()
|
||||
' Default Values
|
||||
props.ID = r.Item("CONTROL_ID")
|
||||
props.Name = r.Item("CONTROL_NAME")
|
||||
props.Size = New Size(r.Item("CTRLSCR_WIDTH"), r.Item("CTRLSCR_HEIGHT"))
|
||||
props.Location = New Point(r.Item("CTRLSCR_X_LOC"), r.Item("CTRLSCR_Y_LOC"))
|
||||
props.FontColor = IntToColor(r.Item("CTRLSCR_FONT_COLOR"))
|
||||
props.Font = New Font(r.Item("CTRLSCR_FONT_FAMILY").ToString(),
|
||||
CType(r.Item("CTRLSCR_FONT_SIZE"), Single),
|
||||
CType(r.Item("CTRLSCR_FONT_STYLE"), FontStyle))
|
||||
props.ColumnTitle = r.Item("CONTROL_COL_NAME")
|
||||
|
||||
props.Caption = r.Item("CTRLSCR_CAPTION")
|
||||
props.SQLCommand = New SQLValue(NotNull(r.Item("CONTROL_SQLCOMMAND_1"), ""))
|
||||
|
||||
Case "Textbox"
|
||||
props = New TextBoxProperties()
|
||||
' Default Values
|
||||
props.ID = r.Item("CONTROL_ID")
|
||||
props.Name = r.Item("CONTROL_NAME")
|
||||
props.Size = New Size(r.Item("CTRLSCR_WIDTH"), r.Item("CTRLSCR_HEIGHT"))
|
||||
props.Location = New Point(r.Item("CTRLSCR_X_LOC"), r.Item("CTRLSCR_Y_LOC"))
|
||||
props.FontColor = IntToColor(r.Item("CTRLSCR_FONT_COLOR"))
|
||||
props.Font = New Font(r.Item("CTRLSCR_FONT_FAMILY").ToString(),
|
||||
CType(r.Item("CTRLSCR_FONT_SIZE"), Single),
|
||||
CType(r.Item("CTRLSCR_FONT_STYLE"), FontStyle))
|
||||
props.ColumnTitle = r.Item("CONTROL_COL_NAME")
|
||||
|
||||
props.DefaultValue = ClassConverter.ToStringOrDefault(r.Item("CONTROL_DEF_VALUE"))
|
||||
props.Format = NotNull([Enum].Parse(GetType(EnumFormatOptions), r.Item("CONTROL_FORMAT_TYPE")), EnumFormatOptions.String)
|
||||
props.IsRequired = r.Item("CONTROL_REQUIRED")
|
||||
props.IsReadOnly = r.Item("CONTROL_READ_ONLY")
|
||||
props.TabStop = r.Item("CTRLSCR_TAB_STOP")
|
||||
props.TabIndex = r.Item("CTRLSCR_TAB_INDEX")
|
||||
props.ShowColumn = NotNull(r.Item("CONTROL_SHOW_COLUMN"), True)
|
||||
props.Multiline = r.Item("CONTROL_MULTILINE")
|
||||
props.SQLCommand = New SQLValue(NotNull(r.Item("CONTROL_SQLCOMMAND_1"), ""))
|
||||
|
||||
Case "Combobox"
|
||||
props = New ComboBoxProperties()
|
||||
' Default Values
|
||||
props.ID = r.Item("CONTROL_ID")
|
||||
props.Name = r.Item("CONTROL_NAME")
|
||||
props.Size = New Size(r.Item("CTRLSCR_WIDTH"), r.Item("CTRLSCR_HEIGHT"))
|
||||
props.Location = New Point(r.Item("CTRLSCR_X_LOC"), r.Item("CTRLSCR_Y_LOC"))
|
||||
props.FontColor = IntToColor(r.Item("CTRLSCR_FONT_COLOR"))
|
||||
props.Font = New Font(r.Item("CTRLSCR_FONT_FAMILY").ToString(),
|
||||
CType(r.Item("CTRLSCR_FONT_SIZE"), Single),
|
||||
CType(r.Item("CTRLSCR_FONT_STYLE"), FontStyle))
|
||||
props.ColumnTitle = r.Item("CONTROL_COL_NAME")
|
||||
|
||||
props.DefaultValue = ClassConverter.ToStringOrDefault(r.Item("CONTROL_DEF_VALUE"))
|
||||
props.MasterDataId = r.Item("CTRLSCR_MASTER_DATA_ID")
|
||||
props.Format = NotNull([Enum].Parse(GetType(EnumFormatOptions), r.Item("CONTROL_FORMAT_TYPE")), EnumFormatOptions.String)
|
||||
props.StaticList = NotNull(r.Item("CONTROL_STATIC_LIST"), "")
|
||||
props.IsRequired = r.Item("CONTROL_REQUIRED")
|
||||
props.IsReadOnly = r.Item("CONTROL_READ_ONLY")
|
||||
props.TabStop = r.Item("CTRLSCR_TAB_STOP")
|
||||
props.TabIndex = r.Item("CTRLSCR_TAB_INDEX")
|
||||
props.ShowColumn = NotNull(r.Item("CONTROL_SHOW_COLUMN"), True)
|
||||
props.SQLCommand = New SQLValue(NotNull(r.Item("CONTROL_SQLCOMMAND_1"), ""))
|
||||
|
||||
Case "Checkbox"
|
||||
props = New CheckBoxProperties()
|
||||
' Default Values
|
||||
props.ID = r.Item("CONTROL_ID")
|
||||
props.Name = r.Item("CONTROL_NAME")
|
||||
props.Size = New Size(r.Item("CTRLSCR_WIDTH"), r.Item("CTRLSCR_HEIGHT"))
|
||||
props.Location = New Point(r.Item("CTRLSCR_X_LOC"), r.Item("CTRLSCR_Y_LOC"))
|
||||
props.FontColor = IntToColor(r.Item("CTRLSCR_FONT_COLOR"))
|
||||
props.Font = New Font(r.Item("CTRLSCR_FONT_FAMILY").ToString(),
|
||||
CType(r.Item("CTRLSCR_FONT_SIZE"), Single),
|
||||
CType(r.Item("CTRLSCR_FONT_STYLE"), FontStyle))
|
||||
props.ColumnTitle = r.Item("CONTROL_COL_NAME")
|
||||
|
||||
props.Caption = r.Item("CTRLSCR_CAPTION")
|
||||
props.DefaultValue = ClassConverter.ToBooleanOrDefault(r.Item("CONTROL_DEF_VALUE"))
|
||||
props.IsRequired = r.Item("CONTROL_REQUIRED")
|
||||
props.IsReadOnly = r.Item("CONTROL_READ_ONLY")
|
||||
props.ShowColumn = NotNull(r.Item("CONTROL_SHOW_COLUMN"), True)
|
||||
props.TabStop = r.Item("CTRLSCR_TAB_STOP")
|
||||
props.TabIndex = r.Item("CTRLSCR_TAB_INDEX")
|
||||
|
||||
Case "RadioButton"
|
||||
props = New RadioButtonProperties()
|
||||
props.Caption = r.Item("CTRLSCR_CAPTION")
|
||||
props.ID = r.Item("CONTROL_ID")
|
||||
props.Name = r.Item("CONTROL_NAME")
|
||||
props.Size = New Size(r.Item("CTRLSCR_WIDTH"), r.Item("CTRLSCR_HEIGHT"))
|
||||
props.Location = New Point(r.Item("CTRLSCR_X_LOC"), r.Item("CTRLSCR_Y_LOC"))
|
||||
props.FontColor = IntToColor(r.Item("CTRLSCR_FONT_COLOR"))
|
||||
props.Font = New Font(r.Item("CTRLSCR_FONT_FAMILY").ToString(),
|
||||
CType(r.Item("CTRLSCR_FONT_SIZE"), Single),
|
||||
CType(r.Item("CTRLSCR_FONT_STYLE"), FontStyle))
|
||||
|
||||
Case "Datepicker"
|
||||
props = New DateTimePickerProperties()
|
||||
' Default Values
|
||||
props.ID = r.Item("CONTROL_ID")
|
||||
props.Name = r.Item("CONTROL_NAME")
|
||||
props.Size = New Size(r.Item("CTRLSCR_WIDTH"), r.Item("CTRLSCR_HEIGHT"))
|
||||
props.Location = New Point(r.Item("CTRLSCR_X_LOC"), r.Item("CTRLSCR_Y_LOC"))
|
||||
props.FontColor = IntToColor(r.Item("CTRLSCR_FONT_COLOR"))
|
||||
props.Font = New Font(r.Item("CTRLSCR_FONT_FAMILY").ToString(),
|
||||
CType(r.Item("CTRLSCR_FONT_SIZE"), Single),
|
||||
CType(r.Item("CTRLSCR_FONT_STYLE"), FontStyle))
|
||||
props.ColumnTitle = r.Item("CONTROL_COL_NAME")
|
||||
|
||||
props.DefaultValue = NotNull(r.Item("CONTROL_DEF_VALUE"), EnumDateTimePickerDefaultValueOptions.Empty)
|
||||
props.IsRequired = r.Item("CONTROL_REQUIRED")
|
||||
props.IsReadOnly = r.Item("CONTROL_READ_ONLY")
|
||||
props.ShowColumn = NotNull(r.Item("CONTROL_SHOW_COLUMN"), True)
|
||||
props.TabStop = r.Item("CTRLSCR_TAB_STOP")
|
||||
props.TabIndex = r.Item("CTRLSCR_TAB_INDEX")
|
||||
|
||||
Case "Datagridview"
|
||||
props = New DataGridViewProperties()
|
||||
' Default Values
|
||||
props.ID = r.Item("CONTROL_ID")
|
||||
props.Name = r.Item("CONTROL_NAME")
|
||||
props.Size = New Size(r.Item("CTRLSCR_WIDTH"), r.Item("CTRLSCR_HEIGHT"))
|
||||
props.Location = New Point(r.Item("CTRLSCR_X_LOC"), r.Item("CTRLSCR_Y_LOC"))
|
||||
|
||||
Case "Groupbox"
|
||||
props = New GroupBoxProperties()
|
||||
' Default Values
|
||||
props.ID = r.Item("CONTROL_ID")
|
||||
props.Name = r.Item("CONTROL_NAME")
|
||||
props.Size = New Size(r.Item("CTRLSCR_WIDTH"), r.Item("CTRLSCR_HEIGHT"))
|
||||
props.Location = New Point(r.Item("CTRLSCR_X_LOC"), r.Item("CTRLSCR_Y_LOC"))
|
||||
|
||||
props.Caption = r.Item("CTRLSCR_CAPTION")
|
||||
props.BackColor = IntToColor(r.Item("CTRLSCR_BACK_COLOR"))
|
||||
|
||||
Case "Picturebox"
|
||||
props = New PictureBoxProperties()
|
||||
' Default Values
|
||||
props.ID = r.Item("CONTROL_ID")
|
||||
props.Name = r.Item("CONTROL_NAME")
|
||||
props.Size = New Size(r.Item("CTRLSCR_WIDTH"), r.Item("CTRLSCR_HEIGHT"))
|
||||
props.Location = New Point(r.Item("CTRLSCR_X_LOC"), r.Item("CTRLSCR_Y_LOC"))
|
||||
|
||||
props.IsRequired = r.Item("CONTROL_REQUIRED")
|
||||
props.IsReadOnly = r.Item("CONTROL_READ_ONLY")
|
||||
|
||||
Case "ListBox"
|
||||
props = New ComboBoxProperties()
|
||||
' Default Values
|
||||
props.ID = r.Item("CONTROL_ID")
|
||||
props.Name = r.Item("CONTROL_NAME")
|
||||
props.Size = New Size(r.Item("CTRLSCR_WIDTH"), r.Item("CTRLSCR_HEIGHT"))
|
||||
props.Location = New Point(r.Item("CTRLSCR_X_LOC"), r.Item("CTRLSCR_Y_LOC"))
|
||||
|
||||
props.StaticList = ClassConverter.ToStringOrDefault(r.Item("CONTROL_STATIC_LIST"))
|
||||
props.IsRequired = r.Item("CONTROL_REQUIRED")
|
||||
props.IsReadOnly = r.Item("CONTROL_READ_ONLY")
|
||||
|
||||
Case "CheckedListBox"
|
||||
props = New ComboBoxProperties()
|
||||
' Default Values
|
||||
props.ID = r.Item("CONTROL_ID")
|
||||
props.Name = r.Item("CONTROL_NAME")
|
||||
props.Size = New Size(r.Item("CTRLSCR_WIDTH"), r.Item("CTRLSCR_HEIGHT"))
|
||||
props.Location = New Point(r.Item("CTRLSCR_X_LOC"), r.Item("CTRLSCR_Y_LOC"))
|
||||
|
||||
props.StaticList = ClassConverter.ToStringOrDefault(r.Item("CONTROL_STATIC_LIST"))
|
||||
props.IsRequired = r.Item("CONTROL_REQUIRED")
|
||||
props.IsReadOnly = r.Item("CONTROL_READ_ONLY")
|
||||
|
||||
Case "F_AddAppointment"
|
||||
props = New FunctionAddAppointment()
|
||||
props.Caption() = r.Item("CTRLSCR_CAPTION")
|
||||
|
||||
Dim controlId = DirectCast(ctrl.Tag, ClassControlMetadata).Id
|
||||
Dim f = ClassFunctionCommands.LoadFunction(controlId)
|
||||
Dim FromDateId, ToDateId, SubjectString, Subject2String, PlaceString, DescString
|
||||
|
||||
FromDateId = f.Item("INTEGER1")
|
||||
If IsDBNull(FromDateId) OrElse FromDateId = 0 Then
|
||||
props.FromDate = ""
|
||||
Else
|
||||
props.FromDate = GetName_for_ControlID(FromDateId, CURRENT_FORM_ID)
|
||||
End If
|
||||
|
||||
ToDateId = f.Item("INTEGER2")
|
||||
If IsDBNull(ToDateId) OrElse ToDateId = 0 Then
|
||||
props.ToDate = ""
|
||||
Else
|
||||
props.ToDate = GetName_for_ControlID(ToDateId, CURRENT_FORM_ID)
|
||||
End If
|
||||
|
||||
SubjectString = f.Item("STRING1")
|
||||
If IsDBNull(SubjectString) OrElse String.IsNullOrEmpty(SubjectString) Then
|
||||
props.Subject = ""
|
||||
Else
|
||||
props.Subject = SubjectString
|
||||
End If
|
||||
|
||||
Subject2String = f.Item("STRING2")
|
||||
If IsDBNull(Subject2String) OrElse String.IsNullOrEmpty(Subject2String) Then
|
||||
props.Subject2 = ""
|
||||
Else
|
||||
props.Subject2 = Subject2String
|
||||
End If
|
||||
|
||||
PlaceString = f.Item("STRING3")
|
||||
If IsDBNull(PlaceString) OrElse String.IsNullOrEmpty(PlaceString) Then
|
||||
props.Place = ""
|
||||
Else
|
||||
props.Place = PlaceString
|
||||
End If
|
||||
|
||||
DescString = f.Item("STRING4")
|
||||
If IsDBNull(DescString) OrElse String.IsNullOrEmpty(DescString) Then
|
||||
props.Description = ""
|
||||
Else
|
||||
props.Description = DescString
|
||||
End If
|
||||
|
||||
|
||||
Case "F_AddFormData"
|
||||
props = New FunctionAddFormData()
|
||||
props.Caption = r.Item("CTRLSCR_CAPTION")
|
||||
|
||||
Dim controlId = DirectCast(ctrl.Tag, ClassControlMetadata).Id
|
||||
Dim f = ClassFunctionCommands.LoadFunction(controlId)
|
||||
|
||||
Dim FormId = f.Item("INTEGER1")
|
||||
If IsDBNull(FormId) OrElse FormId = 0 Then
|
||||
props.FormID = 0
|
||||
Else
|
||||
props.FormID = FormId
|
||||
End If
|
||||
|
||||
Dim ScreenId = f.Item("INTEGER2")
|
||||
If IsDBNull(ScreenId) OrElse ScreenId = 0 Then
|
||||
props.ScreenID = 0
|
||||
Else
|
||||
props.ScreenID = ScreenId
|
||||
End If
|
||||
|
||||
End Select
|
||||
|
||||
CURRENT_CONTROL_ID = r.Item("CONTROL_ID")
|
||||
' Aktuelle Control Eigenschaften anzeigen
|
||||
Me.pgControlProperties.SelectedObject = props
|
||||
' Fenster Titel aktualisieren
|
||||
Me.Text = String.Format("Eigenschaften von {0}({1})", type, props.ID.ToString())
|
||||
' Control Name akutalisieren
|
||||
Me.tslControlName.Text = r.Item("CONTROL_NAME")
|
||||
|
||||
Catch ex As Exception
|
||||
MsgBox("Error in LoadControlProperties" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
|
||||
|
||||
' ADDED 25.11
|
||||
' Lade Control Eigenschaften und zeige diese an
|
||||
' Wird von frmLevelDesigner aufgerufen
|
||||
Public Sub LoadControlProperties(ctrl As Control)
|
||||
Try
|
||||
Dim sql As String = "SELECT CTRLSCR_ID FROM VWPMO_CONTROL_SCREEN WHERE CONTROL_NAME = '" & ctrl.Name & "' AND FORM_ID = " & CURRENT_FORM_ID & " and SCREEN_ID = " & CURRENT_SCREEN_ID
|
||||
Dim CTRLSCR_ID = ClassDatabase.Execute_Scalar(sql)
|
||||
If CTRLSCR_ID > 0 Then
|
||||
Dim DT As DataTable = ClassDatabase.Return_Datatable("SELECT * FROM VWPMO_CONTROL_SCREEN WHERE CTRLSCR_ID = " & CTRLSCR_ID)
|
||||
If DT.Rows.Count = 1 Then
|
||||
Dim row As DataRow = DT.Rows(0)
|
||||
Dim type As String = row.Item("CTRLTYPE_NAME")
|
||||
Dim props As Object = Nothing
|
||||
Dim fontcolor As Color
|
||||
Dim fontfamily As String
|
||||
Dim fontstyle As FontStyle
|
||||
Dim fontsize As Single
|
||||
Dim isreadonly As Boolean
|
||||
Dim isrequired As Boolean
|
||||
Dim columntitle As String
|
||||
Dim DefaultValue As String
|
||||
|
||||
|
||||
Select Case type
|
||||
Case "Label"
|
||||
props = New LabelProperties()
|
||||
props.Caption = row.Item("CTRLSCR_CAPTION")
|
||||
Case "Textbox"
|
||||
props = New TextBoxProperties()
|
||||
props.DefaultValue = ClassConverter.ToStringOrDefault(row.Item("CONTROL_DEF_VALUE"))
|
||||
|
||||
If Not IsDBNull(row.Item("CONTROL_FORMAT_TYPE")) Then
|
||||
props.Format = DirectCast([Enum].Parse(GetType(EnumFormatOptions), row.Item("CONTROL_FORMAT_TYPE")), Integer)
|
||||
Else
|
||||
props.Format = "String"
|
||||
End If
|
||||
Case "Combobox"
|
||||
props = New ComboBoxProperties()
|
||||
props.MasterDataId = row.Item("CTRLSCR_MASTER_DATA_ID")
|
||||
props.DefaultValue = ClassConverter.ToStringOrDefault(row.Item("CONTROL_DEF_VALUE"))
|
||||
|
||||
If Not IsDBNull(row.Item("CONTROL_FORMAT_TYPE")) Then
|
||||
props.Format = DirectCast([Enum].Parse(GetType(EnumFormatOptions), row.Item("CONTROL_FORMAT_TYPE")), Integer)
|
||||
Else
|
||||
props.Format = "String"
|
||||
End If
|
||||
|
||||
props.StaticList = ClassConverter.ToStringOrDefault(row.Item("CONTROL_STATIC_LIST"))
|
||||
Case "Checkbox"
|
||||
props = New CheckBoxProperties()
|
||||
props.Caption = row.Item("CTRLSCR_CAPTION")
|
||||
props.DefaultValue = ClassConverter.ToBooleanOrDefault(row.Item("CONTROL_DEF_VALUE"))
|
||||
Case "Datepicker"
|
||||
props = New DateTimePickerProperties()
|
||||
props.DefaultValue = NotNull(row.Item("CONTROL_DEF_VALUE"), EnumDateTimePickerDefaultValueOptions.Empty)
|
||||
'props.DefaultValue = ClassConverter.ToDateTimePickerOptionsOrDefault(row.Item("CONTROL_DEF_VALUE"))
|
||||
Case "Datagridview"
|
||||
props = New DataGridViewProperties()
|
||||
Case "Groupbox"
|
||||
props = New GroupBoxProperties()
|
||||
props.Caption = row.Item("CTRLSCR_CAPTION")
|
||||
props.BackColor = IntToColor(row.Item("CTRLSCR_BACK_COLOR"))
|
||||
Case "Picturebox"
|
||||
props = New PictureBoxProperties()
|
||||
Case "RadioButton"
|
||||
props = New RadioButtonProperties()
|
||||
props.Caption = row.Item("CTRLSCR_CAPTION")
|
||||
props.DefaultValue = ClassConverter.ToBooleanOrDefault(row.Item("CONTROL_DEF_VALUE"))
|
||||
props.IsRequired = row.Item("CONTROL_REQUIRED")
|
||||
Case "F_AddAppointment"
|
||||
props = New FunctionAddAppointment()
|
||||
Case "F_AddFormData"
|
||||
props = New FunctionAddFormData()
|
||||
Case "CheckedListBox"
|
||||
props = New ComboBoxProperties()
|
||||
props.StaticList = ClassConverter.ToStringOrDefault(row.Item("CONTROL_STATIC_LIST"))
|
||||
Case "ListBox"
|
||||
props = New ComboBoxProperties()
|
||||
props.StaticList = ClassConverter.ToStringOrDefault(row.Item("CONTROL_STATIC_LIST"))
|
||||
Case Else
|
||||
MsgBox("Unknown control type " & type, MsgBoxStyle.Exclamation, "Error in LoadControlProperties:")
|
||||
End Select
|
||||
|
||||
' Generic Properties
|
||||
props.ID = row.Item("CONTROL_ID")
|
||||
props.Name = row.Item("CONTROL_NAME")
|
||||
props.Size = New Size(row.Item("CTRLSCR_WIDTH"), row.Item("CTRLSCR_HEIGHT"))
|
||||
|
||||
'TODO: calc location
|
||||
'If row.Item("CONTROL_PARENT_ID") <> 0 Then
|
||||
' Dim parentSQL = "SELECT CTRLSCR_X_LOC, CTRLSCR_Y_LOC FROM VWPMO_VALUES WHERE = CONTROL_ID = " & row.Item("CONTROL_PARENT_ID")
|
||||
'End If
|
||||
|
||||
|
||||
props.Location = New Point(row.Item("CTRLSCR_X_LOC"), row.Item("CTRLSCR_Y_LOC"))
|
||||
|
||||
Me.Text = "Eigenschaften Control-ID: " & props.ID
|
||||
|
||||
If type = "F_AddAppointment" Then
|
||||
Dim ControlId = GetControlID_for_Name(ctrl.Name, CURRENT_FORM_ID)
|
||||
Dim dr = ClassFunctionCommands.LoadFunction(ControlId)
|
||||
|
||||
Dim FromDateId, ToDateId, SubjectString, Subject2String, PlaceString, DescString
|
||||
|
||||
FromDateId = dr.Item("INTEGER1")
|
||||
ToDateId = dr.Item("INTEGER2")
|
||||
SubjectString = dr.Item("STRING1")
|
||||
Subject2String = dr.Item("STRING2")
|
||||
PlaceString = dr.Item("STRING3")
|
||||
DescString = dr.Item("STRING4")
|
||||
|
||||
|
||||
If IsDBNull(FromDateId) OrElse FromDateId = 0 Then
|
||||
props.FromDate = ""
|
||||
Else
|
||||
props.FromDate = GetName_for_ControlID(FromDateId, CURRENT_FORM_ID)
|
||||
End If
|
||||
|
||||
If IsDBNull(ToDateId) OrElse ToDateId = 0 Then
|
||||
props.ToDate = ""
|
||||
Else
|
||||
props.ToDate = GetName_for_ControlID(ToDateId, CURRENT_FORM_ID)
|
||||
End If
|
||||
|
||||
|
||||
|
||||
If IsDBNull(SubjectString) OrElse String.IsNullOrEmpty(SubjectString) Then
|
||||
props.Subject = ""
|
||||
Else
|
||||
props.Subject = SubjectString
|
||||
End If
|
||||
|
||||
If IsDBNull(Subject2String) OrElse String.IsNullOrEmpty(Subject2String) Then
|
||||
props.Subject2 = ""
|
||||
Else
|
||||
props.Subject2 = Subject2String
|
||||
End If
|
||||
|
||||
If IsDBNull(PlaceString) OrElse String.IsNullOrEmpty(PlaceString) Then
|
||||
props.Place = ""
|
||||
Else
|
||||
props.Place = PlaceString
|
||||
End If
|
||||
|
||||
If IsDBNull(DescString) OrElse String.IsNullOrEmpty(DescString) Then
|
||||
props.Description = ""
|
||||
Else
|
||||
props.Description = DescString
|
||||
End If
|
||||
|
||||
props.Caption = row.Item("CTRLSCR_CAPTION")
|
||||
ElseIf type = "F_AddFormData" Then
|
||||
' TODO
|
||||
Dim ControlId = GetControlID_for_Name(ctrl.Name, CURRENT_FORM_ID)
|
||||
Dim dr = ClassFunctionCommands.LoadFunction(ControlId)
|
||||
|
||||
Dim FormId, ScreenId
|
||||
|
||||
FormId = dr.Item("INTEGER1")
|
||||
ScreenId = dr.Item("INTEGER2")
|
||||
|
||||
If IsDBNull(FormId) OrElse FormId = 0 Then
|
||||
props.FormID = 0
|
||||
Else
|
||||
props.FormID = FormId
|
||||
End If
|
||||
|
||||
If IsDBNull(ScreenId) OrElse ScreenId = 0 Then
|
||||
props.ScreenID = 0
|
||||
Else
|
||||
props.ScreenID = ScreenId
|
||||
End If
|
||||
|
||||
props.Caption = row.Item("CTRLSCR_CAPTION")
|
||||
End If
|
||||
|
||||
' Control Properties
|
||||
If Not type.Contains("F_") Then
|
||||
' PreSave and Convert Properties
|
||||
fontcolor = IntToColor(row.Item("CTRLSCR_FONT_COLOR"))
|
||||
fontfamily = row.Item("CTRLSCR_FONT_FAMILY")
|
||||
fontstyle = CType(row.Item("CTRLSCR_FONT_STYLE"), FontStyle)
|
||||
fontsize = CType(row.Item("CTRLSCR_FONT_SIZE"), Single)
|
||||
isreadonly = row.Item("CONTROL_READ_ONLY")
|
||||
isrequired = row.Item("CONTROL_REQUIRED")
|
||||
columntitle = row.Item("CONTROL_COL_NAME")
|
||||
|
||||
' Assign Properties to Class
|
||||
props.FontColor = fontcolor
|
||||
props.Font = New Font(fontfamily, fontsize, fontstyle)
|
||||
props.ColumnTitle = columntitle
|
||||
|
||||
'ReadOnly
|
||||
If type = "Textbox" Or type = "Datepicker" Or type = "Combobox" Or type = "Picturebox" Or type = "RadioButton" Or type = "Checkbox" Or type = "CheckedListBox" _
|
||||
Or type = "ListBox" Then
|
||||
props.IsReadOnly = row.Item("CONTROL_READ_ONLY")
|
||||
End If
|
||||
|
||||
' Nicht verfügbar für label
|
||||
If type = "Textbox" Or type = "Combobox" Or type = "Datepicker" Or type = "Checkbox" Or type = "RadioButton" Or type = "CheckedListBox" _
|
||||
Or type = "ListBox" Then
|
||||
props.TabStop = row.Item("CTRLSCR_TAB_STOP")
|
||||
props.TabIndex = row.Item("CTRLSCR_TAB_INDEX")
|
||||
|
||||
If Not IsDBNull(row.Item("CONTROL_SHOW_COLUMN")) Then
|
||||
props.ShowColumn = row.Item("CONTROL_SHOW_COLUMN")
|
||||
Else
|
||||
props.ShowColumn = True
|
||||
End If
|
||||
End If
|
||||
|
||||
If type = "Textbox" Then
|
||||
props.Multiline = row.Item("CONTROL_MULTILINE")
|
||||
End If
|
||||
|
||||
If type = "Combobox" Or type = "CheckedListBox" Or type = "ListBox" Or type = "Textbox" Then
|
||||
If row.Item("CONTROL_SQLCOMMAND_1").ToString.Length > 1 Then
|
||||
Dim value As New SQLValue(row.Item("CONTROL_SQLCOMMAND_1").ToString)
|
||||
props.SQLCommand = value
|
||||
'props.SQLCommand = row.Item("CONTROL_SQLCOMMAND_1").ToString
|
||||
End If
|
||||
|
||||
'props.ParentFormID = row.Item("PARENT_FORM_ID")
|
||||
props.IsRequired = isrequired
|
||||
props.IsReadOnly = isreadonly
|
||||
End If
|
||||
|
||||
If type = "Label" Then
|
||||
If row.Item("CONTROL_SQLCOMMAND_1").ToString.Length > 1 Then
|
||||
Dim value As New SQLValue(row.Item("CONTROL_SQLCOMMAND_1").ToString)
|
||||
props.SQLCommand = value
|
||||
'props.SQLCommand = row.Item("CONTROL_SQLCOMMAND_1").ToString
|
||||
End If
|
||||
End If
|
||||
|
||||
|
||||
End If
|
||||
|
||||
' Globale Variable setzen
|
||||
CURRENT_CONTROL_ID = row.Item("CONTROL_ID")
|
||||
Me.pgControlProperties.SelectedObject = props
|
||||
End If
|
||||
End If
|
||||
|
||||
Catch ex As Exception
|
||||
MsgBox("Error in loadcontrolproperties" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
|
||||
End Try
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
' Aktualisiert die Position des akutellen Controls und speichert diese in der Klasse
|
||||
Public Sub UpdateControlLocation(ctrl As Control)
|
||||
CurrentProperties = Me.pgControlProperties.SelectedObject
|
||||
|
||||
If CurrentProperties IsNot Nothing Then
|
||||
CurrentProperties.Location = ctrl.Location
|
||||
Me.pgControlProperties.SelectedObject = CurrentProperties
|
||||
End If
|
||||
|
||||
End Sub
|
||||
|
||||
Public Function SaveControlProperties(ctrl As Control, properties As Object) As Boolean
|
||||
If ClassControlCommands.UpdateControl(ctrl, properties) Then
|
||||
LoadControlProperties(ctrl)
|
||||
Return True
|
||||
Else
|
||||
MsgBox("Fehler beim Speichern der Elementeigenschaften.", MsgBoxStyle.Critical)
|
||||
Return False
|
||||
End If
|
||||
End Function
|
||||
|
||||
Private Sub btnSaveControl_Click(sender As Object, e As EventArgs) Handles btnSaveControl.Click
|
||||
If SaveControlProperties(CtrlBuilder.CurrentControl, pgControlProperties.SelectedObject) Then
|
||||
lblStatus.Text = "Änderungen gespeichert - " & Now
|
||||
lblStatus.Visible = True
|
||||
Else
|
||||
lblStatus.Visible = False
|
||||
' MsgBox("Änderungen gespeichert!", MsgBoxStyle.Information)
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub pgControlProperties_PropertyValueChanged(s As Object, e As PropertyValueChangedEventArgs) Handles pgControlProperties.PropertyValueChanged
|
||||
|
||||
Dim oldValue As Object = e.OldValue
|
||||
Dim newValue As Object = e.ChangedItem.Value
|
||||
Dim currentProperty As String = e.ChangedItem.Label
|
||||
Dim ctrl As Control = CtrlBuilder.CurrentControl
|
||||
|
||||
Select Case currentProperty
|
||||
Case "Location"
|
||||
ctrl.Location = newValue
|
||||
Case "X"
|
||||
ctrl.Location = New Point(newValue, ctrl.Location.Y)
|
||||
Case "Y"
|
||||
ctrl.Location = New Point(ctrl.Location.X, newValue)
|
||||
Case "Size"
|
||||
ctrl.Size = newValue
|
||||
Case "Width"
|
||||
ctrl.Size = New Size(newValue, ctrl.Size.Height)
|
||||
Case "Height"
|
||||
ctrl.Size = New Size(ctrl.Size.Width, newValue)
|
||||
Case "Name"
|
||||
ctrl.Name = newValue
|
||||
Case "Caption"
|
||||
ctrl.Text = newValue
|
||||
Case "Font"
|
||||
ctrl.Font = newValue
|
||||
Case "FontColor"
|
||||
ctrl.ForeColor = newValue
|
||||
Case "BackColor"
|
||||
ctrl.BackColor = newValue
|
||||
End Select
|
||||
|
||||
|
||||
lblStatus.Text = "Ausstehende Änderungen"
|
||||
lblStatus.Visible = True
|
||||
End Sub
|
||||
|
||||
Private Sub ToolStripButton1_Click(sender As Object, e As EventArgs) Handles ToolStripButton1.Click
|
||||
If MsgBox("Wollen Sie das Element wirklich löschen?", MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then
|
||||
If IsGroupBox(CtrlBuilder.CurrentControl) Then
|
||||
Dim parentID As Integer = GetControlID_for_Name(CtrlBuilder.CurrentControl.Name, CURRENT_FORM_ID)
|
||||
Dim SQL = "SELECT GUID FROM TBPMO_CONTROL WHERE PARENT_CONTROL_ID = " & parentID
|
||||
Dim dt As DataTable = ClassDatabase.Return_Datatable(SQL)
|
||||
|
||||
For Each dr As DataRow In dt.Rows
|
||||
Dim id As Integer = dr.Item(0)
|
||||
ClassControlCommands.DeleteControl(id)
|
||||
Next
|
||||
|
||||
End If
|
||||
|
||||
If ClassControlCommands.DeleteControl() = True Then
|
||||
MsgBox("Element gelöscht, Elemente werden neu geladen.", MsgBoxStyle.Information)
|
||||
CtrlBuilder.ClearControls()
|
||||
frmLevel_Designer.Instance.LoadControls()
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub frmTool_ControlProperties_Shown(sender As Object, e As EventArgs) Handles Me.Shown
|
||||
If Me.WindowState = FormWindowState.Maximized Then
|
||||
Me.WindowState = FormWindowState.Normal
|
||||
End If
|
||||
End Sub
|
||||
End Class
|
||||
@ -1282,9 +1282,9 @@ Public Class frmConstructor_Main
|
||||
#Region "DetailView - Toolstrip"
|
||||
|
||||
Private Sub tsButtonAdd_Click(sender As Object, e As EventArgs) Handles tsButtonAdd.Click
|
||||
If CtrlCommandUI.IsInsert Then
|
||||
Exit Sub
|
||||
End If
|
||||
'If CtrlCommandUI.IsInsert Then
|
||||
' Exit Sub
|
||||
'End If
|
||||
Me.Cursor = Cursors.WaitCursor
|
||||
Try
|
||||
If TCDetails.SelectedTabPage.Text.StartsWith("Pos") = False Then
|
||||
@ -1295,14 +1295,23 @@ Public Class frmConstructor_Main
|
||||
tsButtonShowWorkflowTasks.Enabled = True
|
||||
CURRENT_PARENT_ID = PARENT_ID
|
||||
ClassControlValues.LoadDefaultValues(ENTITY_ID, SELECTED_RECORD_ID, pnlDetails.Controls, CURRENT_PARENT_ID, ENTITY_ID)
|
||||
dff()
|
||||
' Den Record anlegen, damit wir eine RECORD_ID bekommen
|
||||
ClassControlCommandsUI.CreateRecord(ENTITY_ID)
|
||||
' Die RECORD_ID auslesen und setzen
|
||||
Dim NewRecordId As Integer = ClassControlCommandsUI.GetLastRecord()
|
||||
CURRENT_RECORD_ID = NewRecordId
|
||||
RECORD_ID = NewRecordId
|
||||
SELECTED_RECORD_ID = NewRecordId
|
||||
' Das StatusLabel aktualisieren
|
||||
Update_Record_Label(NewRecordId)
|
||||
' Im gegensatz zu EnableEditMode muss hier nur der save button enabled werden
|
||||
tsButtonSave.Enabled = True
|
||||
' Muss aktiviert werden, sonst funktionieren die Combobox Abhängigkeits Events nicht
|
||||
CURRENT_RECORD_ENABLED = True
|
||||
EDIT_STATE = EditState.Insert
|
||||
' EDIT_STATE muss hier (immer?) Update sein, sonst wird beim Speichern noch ein Datensatz angelegt
|
||||
EDIT_STATE = EditState.Update
|
||||
RECORD_CHANGED = True
|
||||
tsslblRecord.Text = "Adding record ......"
|
||||
'tsslblRecord.Text = "Adding record ......"
|
||||
RIGHT_ONLY_READ = False
|
||||
tslblLocked.Visible = False
|
||||
tslblFileslocked.Visible = False
|
||||
@ -1311,6 +1320,8 @@ Public Class frmConstructor_Main
|
||||
MsgBox("Unexpected Error in Insert: " & ex.Message)
|
||||
Finally
|
||||
Me.Cursor = Cursors.Default
|
||||
' IsInsert muss true sein, damit wir wissen ob wir bei
|
||||
' Abbruch den Record Wieder löschen können
|
||||
CtrlCommandUI.IsInsert = True
|
||||
End Try
|
||||
End Sub
|
||||
@ -2270,6 +2281,13 @@ Public Class frmConstructor_Main
|
||||
Catch ex As Exception
|
||||
MsgBox("Error in Save Record Changes: " & vbNewLine & ex.Message, MsgBoxStyle.Exclamation)
|
||||
End Try
|
||||
Else
|
||||
' Wenn nicht gespeichert werden soll, den Record wieder löschen
|
||||
If CtrlCommandUI.IsInsert = True Then
|
||||
CtrlCommandUI.DeleteRecord(CURRENT_RECORD_ID)
|
||||
End If
|
||||
|
||||
|
||||
End If
|
||||
CtrlCommandUI.IsInsert = False
|
||||
RECORD_CHANGED = False
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user