diff --git a/app/DD-Record-Organiser/DD-Record-Organiser.vbproj b/app/DD-Record-Organiser/DD-Record-Organiser.vbproj index 8d1de55..dcb5416 100644 --- a/app/DD-Record-Organiser/DD-Record-Organiser.vbproj +++ b/app/DD-Record-Organiser/DD-Record-Organiser.vbproj @@ -83,95 +83,72 @@ False - False - False - False - False - False - False - False - False - False - False - False - False - False - False - False - False - False - False - False - False - False - False - ..\..\lib\DLLLicenseManager.dll @@ -269,6 +246,12 @@ + + frmChooseParentRecord.vb + + + Form + frmRight_Management.vb @@ -627,6 +610,9 @@ + + frmChooseParentRecord.vb + frmConstructorDesigner.vb diff --git a/app/DD-Record-Organiser/My Project/AssemblyInfo.vb b/app/DD-Record-Organiser/My Project/AssemblyInfo.vb index 623dd01..67cfe24 100644 --- a/app/DD-Record-Organiser/My Project/AssemblyInfo.vb +++ b/app/DD-Record-Organiser/My Project/AssemblyInfo.vb @@ -33,7 +33,7 @@ Imports System.Runtime.InteropServices ' übernehmen, indem Sie "*" eingeben: ' - + \ No newline at end of file diff --git a/app/DD-Record-Organiser/frmChooseParentRecord.Designer.vb b/app/DD-Record-Organiser/frmChooseParentRecord.Designer.vb new file mode 100644 index 0000000..6d87ca9 --- /dev/null +++ b/app/DD-Record-Organiser/frmChooseParentRecord.Designer.vb @@ -0,0 +1,110 @@ + _ +Partial Class frmChooseParentRecord + Inherits System.Windows.Forms.Form + + 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmChooseParentRecord)) + Me.Panel1 = New System.Windows.Forms.Panel() + Me.Label1 = New System.Windows.Forms.Label() + Me.GridControl = New DevExpress.XtraGrid.GridControl() + Me.GridView = New DevExpress.XtraGrid.Views.Grid.GridView() + Me.Panel1.SuspendLayout() + CType(Me.GridControl, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.GridView, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SuspendLayout() + ' + 'Panel1 + ' + Me.Panel1.Controls.Add(Me.Label1) + Me.Panel1.Dock = System.Windows.Forms.DockStyle.Top + Me.Panel1.Location = New System.Drawing.Point(0, 0) + Me.Panel1.Name = "Panel1" + Me.Panel1.Size = New System.Drawing.Size(964, 34) + Me.Panel1.TabIndex = 0 + ' + 'Label1 + ' + Me.Label1.AutoSize = True + Me.Label1.Location = New System.Drawing.Point(12, 9) + Me.Label1.Name = "Label1" + Me.Label1.Size = New System.Drawing.Size(557, 15) + Me.Label1.TabIndex = 0 + Me.Label1.Text = "Bitte wählen Sie einen gültigen Parentdatensatz für den neu zu erstellenden bzw. " & _ + "den aktuellen Datensatz" + ' + 'GridControl + ' + Me.GridControl.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.GridControl.Location = New System.Drawing.Point(4, 37) + Me.GridControl.MainView = Me.GridView + Me.GridControl.Name = "GridControl" + Me.GridControl.Size = New System.Drawing.Size(955, 393) + Me.GridControl.TabIndex = 1 + Me.GridControl.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.GridView}) + ' + 'GridView + ' + Me.GridView.Appearance.EvenRow.BackColor = System.Drawing.Color.Aqua + Me.GridView.Appearance.EvenRow.Options.UseBackColor = True + Me.GridView.GridControl = Me.GridControl + Me.GridView.HorzScrollVisibility = DevExpress.XtraGrid.Views.Base.ScrollVisibility.Always + Me.GridView.Name = "GridView" + Me.GridView.OptionsBehavior.AllowAddRows = DevExpress.Utils.DefaultBoolean.[False] + Me.GridView.OptionsBehavior.AllowDeleteRows = DevExpress.Utils.DefaultBoolean.[False] + Me.GridView.OptionsBehavior.Editable = False + Me.GridView.OptionsBehavior.ReadOnly = True + Me.GridView.OptionsClipboard.CopyColumnHeaders = DevExpress.Utils.DefaultBoolean.[False] + Me.GridView.OptionsSelection.EnableAppearanceFocusedCell = False + Me.GridView.OptionsSelection.EnableAppearanceFocusedRow = False + Me.GridView.OptionsSelection.EnableAppearanceHideSelection = False + Me.GridView.OptionsSelection.MultiSelect = True + Me.GridView.OptionsSelection.MultiSelectMode = DevExpress.XtraGrid.Views.Grid.GridMultiSelectMode.CellSelect + Me.GridView.OptionsView.ColumnAutoWidth = False + Me.GridView.OptionsView.EnableAppearanceEvenRow = True + Me.GridView.OptionsView.ShowAutoFilterRow = True + Me.GridView.VertScrollVisibility = DevExpress.XtraGrid.Views.Base.ScrollVisibility.Always + ' + 'frmChooseParentRecord + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(7.0!, 15.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(964, 471) + Me.Controls.Add(Me.GridControl) + Me.Controls.Add(Me.Panel1) + Me.Font = New System.Drawing.Font("Segoe UI", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) + Me.Name = "frmChooseParentRecord" + Me.Text = "Choose a parent record" + Me.Panel1.ResumeLayout(False) + Me.Panel1.PerformLayout() + CType(Me.GridControl, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.GridView, System.ComponentModel.ISupportInitialize).EndInit() + Me.ResumeLayout(False) + + End Sub + Friend WithEvents Panel1 As System.Windows.Forms.Panel + Friend WithEvents Label1 As System.Windows.Forms.Label + Friend WithEvents GridControl As DevExpress.XtraGrid.GridControl + Friend WithEvents GridView As DevExpress.XtraGrid.Views.Grid.GridView +End Class diff --git a/app/DD-Record-Organiser/frmChooseParentRecord.resx b/app/DD-Record-Organiser/frmChooseParentRecord.resx new file mode 100644 index 0000000..c845e2a --- /dev/null +++ b/app/DD-Record-Organiser/frmChooseParentRecord.resx @@ -0,0 +1,570 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + 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 + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZgAFAGkAOgBrAHIAagCjAGoAxQBoANsAaADkAGgA5ABm + ANoAZgDFAGYAogBkAHIAYgA5AD8ABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAG4ANQBuAJkAbADqAW4A/gdxAP8NcwD/EnQA/xV1 + AP8WdQD/F3MA/xZyAP8TcAD/Dm4A/wdrAP8AZwD+AGUA6QBlAJcAZAAzAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABtAEEAbwDCAG8A/Qh2AP8SewD/Gn0A/x18 + AP8fegD/IXkA/yJ3AP8kdgD/JXUA/yZzAP8mcgD/JnEA/yZxAP8jcAD/GG8A/wprAP8AZgD9AGUAvwBi + AD4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdAAYAHEAqwByAP0IfAD/FYIA/xiC + AP8XgwD/F4IA/xiCAP8ZgAD/HX0A/yJ5AP8ndgD/KXQA/ypzAP8qcgD/KnEA/ypwAP8qbwD/Km8A/ylu + AP8gbwD/DGwA/wBmAP0AZgClAFwAFgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABxAEoAcgDpA3sA/wqL + AP8JjwD/BJIA/wCUAP8AlAD/AJQA/wCTAP8AkgD/AJIA/wCRAP8CjgD/CokA/xWCAP8ieQD/LnEA/y9v + AP8vbwD/Lm4A/y1uAP8sbQD/K20A/x9vAP8GagD/AGUA5wBjAEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHMAcwB1 + APwBiAD/ApYA/wCYAP8AmAD/AJgA/wCXAP8AlwD/AJYA/wCWAP8AlQD/AJQA/wCUAP8AkwD/AJIA/wCR + AP8AkAD/A4wA/xWBAP8qcwD/Mm0A/zFtAP8wbAD/L2wA/y1sAP8pbQD/EW0A/wBmAPsAZgBuAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAdQCAAHgA/gGRAv8BmgP/AZoD/wGaA/8BmgP/AZoC/wCZAv8AmQH/AJkB/wCYAP8AmAD/AJcA/wCW + AP8AlQD/AJQA/wCTAP8AkgD/AJEA/wCQAP8AjgD/EYMA/yxyAP80bAD/M2wA/zFsAP8vbAD/LGwA/xdu + AP8AZwD+AGUAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAB2AHYAegD+ApUG/wOcB/8DnAf/A5wH/wOcB/8DnAf/A5wH/wOcBv8CmwX/ApsF/wGa + BP8BmgP/AJkC/wCZAP8AmAD/AJcA/wCWAP8AlQD/AJMA/wCSAP8AkQD/AI8A/wGNAP8afQD/NWwA/zRr + AP8yawD/MGsA/y1sAP8abgD/AGcA/gBlAGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAHgATgB6APwElgn/BZ4L/wWeC/8Fngv/BZ4L/wWeC/8Fngv/BZ4L/wWe + Cv8EnQr/CKER/w2mGv8KoxX/A5wG/wKbBP8BmgP/AJkB/wCYAP8AlwD/AJYA/wCUAP8AkwD/AJIA/wCQ + AP8AjgD/C4YA/zFuAP82awD/M2sA/zBrAP8tbAD/GG4A/wBmAPsAZgBGAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdgAcAHoA7ASRCf8NohX/B6AP/wegD/8HoA//B6AP/weg + D/8HoA//B6AP/w2mHP8kvUn/Mclh/0DOb/84zWn/K8RX/w+oH/8DnAf/ApsF/wGaA/8AmQH/AJgA/wCX + AP8AlQD/AJQA/wCSAP8AkQD/AI8A/waKAP8ucAD/NmsA/zNrAP8wawD/LWwA/w9uAP8AZgDoAF8AGAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegCxAocG/xmnIf8KohT/CaIT/wmi + E/8JohT/CaIU/wmiFP8JohP/EKkh/ynAUP+F2J3/3u7j//T09P/w9fH/oeW4/zTKZP8RqiP/BJ0J/wOc + B/8CmwX/AZoD/wCZAf8AmAD/AJYA/wCVAP8AkwD/AJEA/wCPAP8EiwD/L3AA/zZrAP8zawD/L2wA/ypt + AP8GawD/AGUAqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB7AEgAfgH+FKMe/xyq + J/8Koxf/C6QX/wukGP8LpBj/C6QY/wukGP8QqSL/JLxH/5raqv/w8PD/8vLy//X19f/39/f/+fn5/7Dp + w/80y2T/Eqsl/wWeC/8EnQn/A5wG/wKbBP8AmQL/AJgA/wCXAP8AlQD/AJMA/wCRAP8AkAD/B4kA/zNu + AP81awD/MmwA/y5sAP8fbwD/AGYA/QBjAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQB9 + AMkHkg7/L7E6/xGnHv8Nphv/DaYb/w2mHP8Nphz/DaYc/xGqI/8ftz7/l9el/+7u7v/w8PD/8vLy//X1 + 9f/39/f/+fn5//v7+/+y68X/NMtk/xOsJv8Fngz/BJ0K/wOcCP8CmwX/AZoD/wCZAP8AlwD/AJUA/wCT + AP8AkgD/AJAA/w+EAP83bAD/NGwA/zBtAP8sbQD/DG4A/wBmAMMAAAABAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAH0APwCAAf4gqyz/M7Q//w6nHv8PqB//D6gf/w+oIP8PqCD/Eaoj/xqyNP+U1KD/7Ozs/+7u + 7v/w8PD/8vLy//T09P/39/f/+fn5//v7+//9/f3/s+zG/zTLZP8TrCj/Bp8N/wWeC/8EnQn/A5wG/wGa + BP8AmQH/AJcA/wCVAP8AkwD/AJEA/wCPAP8ieQD/NWwA/zJtAP8tbgD/IXAA/wBnAP4AYwA2AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAIAAoweQDv82tkT/LbM8/xCpIv8RqiP/Eaoj/xGqJP8RqiT/Fa0r/5LR + m//p6un/7Ozs/+7u7v/w8PD/8vLy//T09P/29vb/+Pj4//r6+v/9/f3//v7+/7Tsxv80y2X/FK0p/weg + Dv8Fngz/BJ0J/wOcB/8BmgT/AJkB/wCXAP8AlQD/AJMA/wCRAP8EjQD/M28A/zNtAP8vbgD/K28A/whu + AP8AZgCcAAAAAAAAAAAAAAAAAAAAAAAAAAAAcQAJAIAA8BylKf9Au0//KbM7/xKrJv8Sqyf/E6wo/xGq + JP8RqSL/js2W/+fn5//p6en/6+vr/+7u7v/w8PD/8vLy//T09P/29vb/+Pj4//r6+v/8/Pz//v7+//// + //+07Mf/Nctl/xStKv8HoA//Bp8N/wSdCv8DnAf/AZoE/wCZAf8AlwD/AJUA/wCTAP8AkQD/G38A/zRu + AP8wbgD/LG8A/xhxAP8AZwDsAEgABwAAAAAAAAAAAAAAAAAAAAAAgQBFAYUD/zG2Qv9Fvlb/JrM6/xSt + Kv8UrSv/Eaok/w2kGP+LypH/5eXl/+fn5//p6en/6+vr/+3t7f/v7+//8fHx//Pz8//19fX/9/f3//n5 + +f/7+/v//f39////////////tezH/zXLZf8UrSr/B6AQ/wafDf8EnQr/A5wH/wGaBP8AmQH/AJcA/wCV + AP8AkwD/BI4A/zNvAP8xbwD/LHAA/yNzAP8AagD/AGUAPwAAAAAAAAAAAAAAAAAAAAAAgQCAB5AO/0G8 + Uv9KwFz/JbQ7/xavLv8RqiT/CJ8P/4jGjP/i4uL/5OTk/+bm5v/o6Oj/6urq/+zs7P/v7+//8fHx//Pz + 8//19fX/9/f3//n5+f/7+/v//Pz8//7+/v///////////7XsyP80y2X/Fa4q/wegEP8Gnw3/BJ0K/wOc + B/8BmgP/AJkA/wCXAP8AlAD/AJIA/yJ7AP8xcAD/LXEA/ylyAP8FbgD/AGgAeAAAAAAAAAAAAAAAAAAA + AAAAgwCxE5we/0jAW/9Pw2L/J7Y//xSsKf8DmgX/hcOH/+Dg4P/i4uL/5OTk/+bm5v/o6Oj/6urq/+zs + 7P/u7u7/8PDw//Ly8v/09PT/9vb2//j4+P/6+vr/+/v7//39/f/+/v7///////////+27Mj/NMtl/xWu + K/8HoBD/Bp8M/wSdCf8Cmwb/AZoD/wCYAP8AlgD/AJQA/xCHAP8xcQD/LXIA/ylzAP8NcQD/AGgApgAA + AAAAAAAAAAAAAAAAAAAAhADUIKcv/03DYP9TxWf/K7hE/wyiGf9JrUn/3d3d/9/f3//h4eH/4+Pj/+Xl + 5f/n5+f/6enp/+vr6//q7Or/odeo/3nNhv+S1p3/7/Pw//f39//4+Pj/+vr6//z8/P/+/v7//v7+//// + ///+/v7/sOvE/zPLZP8Vriv/B6AP/wWeDP8EnQj/ApsF/wCZAv8AlwD/AJUA/wKRAP8wcwD/LXMA/yl0 + AP8TcwD/AGkAywAAAAAAAAAAAAAAAAAAAAAAhADoKq47/1DFZf9Xx2z/MLtL/w2hG/9RrVH/3d3d/9/f + 3//g4OD/4uLi/+Tk5P/m5ub/6Ojo/+bp5/9ewGn/E6wn/xewMP8XsDD/XcZv/+/08P/39/f/+fn5//v7 + +//8/Pz//v7+//7+/v///////v7+/7Dqw/80ymT/Fa4q/wafDv8Fngv/A5wH/wGaBP8AmQD/AJYA/wCU + AP8lewD/LHQA/yh1AP8WdQD/AGoA4wAAAAAAAAAAAAAAAAAAAAAAhQDxMLND/1THav9bynH/Or9V/xat + Lv8Mkwz/yNXI/97e3v/g4OD/4uLi/+Tk5P/l5eX/4+bj/1q8Yf8PqCD/HLU5/xy1O/8btDj/F7Aw/1zG + bv/w9PD/+Pj4//n5+f/7+/v//Pz8//39/f/+/v7///////7+/v+x6sP/NMpk/xStKv8Gnw3/BJ0K/wKb + Bv8BmgL/AJgA/wCVAP8aggD/LHUA/yd2AP8YdgD/AGsA7gAAAAAAAAAAAAAAAAAAAAAAhgDxMrVG/1fJ + bv9ey3X/RsRh/yC5Qf8KmxX/PKM8/9Xa1f/f39//4eHh/+Pj4//g4+D/VbdZ/wukGP8etz3/H7hA/x63 + Pv8dtjz/HLU5/xewL/9cxW3/8PTx//j4+P/5+fn/+vr6//z8/P/9/f3//v7+//7+/v/+/v7/serD/zPK + Y/8UrSn/BZ4M/wOcCP8CmwT/AJkB/wCXAP8SiAD/KncA/yZ4AP8YdwD/AGsA7QAAAAAAAAAAAAAAAAAA + AAAAhwDmMLNE/1nKcf9gzXj/Vspw/yK7Rv8guEL/B5YO/zGgMf+9073/4ODg/93g3f9Qs1H/B6AP/x+4 + QP8iu0b/IbpE/yC5Qv8fuED/Hrc+/xy1Ov8Wry7/W8Vs//D08f/39/f/+fn5//r6+v/7+/v//Pz8//z8 + /P/9/f3//v7+/7Hqw/8yyWL/E6wo/wSdCv8DnAb/AZoC/wCYAP8MjQD/KXgA/yV5AP8VeAD/AGwA4gAA + AAAAAAAAAAAAAAAAAAAAhwDRKq48/1vMdf9iz3z/ZtCA/ya+S/8lvkv/JLxI/w+gHv8DkAT/LqAu/x+e + H/8GnQ3/IbpE/yW+S/8kvUn/I7xI/yK7Rv8hukP/ILlB/x63Pv8ctTr/Fq8u/1rEav/v9PD/9/f3//j4 + +P/5+fn/+vr6//r6+v/7+/v/+/v7//z8/P+w6cL/Msli/xOsJ/8DnAj/ApsE/wCZAP8JkAD/KHoA/yR7 + AP8ReAD/AG4AxwAAAAAAAAAAAAAAAAAAAAAAiACsHqYu/13Nd/9k0H7/a9OF/znFXf8nwE//J8BQ/yjB + Uf8ju0f/Gq81/xyyOP8mv07/J8BQ/yfAT/8mv03/Jb5L/yS9Sf8jvEf/IbpE/yC5Qf8etz7/HLU6/xav + Lf9ZxGn/7vPv//b29v/39/f/+Pj4//j4+P/5+fn/+fn5//n5+f/5+fn/r+fA/zLJYf8SqyX/ApsG/wCZ + Av8HkgD/JnwA/yJ8AP8MdwD/AG4AogAAAAAAAAAAAAAAAAAAAAAAiQB6D5oZ/13Oef9l0YH/bNSH/1PN + dP8pwlP/KcJU/yrDVf8qw1b/KsNW/yrDVv8qw1X/KcJU/ynCU/8owVH/J8BP/ya/Tf8kvUr/I7xH/yG6 + RP8guUH/Hrc+/xy1Ov8Vriz/XsVt/+/y7//19fX/9vb2//b29v/39/f/9/f3//f39//39/f/9/f3/67l + v/8yyGD/Eaoj/wGaA/8HkwD/JH4A/yB+AP8GdQD/AG4AcwAAAAAAAAAAAAAAAAAAAAAAhwA+A44G/1TL + cv9m0oL/bNWJ/27Wi/8uxVn/K8RY/yzFWf8sxVr/LMVa/yzFWv8sxVn/K8RY/yvEVv8qw1X/KcJS/yfA + UP8mv03/JL1K/yO8R/8hukT/H7hB/x63Pf8btDj/Fa4r/13EbP/u8e7/9PT0//T09P/19fX/9fX1//X1 + 9f/19fX/9fX1//X19f+q47z/LcZa/wWeDP8JkwH/IoAA/xyBAP8AcgD/AG0AOAAAAAAAAAAAAAAAAAAA + AAAAfwAGAIoA6zu7U/9m04T/bdaK/3PYkf9MznP/LcZc/y7HXf8ux17/Lsde/y7HXv8ux13/LcZc/yzF + Wv8rxFj/KsNW/ynCU/8nwFD/Jr9N/yS9Sv8iu0b/IbpD/x+4P/8dtjz/G7Q3/xStKv9cw2r/7PDt//Ly + 8v/z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//y8vL/Us53/xKrJv8MkgL/H4IA/xJ/AP8AcQDmAH8ABAAA + AAAAAAAAAAAAAAAAAAAAAAAAAIwAmRmiJ/9l1IX/bNaL/3PZkv9x2ZH/Msli/zDJYf8xymL/Mcpi/zHK + Yv8wyWH/L8hg/y7HXv8txlv/LMVZ/yrDVv8pwlP/J8BP/yW+TP8kvUn/IrtF/yC5Qf8etz7/HLU6/xqz + Nf8UrSn/WsJp/+ru6//w8PD/8fHx//Hx8f/x8fH/8fHx//Hx8f/w8PD/Vc13/xKrJf8QkAP/HYQA/wd6 + AP8AcQCSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIkANAGOA/1Ty3P/bNeM/3LZkv953Jj/V9SA/zLL + Zf8yy2X/Mstl/zLLZf8yy2X/Mcpj/zDJYf8vyF//LcZc/yzFWf8qw1X/KMFS/ya/Tv8lvkv/I7xH/yG6 + Q/8fuD//HbY7/xu0OP8YsTP/E6wo/1nBZ//o7en/7+/v/+/v7//v7+//7+/v/+/v7//J5dD/KcBQ/wih + Ef8UjQP/FYYA/wB0APwAbgAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMALsjqzX/ateM/3Ha + k/933Jj/et2b/0HPcP8zzGb/M8xm/zPMZv8zzGb/Mstl/zLLZP8wyWL/L8he/y3GW/8rxFj/KcJU/yfA + UP8lvkz/I7xJ/yG6Rf8guUH/HbY9/xu0Of8ZsjX/F7Aw/xKrJv9YwGb/5uvn/+3t7f/t7e3/7e3t/9bn + 2v9Cwl//Fq8t/wScCP8ZigP/CH8A/wB0ALUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACK + ADsCjwP8Ustz/2/akv913Jf/et2b/3HblP83zWn/M8xm/zPMZv8zzGb/M8xm/zLLZf8yy2T/MMlh/y7H + Xf8sxVn/KsNW/yjBUv8mv07/JL1K/yK7Rv8guUL/Hrc+/xy1Ov8aszb/GLEy/xavLf8SqyX/T71d/8Pf + x//N49H/kNKc/y66Sf8Wry7/Bp8O/wmZCf8TiQT/AHYA+wBzADMAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAjAChFJ8g/2nZjv9y25X/dtyY/3venP9r2pD/Ncxn/zPMZv8zzGb/M8xm/zPM + Zv8yy2X/Mcpj/y/IX/8txlv/K8RX/ynCU/8nwE//Jb5L/yO8R/8hukP/Hrc//xy1O/8aszb/GLEy/xav + Lv8UrSr/Eaok/xOrJ/8Vriv/Fa4r/w+oIP8IoRL/Bp8N/xCUCf8DfgH/AHcAmAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjQASAI4A4jC0Rv9u2pL/ctyV/3fdmf973pz/admP/zbM + aP8zzGb/M8xm/zPMZv8zzGb/Mcpk/y/IYP8txlz/K8RY/ynCVP8nwFD/Jb5L/yO8R/8hukP/H7g//x22 + O/8btDf/GLEz/xavL/8UrSv/Eqsn/xCpI/8Opx7/DKUa/wqjFv8IoRL/CZ0O/wiHBf8AeADdAHcADwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI4APQCOAflDwWD/b9uT/3Pc + lv923Jj/et2b/23akv89zm3/M8xm/zPMZv8zzGb/Mstk/zDJYP8ux1z/K8RY/ynCVP8nwFD/Jb5M/yO8 + SP8hukT/H7g//x22O/8btDf/GbIz/xewL/8UrSv/Eqsn/xCpI/8Opx7/DKUa/wqjFv8JoRL/B5EJ/wB6 + APYAdgA2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACO + AF8CkQX8ScRl/27akv9y25X/ddyX/3jdmv923Jj/TtJ6/zPMZv8zzGb/Mstk/zDJYP8ux1z/K8RY/ynC + VP8nwFD/Jb5M/yO8SP8hukT/H7g//x22O/8btDf/GbIz/xewL/8UrSv/Eqsn/xCpI/8Opx7/DKUa/wqj + Fv8Glw3/AHwA/AB5AFYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAjgBoApAE/ELAXf9t2pH/cNuU/3Pclv923Jj/eN2Z/2nZjv9D0HL/Mstk/y/I + YP8txlz/K8RY/ynCVP8nwFD/Jb5M/yO8R/8hukP/H7g//x22O/8btDf/GLEz/xavL/8UrSv/Eqsn/xCp + Iv8Opx7/DaUa/weXD/8AfQD7AHsAYwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI0AWgCPAfcvskP/aNiN/27akv9w25T/ctuV/3Tc + lv913Jf/ZdeK/0fOcf8wx17/K8RX/ynCU/8nwE//Jb5L/yO8R/8hukP/Hrc//xy1O/8aszf/GLEy/xav + Lv8UrSr/Eqsm/xWrJv8RqCD/BpEM/wB9APUAfABWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACLADUAjgDaE54c/1HK + cf9r2pD/bdqR/27akv9v2pL/btmQ/23Yjv9q1or/V9B5/0XJaf81w1r/Kb9O/yO7R/8guUL/Hrc+/xy1 + Ov8aszb/GrI0/x2yNf8ksjj/JLE2/xKjIP8DiAb/AH4A1wB8ADEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAiQANAI8AkAGOAfojqTL/VM11/2jYjf9o2Iz/Z9eK/2bViP9l1IX/Y9OC/2HRf/9ez3v/Ws12/1TK + b/9Lxmb/RsNg/0LBWv9BwFf/P75U/zW5Sf8eqy//B5EO/wCBAPkAgACLAHMACwAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACRACoAjQCoAY8C+RmhJP87u1T/V854/1/Tgf9e0n//XNB8/1rP + eP9XzXT/VMtw/1DIa/9Mxmb/SMRh/0HAWf8xt0f/GqQp/waQDf8AgwD4AIEApQB/ACgAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI8AIACOAH8AjQDTAY4C/g6Z + Fv8fpS3/Kq48/zGzRf8ytUj/MLNF/ymuPP8gpi//E5wd/waPC/8AhgH+AIUA0gCEAH0AfwAeAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAI4AIgCMAFkAiwCLAIsArwCJAMQAigDOAIkAzgCIAMQAiACvAIcAiwCGAFkAfwAiAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////AAD///////8AAP//4Af//wAA//8AAP// + AAD//AAAP/8AAP/wAAAP/wAA/+AAAAf/AAD/gAAAAf8AAP8AAAAA/wAA/gAAAAB/AAD+AAAAAH8AAPwA + AAAAPwAA+AAAAAAfAAD4AAAAAB8AAPAAAAAADwAA8AAAAAAPAADgAAAAAAcAAOAAAAAABwAA4AAAAAAH + AADAAAAAAAMAAMAAAAAAAwAAwAAAAAADAADAAAAAAAMAAMAAAAAAAwAAwAAAAAADAADAAAAAAAMAAMAA + AAAAAwAAwAAAAAADAADAAAAAAAMAAOAAAAAABwAA4AAAAAAHAADgAAAAAAcAAPAAAAAADwAA8AAAAAAP + AAD4AAAAAB8AAPgAAAAAHwAA/AAAAAA/AAD+AAAAAH8AAP4AAAAAfwAA/wAAAAD/AAD/gAAAAf8AAP/g + AAAH/wAA//AAAA//AAD//AAAP/8AAP//AAD//wAA///gB///AAD///////8AAP///////wAA + + + \ No newline at end of file diff --git a/app/DD-Record-Organiser/frmChooseParentRecord.vb b/app/DD-Record-Organiser/frmChooseParentRecord.vb new file mode 100644 index 0000000..a32d79b --- /dev/null +++ b/app/DD-Record-Organiser/frmChooseParentRecord.vb @@ -0,0 +1,10 @@ +Public Class frmChooseParentRecord + + Private Sub frmChooseParentRecord_Load(sender As Object, e As EventArgs) Handles Me.Load + Try + + Catch ex As Exception + + End Try + End Sub +End Class \ No newline at end of file diff --git a/app/DD-Record-Organiser/frmConstructor_Main.Designer.vb b/app/DD-Record-Organiser/frmConstructor_Main.Designer.vb index 24fce40..85e18f4 100644 --- a/app/DD-Record-Organiser/frmConstructor_Main.Designer.vb +++ b/app/DD-Record-Organiser/frmConstructor_Main.Designer.vb @@ -45,6 +45,7 @@ Partial Class frmConstructor_Main Me.ButtonSetViewAsDefault = New System.Windows.Forms.ToolStripMenuItem() Me.ButtonResetView = New System.Windows.Forms.ToolStripMenuItem() Me.ToolStripSeparator2 = New System.Windows.Forms.ToolStripSeparator() + Me.SucheAnzeigenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() Me.ButtonResetFilter = New System.Windows.Forms.ToolStripMenuItem() Me.ButtonExportToExcel = New System.Windows.Forms.ToolStripMenuItem() Me.DatenNeuLadenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() @@ -152,7 +153,6 @@ Partial Class frmConstructor_Main Me.VWPMO_WF_ACTIVETableAdapter = New DD_Record_Organiser.DD_DMSDataSetTableAdapters.VWPMO_WF_ACTIVETableAdapter() Me.TBPMO_FILES_USERBindingSource = New System.Windows.Forms.BindingSource(Me.components) Me.ToolTipController = New DevExpress.Utils.ToolTipController(Me.components) - Me.SucheAnzeigenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() CType(Me.SplitContainerMain, System.ComponentModel.ISupportInitialize).BeginInit() Me.SplitContainerMain.SuspendLayout() CType(Me.SplitContainerTop, System.ComponentModel.ISupportInitialize).BeginInit() @@ -322,6 +322,11 @@ Partial Class frmConstructor_Main Me.ToolStripSeparator2.Name = "ToolStripSeparator2" resources.ApplyResources(Me.ToolStripSeparator2, "ToolStripSeparator2") ' + 'SucheAnzeigenToolStripMenuItem + ' + Me.SucheAnzeigenToolStripMenuItem.Name = "SucheAnzeigenToolStripMenuItem" + resources.ApplyResources(Me.SucheAnzeigenToolStripMenuItem, "SucheAnzeigenToolStripMenuItem") + ' 'ButtonResetFilter ' Me.ButtonResetFilter.Name = "ButtonResetFilter" @@ -354,7 +359,6 @@ Partial Class frmConstructor_Main ' Me.grvwGrid.Appearance.EvenRow.BackColor = CType(resources.GetObject("grvwGrid.Appearance.EvenRow.BackColor"), System.Drawing.Color) Me.grvwGrid.Appearance.EvenRow.Options.UseBackColor = True - Me.grvwGrid.FocusRectStyle = DevExpress.XtraGrid.Views.Grid.DrawFocusRectStyle.None Me.grvwGrid.GridControl = Me.GridControlMain resources.ApplyResources(Me.grvwGrid, "grvwGrid") Me.grvwGrid.HorzScrollVisibility = DevExpress.XtraGrid.Views.Base.ScrollVisibility.Always @@ -364,7 +368,6 @@ Partial Class frmConstructor_Main Me.grvwGrid.OptionsBehavior.Editable = False Me.grvwGrid.OptionsBehavior.ReadOnly = True Me.grvwGrid.OptionsClipboard.CopyColumnHeaders = DevExpress.Utils.DefaultBoolean.[False] - Me.grvwGrid.OptionsFind.AllowFindPanel = False Me.grvwGrid.OptionsSelection.EnableAppearanceFocusedCell = False Me.grvwGrid.OptionsSelection.EnableAppearanceFocusedRow = False Me.grvwGrid.OptionsSelection.EnableAppearanceHideSelection = False @@ -1053,11 +1056,6 @@ Partial Class frmConstructor_Main Me.TBPMO_FILES_USERBindingSource.DataMember = "TBPMO_FILES_USER" Me.TBPMO_FILES_USERBindingSource.DataSource = Me.DD_DMSDataSet ' - 'SucheAnzeigenToolStripMenuItem - ' - Me.SucheAnzeigenToolStripMenuItem.Name = "SucheAnzeigenToolStripMenuItem" - resources.ApplyResources(Me.SucheAnzeigenToolStripMenuItem, "SucheAnzeigenToolStripMenuItem") - ' 'frmConstructor_Main ' resources.ApplyResources(Me, "$this") diff --git a/app/DD-Record-Organiser/frmConstructor_Main.resx b/app/DD-Record-Organiser/frmConstructor_Main.resx index 5076ff7..6adcf4b 100644 --- a/app/DD-Record-Organiser/frmConstructor_Main.resx +++ b/app/DD-Record-Organiser/frmConstructor_Main.resx @@ -2316,6 +2316,12 @@ System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + SucheAnzeigenToolStripMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + ButtonResetFilter @@ -2760,12 +2766,6 @@ DevExpress.Utils.ToolTipController, DevExpress.Utils.v15.2, Version=15.2.9.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - SucheAnzeigenToolStripMenuItem - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - frmConstructor_Main diff --git a/app/DD-Record-Organiser/frmConstructor_Main.vb b/app/DD-Record-Organiser/frmConstructor_Main.vb index bf04d13..58a320b 100644 --- a/app/DD-Record-Organiser/frmConstructor_Main.vb +++ b/app/DD-Record-Organiser/frmConstructor_Main.vb @@ -14,10 +14,12 @@ Imports System.Runtime.InteropServices Public Class frmConstructor_Main Private DT_VWPMO_CONSTRUCTOR_FORMS As DataTable + Private DT_ENTITY_DATA As DataTable Private Const SEE_MASK_INVOKEIDLIST = &HC Private Const SEE_MASK_NOCLOSEPROCESS = &H40 Private Const SEE_MASK_FLAG_NO_UI = &H400 Public Const SW_SHOW As Short = 5 + Private PARENT_SKIPPED As Boolean = False _ Public Shared Function ShellExecuteEx(ByRef lpExecInfo As SHELLEXECUTEINFO) As Boolean End Function @@ -224,6 +226,9 @@ Public Class frmConstructor_Main DT_VWPMO_CONSTRUCTOR_FORMS = ClassDatabase.Return_Datatable(SQL) DT_CONSTRUCT_VIEW = ClassDatabase.Return_Datatable("SELECT * FROM TBPMO_FORM_CONSTRUCTOR WHERE GUID = " & CONSTRUCTORID) + Dim SEL1 = String.Format("SELECT * FROM TBPMO_FORM WHERE GUID IN (SELECT FORM_ID FROM VWPMO_CONSTRUCTOR_FORMS WHERE SCREEN_ID = {0} AND CONSTRUCT_ID = {1})", CURRENT_SCREEN_ID, CONSTRUCTORID) + DT_ENTITY_DATA = ClassDatabase.Return_Datatable(SEL1) + If DT_CONSTRUCT_VIEW.Rows.Count = 1 Then 'Load Input Grid Me.Text = DT_CONSTRUCT_VIEW.Rows(0).Item("FORM_TITLE") @@ -545,7 +550,7 @@ Public Class frmConstructor_Main Public Sub Hide_Grid_Columns() Try - Dim DefaultHiddenColumns As New List(Of String) From {"Record-ID", "Form-ID", "ROW_COLOR"} + Dim DefaultHiddenColumns As New List(Of String) From {"Record-ID", "Form-ID", "ROW_COLOR", "COLOR"} Dim QuickHiddenColumns As New List(Of String) From {"AddedWho", "AddedWhen", "ChangedWho", "ChangedWhen"} If GRID_TYPE = GridType.Carousel Or GRID_TYPE = GridType.Tiles Then @@ -1334,6 +1339,16 @@ Public Class frmConstructor_Main 'If CtrlCommandUI.IsInsert Then ' Exit Sub 'End If + If PARENT_ID > 0 Then + If PARENT_SKIPPED = True Then + Dim msg = "Achtung es wurde noch kein Parent-Datensatz ausgewählt! Bitte wählen Sie einen Datensatz aus!" + If USER_LANGUAGE <> "de-DE" Then + msg = "Attention: No parent-record was selected! Please choose a parent record!" + End If + MsgBox(msg, MsgBoxStyle.Exclamation) + Exit Sub + End If + End If Me.Cursor = Cursors.WaitCursor Try If TCDetails.SelectedTabPage.Text.StartsWith("Pos") = False Then @@ -1350,6 +1365,11 @@ Public Class frmConstructor_Main CURRENT_RECORD_ID = NewRecordId RECORD_ID = NewRecordId SELECTED_RECORD_ID = NewRecordId + If PARENT_ID > 0 Then + If ClassControlCommandsUI.ConnectRecord(PARENT_ID, CURRENT_RECORD_ID, "INSERT RECORD") = False Then + MsgBox("Unexpected Error in Connect Record - Please check the logfile and inform the admin!", MsgBoxStyle.Critical) + End If + End If ClassControlValues.LoadDefaultValues(ENTITY_ID, SELECTED_RECORD_ID, pnlDetails.Controls, CURRENT_PARENT_ID, ENTITY_ID) @@ -1414,17 +1434,7 @@ Public Class frmConstructor_Main End If End If - ''Update aller Control-Werte - 'Dim ResultMessage - '' Wenn MussFelder nicht ausgefüllt werden, wird eine exception geworfen und abgefangen - 'Try - ' ResultMessage = Update_Record_OnChange() - 'Catch ex As Exception - ' MsgBox(ex.Message, MsgBoxStyle.Exclamation, "Error in saving Record") - ' Me.Cursor = Cursors.Default - ' Return False - 'End Try - 'Update_Status_Label(True, ResultMessage, EDIT_STATE) + If TrySave_User() = False Then ' Cursor zurücksetzen Me.Cursor = Cursors.Default @@ -1806,7 +1816,7 @@ Public Class frmConstructor_Main Sub Load_Entity_Data(ClickedLevel As Integer) Try Dim sw As New SW("Load_Entity_Data") - + PARENT_SKIPPED = False Me.Cursor = Cursors.WaitCursor RECORD_CHANGED = False RECORD_ID = 0 @@ -1825,17 +1835,13 @@ Public Class frmConstructor_Main SQL_RIGHT_READ_AND_VIEW_ONLY = result.Item("SQL_RIGHT_READ_AND_VIEW_ONLY") SQL_RIGHT_WINDREAM_FORBIDDEN = result.Item("SQL_RIGHT_WINDREAM_VIEW") - 'LOAD_DIRECT = ClassDatabase.Execute_Scalar("SELECT LOAD_DIRECT FROM VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = " & CONSTRUCTORID & " AND FORM_ID = " & ENTITY_ID & " AND SCREEN_ID = " & CURRENT_SCREEN_ID) - 'CURRENT_CONSTRUCTOR_DETAIL_ID = ClassDatabase.Execute_Scalar("SELECT GUID FROM VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = " & CONSTRUCTORID & " AND FORM_ID = " & ENTITY_ID & " AND SCREEN_ID = " & CURRENT_SCREEN_ID) - 'CONTROL_DOCTYPE_MATCH = ClassDatabase.Execute_Scalar("SELECT CONTROL_DOCTYPE_MATCH FROM VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = " & CONSTRUCTORID & " AND FORM_ID = " & ENTITY_ID & " AND SCREEN_ID = " & CURRENT_SCREEN_ID) - 'SQL_RIGHT_READ_AND_VIEW_ONLY = ClassDatabase.Execute_Scalar("SELECT SQL_RIGHT_READ_AND_VIEW_ONLY FROM VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = " & CONSTRUCTORID & " AND FORM_ID = " & ENTITY_ID & " AND SCREEN_ID = " & CURRENT_SCREEN_ID) - 'SQL_RIGHT_WINDREAM_FORBIDDEN = ClassDatabase.Execute_Scalar("SELECT SQL_RIGHT_WINDREAM_VIEW FROM VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = " & CONSTRUCTORID & " AND FORM_ID = " & ENTITY_ID & " AND SCREEN_ID = " & CURRENT_SCREEN_ID) + Dim ENTITY_ROW = (From form In DT_ENTITY_DATA.AsEnumerable() + Select form + Where form.Item("GUID") = ENTITY_ID).Single() - - - FORM_TYPE = ClassDatabase.Execute_Scalar("SELECT FORM_TYPE_ID FROM TBPMO_FORM WHERE GUID = " & ENTITY_ID) - IS_SINGLE_RECORD = ClassDatabase.Execute_Scalar("SELECT SINGLE_RECORD FROM TBPMO_FORM WHERE GUID = " & ENTITY_ID) - POS_ENTITY = ClassDatabase.Execute_Scalar("SELECT POS_ENTITY FROM TBPMO_FORM WHERE GUID = " & ENTITY_ID) + FORM_TYPE = ENTITY_ROW.Item("FORM_TYPE_ID") + IS_SINGLE_RECORD = ENTITY_ROW.Item("SINGLE_RECORD") + POS_ENTITY = ENTITY_ROW.Item("POS_ENTITY") If VIEW_ID_RUNTIME <> -1 Then GRID_TYPE_ID = VIEW_ID_RUNTIME Else @@ -1936,21 +1942,14 @@ Public Class frmConstructor_Main _ENTITYSQL = _ENTITYSQL.ToString.Replace("@T2.RECORD1_ID", PARENT_RECORDID) End If Else - Console.WriteLine("Ebene 1 wurde nicht ausgewählt") SELECTED_RECORD_ID = 0 PARENT_ID = 0 PARENT_RECORDID = 0 NavPane.Categories.Clear() tsslblRecord.Text = "" - Update_Status_Label(True, "Entity 1 Jumped over - All Records loaded", EditState.Update) + Update_Status_Label(True, "Entity 1 skipped - All Records loaded", EditState.Update) + PARENT_SKIPPED = True End If - 'tslblEntity3.Visible = False - 'Select Case FORM_TYPE - ' Case 5 - ' If GET_GROUP_OR_SINGLE_RECORD(PARENT_RECORDID) = True Then - ' EBENE2_RECID = RECORD_ID - ' End If - 'End Select Dim result3 = (From form In DT_VWPMO_CONSTRUCTOR_FORMS.AsEnumerable() Select form @@ -1991,13 +1990,14 @@ Public Class frmConstructor_Main ClassLogger.Add("Error in Replacing patterns in entity_sql: " & ex.Message) End Try Else - Console.WriteLine("Ebene 2 wurde nicht ausgewählt") + SELECTED_RECORD_ID = 0 PARENT_ID = 0 PARENT_RECORDID = 0 NavPane.Categories.Clear() - Update_Status_Label(True, "Entity 2 Jumped over - All Records loaded", EditState.Update) + Update_Status_Label(True, "Entity 2 skipped - All Records loaded", EditState.Update) tsslblRecord.Text = "" + PARENT_SKIPPED = True End If 'Select Case FORM_TYPE ' Case 5 @@ -2148,16 +2148,6 @@ Public Class frmConstructor_Main End If Load_Templates() - 'For Each column As DevExpress.XtraGrid.Columns.GridColumn In grvwGrid.Columns - ' column.MinWidth = 100 - 'Next - - ' Wenn rows existieren, erste row laden und recordid auslesen - 'Dim firstRow As System.Data.DataRowView = GridControlMain.MainView.GetRow(0) - 'If Not IsNothing(firstRow) Then - ' Dim firstRecordId As Integer = firstRow.Row.Item("Record-ID") - ' ClassControlValues.LoadControlValuesList(firstRecordId, PARENT_ID, ENTITY_ID, CtrlBuilder.MasterPanel.Controls) - 'End If ' Hinfällig, da hier die Record-ID nicht gebraucht wird CtrlBuilder.WatchRecordChanges = False ClassControlValues.LoadControlValuesList(ENTITY_ID, CtrlBuilder.MasterPanel.Controls) @@ -2491,6 +2481,9 @@ Public Class frmConstructor_Main Private Function GET_LINKED_RECORD(RECORDID As Integer, ENTITY_ID As Integer) Try + Dim ENTITY_ROW = (From form In DT_ENTITY_DATA.AsEnumerable() + Select form + Where form.Item("GUID") = ENTITY_ID).Single() 'Je nach der Ebene muss evtl die übergeordnete Entität ausgelesen werden Select Case ACT_EBENE @@ -2511,8 +2504,8 @@ Public Class frmConstructor_Main Return PARENT_RECORD1 End If Case 3 - Dim sqlp = "SELECT PARENT_ID FROM TBPMO_FORM WHERE GUID = " & ENTITY_ID - Dim Parent_EntityID = ClassDatabase.Execute_Scalar(sqlp, True) + ' Dim sqlp = "SELECT PARENT_ID FROM TBPMO_FORM WHERE GUID = " & ENTITY_ID + Dim Parent_EntityID = ENTITY_ROW.Item("PARENT_ID") 'ClassDatabase.Execute_Scalar(sqlp, True) Dim sql As String = String.Format("SELECT T.RECORD2_ID FROM TBPMO_RECORD_CONNECT T, TBPMO_RECORD T1 WHERE T.RECORD2_ID = T1.GUID AND T.RECORD1_ID = (SELECT T.RECORD2_ID FROM TBPMO_RECORD_CONNECT T, TBPMO_RECORD T1 WHERE " & _ "T.RECORD2_ID = T1.GUID AND T.RECORD1_ID = {0} and T1.FORM_ID = {1}) and T1.FORM_ID = {2}", RECORDID, Parent_EntityID, ENTITY_ID) Dim PARENT_RECORD2 = ClassDatabase.Execute_Scalar(sql, True) @@ -2617,6 +2610,10 @@ Public Class frmConstructor_Main ' FormID und RecordID immer ausblenden grvwGrid.Columns.Item("Record-ID").Visible = False grvwGrid.Columns.Item("Form-ID").Visible = False + grvwGrid.Columns.Item("ROW_COLOR").Visible = False + + + End If Catch ex As Exception MsgBox("Error in HideColumns:" & vbNewLine & ex.Message, MsgBoxStyle.Critical) @@ -2649,6 +2646,10 @@ Public Class frmConstructor_Main End Sub Private Sub Show_Selected_Record_Data(Rec_ID As Integer, EntityLoad As Boolean) Try + Dim ENTITY_ROW = (From form In DT_ENTITY_DATA.AsEnumerable() + Select form + Where form.Item("GUID") = ENTITY_ID).Single() + Update_Status_Label(False, "") If LogErrorsOnly = False Then ClassLogger.Add(" >> GRID_RECORD ID: " & Rec_ID.ToString, False) 'Me.pnlDetails.Visible = True @@ -2660,9 +2661,7 @@ Public Class frmConstructor_Main Case 3 linkedRecord = GET_LINKED_RECORD(Rec_ID, ENTITY_ID) If linkedRecord > 0 Then - - Dim sqlp = "SELECT PARENT_ID FROM TBPMO_FORM WHERE GUID = " & ENTITY_ID - Dim Parent_EntityID = ClassDatabase.Execute_Scalar(sqlp, True) + Dim Parent_EntityID = ENTITY_ROW.Item("PARENT_ID") Dim sql As String = String.Format("SELECT T.RECORD2_ID FROM TBPMO_RECORD_CONNECT T, TBPMO_RECORD T1 WHERE T.RECORD2_ID = T1.GUID AND T.RECORD1_ID = {0} and T1.FORM_ID = {1}", RECORD_ID, Parent_EntityID) Dim PARENT_RECORD1 = ClassDatabase.Execute_Scalar(sql, True) @@ -4794,15 +4793,21 @@ Public Class frmConstructor_Main Exit Sub End If Try - Dim rowCellValue = grvwGrid.GetRowCellValue(e.RowHandle, "COLOR") + Dim rowCellValue = grvwGrid.GetRowCellValue(e.RowHandle, "ROW_COLOR") If rowCellValue <> "" Then - Dim Color As Color = Color.FromArgb(rowCellValue) - ' Dim c As Color = DirectCast(rowCellValue, Color) - e.Appearance.BackColor = Color + Dim ColorRow As Color + Try + ColorRow = Color.FromName(rowCellValue) + Catch ex As Exception + ClassLogger.Add(">> RowBackColor '" & rowCellValue & "'could not be converted from name!", False) + Exit Sub + End Try + 'Dim c As Color = DirectCast(rowCellValue, Color) + e.Appearance.BackColor = ColorRow e.HighPriority = True End If Catch ex As Exception - MsgBox(ex.Message, MsgBoxStyle.Critical) + ClassLogger.Add(">> Unexpected Error in RowStyle: " & ex.Message, False) End Try End If End If @@ -4868,11 +4873,6 @@ Public Class frmConstructor_Main End Sub Sub Load_ParentConnections() Try - ' SELECT COLUMN_NAME1 FROM VWTEMP_cPMO_FORM - 'Dim sql = String.Format("SELECT TOP 1 PARENT_ID, [dbo].[FNPMO_GETOBJECTCAPTION]('{0}','FORMVIEW_TITLE' + CONVERT(VARCHAR(5), FORM_VIEW_ID), {1}) AS 'FORM_TITLE' " & _ - ' "from VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = {2} AND SCREEN_ID = {3} AND FORM_ID = {4}", USER_LANGUAGE, CURRENT_SCREEN_ID, CONSTRUCTORID, CURRENT_SCREEN_ID, ENTITY_ID) - 'Dim DT As DataTable = ClassDatabase.Return_Datatable(sql, "Parent-Data") - ' TODO: LINQ für Zugriff auf DT_VWPMO_CONSTRUCTOR_FORMS Dim result = (From form In DT_VWPMO_CONSTRUCTOR_FORMS.AsEnumerable() Select form