14 Commits

Author SHA1 Message Date
Developer01
7f714ce705 Monitoring öffnen nach Klick 2026-07-01 15:26:07 +02:00
Developer01
f837c8bf7d Wix Optimierung, Cockpit Monitoring öffnen und Doppelklick TreeView 2026-07-01 14:58:05 +02:00
Developer01
b4cd2e0008 Finalisierung treeview RC Test 2026-06-30 12:34:12 +02:00
Developer01
627cdf0274 Update GDPicture 2026-06-23 11:57:04 +02:00
Developer01
2e84104490 Aktualisierung von Abhängigkeiten und neue Monitor-Logik
GdPicture.NET-Bibliotheken auf Version `14.4.4` aktualisiert.
Neue Logik in `frmMain.vb` und `frmMonitor.vb` implementiert, um zu prüfen, ob Monitore mit einer bestimmten ID bereits geöffnet sind, und diese in den Vordergrund zu bringen. Dynamische Schriftgrößenanpassung für Grid- und TreeList-Komponenten hinzugefügt.
2026-06-23 11:56:16 +02:00
Developer01
bc61e8960d Verbesserung der SQL-Logik und Datenbindung
In `frmColumn_Detail` wurde die `SQLConnection`-Eigenschaft auf `1` gesetzt und neue Eigenschaften wie `PlaceholdersManualPrefix`, `PlaceholdersManualTitle` und `PlaceholdersManual` hinzugefügt. Eine Bedingung für `ATTRIBUTE_STORE` wurde basierend auf `IDB_ACTIVE` eingeführt. Die Behandlung von SQL-Befehlen wurde erweitert.

In `frmFormDesigner.Designer.vb` und `frmFormDesigner.resx` wurden Bindings für `TBPM_CONTROL_TABLEBindingSource` und `DD_DMSLiteDataSet` entfernt und wieder hinzugefügt, um die Datenbindung zu aktualisieren.

In `frmMain` wurde die Variable `COCKPIT_PROFILE_SQL` eingeführt, um SQL-Befehle für Cockpit-Profile zu speichern. Zusätzliche Debugging-Logs und Prüfungen wurden hinzugefügt, um SQL-Befehle zu überwachen und Fehler zu protokollieren. Die Methode `PrepareIconColumn` wurde erweitert, um sicherzustellen, dass die Spalte `TL_STATE` vorhanden ist, bevor sie verwendet wird. Fehlerbehandlungen wurden verbessert.
2026-06-05 10:50:31 +02:00
Developer01
3c3f883b66 Verbesserungen an SQL-Handling und UI-Logik
- Neue Methode `frmInvDashboard_Shown` und `frmMonitor_Shown`, um sicherzustellen, dass die Formulare nach dem Anzeigen in den Vordergrund gebracht werden.
- Aktualisierung der Bildressourcen in `frmMain.Designer.vb` und `frmMain.resx`.
- Verbesserte SQL-Fehlerbehandlung in `LoadOverviewData` und Einführung der Variablen `isCustomSQL`.
- Zusätzliche Platzhalterformate für `USER_ID` in `PrepareSQLWithReplacements`.
- Gruppierungen in Profilansichten werden entfernt, und Gruppierungen werden nur für `OVERVIEW`-Ansichten erstellt.
- Verbesserte Logik für das Öffnen von `frmMonitor` und `frmInvDashboard`, einschließlich Overlay-Anzeige und Fokus-Restore.
2026-06-02 13:03:15 +02:00
Developer01
6261ad5996 Benutzeroberfläche und SQL-Logging optimiert
Die Änderungen umfassen:
- Entfernung von `ToolTip1`- und `ImageOptions`-Eigenschaften zur Vereinfachung der Benutzeroberfläche.
- Hinzufügen von `_lastUsedOverviewSQL` zur Speicherung der letzten SQL-Abfrage.
- Erweiterung der SQL-Verarbeitung mit Platzhalterersetzung (`@PROFILE_ID`).
- Verbesserte Performance-Diagnose und Logging mit `LOG_HOTSPOTS`.
- Dynamische Aktualisierung der Baumknotenanzahl und verbesserte Hintergrundprozesse.
- Aktualisierung von Ressourcen und Lokalisierung zur Unterstützung mehrsprachiger Anwendungen.
- Entfernung von DevExpress-Komponenten und Modernisierung der UI-Elemente.
2026-05-29 14:21:26 +02:00
Developer01
ab0ff0f851 Neue Funktion: Leere Workflows ausblenden
- Hinzufügen der Eigenschaft `Hide_Empty_Workflows` in `ClassConfig` zur Steuerung der Sichtbarkeit leerer Workflows.
- Neues Ribbon-Element `Bchkitm_load_empty_wf` zur Aktivierung/Deaktivierung der Funktion.
- Asynchrone Aktualisierung der Knotenanzahlen in `TreeList_Cockpit` mit `_treeNodeCounts`.
- Sichtbarkeitssteuerung für Knoten basierend auf der Checkbox `Bchkitm_load_empty_wf`.
- Verbesserte Benutzerfreundlichkeit durch Tooltips und Logging.
- Optimierung von SQL-Abfragen und Bereinigung von Knotenbezeichnungen.
2026-05-29 12:44:11 +02:00
Developer01
3dd884096b Verbesserung der SQL-Logik und Debugging-Optimierung
Die Sichtbarkeitslogik in `ClassRefreshHelper.vb` wurde verbessert, um ungültige Indizes zu vermeiden. In `frmMain.vb` wurde die Methode `PrepareSQLWithReplacements` erweitert, um einen zusätzlichen Parameter `oProfileID` zu unterstützen, was die Flexibilität bei der SQL-Verarbeitung erhöht.

Zusätzliche Debug-Logs wurden hinzugefügt, um die Nachvollziehbarkeit zu verbessern, insbesondere bei SQL-Fehlern, Ladeprozessen und TreeList-Operationen. Die Fehlerbehandlung wurde optimiert, um spezifischere Warnungen und Validierungen zu ermöglichen.

Weitere Verbesserungen umfassen die Behandlung von `CUSTOM_OVERVIEW_SQL`, die Validierung des Overlays in `Decide_Load` und die Optimierung der SQL-Verarbeitung in `LoadOverviewData`. Allgemeine Code-Qualitätsmaßnahmen wie Kommentare und Strukturverbesserungen wurden ebenfalls vorgenommen.
2026-05-28 16:48:32 +02:00
Developer01
a386fdd841 Fehlerbehandlung für oExportFilename verbessert
Eine zusätzliche Bedingung wurde hinzugefügt, um den Fall zu behandeln, dass `oExportFilename` den Wert `Nothing` hat. In diesem Fall wird eine Log-Nachricht mit dem SQL-Befehl protokolliert und eine Fehlermeldung angezeigt, die den Benutzer auffordert, das Admin-Team zu informieren.

Außerdem wurde die bestehende Fehlermeldung angepasst, indem `vbcrlf` durch `vbCrLf` ersetzt wurde, um den Code konsistenter zu gestalten.
2026-05-19 09:11:08 +02:00
Developer01
c249b5c591 Neue Datei hinzugefügt und Logging verbessert
In der Datei Product.wxs wurde die Datei DLLLicenseManager.dll
zum Installationspaket hinzugefügt.

In frmInvDashboard.Designer.vb wurde der Adapter
VWPM_CHART_TOP5TableAdapter entfernt und durch das neue
Element CreateChartOtherRibbonPage1 ersetzt.

In frmValidator.vb wurden mehrere Verbesserungen vorgenommen:
- Debug- und Info-Logs für Exportprozesse hinzugefügt.
- SQL-Befehl für Export-Dateinamen angepasst.
- Verbesserte Fehlerbehandlung und Logging bei fehlenden
  oder ungültigen Export-Dateinamen.
- Warn-Log für nicht gefundene Dateien ergänzt.
- Info-Log für leere Dokumentenlisten hinzugefügt.
2026-05-19 09:08:52 +02:00
Developer01
04d9aac24f Navigation auf TreeList umgestellt, Monitor-Layout refactored
- NavBarControl entfernt, Navigation erfolgt jetzt über TreeList_Cockpit mit modernem Design und Rechteprüfung (Monitor/Charts).
- TreeList lädt Cockpit-Struktur aus DB, blendet Knoten je nach Berechtigung aus und zeigt mehrsprachige Fehler bei fehlender Konfiguration.
- Klick auf Monitor- oder Chart-Knoten öffnet gezielt Monitor/Dashboard mit passender Konfiguration.
- Methoden zum Laden/Speichern/Entfernen von Monitor-Grid-Layouts vereinheitlicht und auf Cockpit-spezifische Layout-Dateien umgestellt.
- TreeList-Breite und Splitter-Positionen werden benutzerspezifisch gespeichert.
- Neuer Refresh-Button für TreeList im Ribbon ergänzt.
- Diverse Refactorings, Logging- und Fehlerbehandlungs-Verbesserungen.
2026-05-13 14:23:24 +02:00
Developer01
d74beddb35 Cockpit-Navigation: DevExpress TreeList integriert
Das Hauptfenster nutzt nun eine moderne, hierarchische Cockpit-Navigation auf Basis der DevExpress TreeList. Die TreeList ersetzt die bisherige alleinige Navigation über die NavBar und lädt ihre Struktur dynamisch aus der Datenbank. Knoten können asynchron Zähler nachladen und verschiedene Typen (Übersicht, Profil, SQL) abbilden. Die Datenlade-Logik wurde für die TreeList angepasst und erweitert. UI und Ressourcen wurden modernisiert, die TreeList ist für zukünftige Erweiterungen vorbereitet. Die NavBar bleibt erhalten, ist aber nicht mehr Hauptnavigation.
2026-05-13 09:52:20 +02:00
51 changed files with 6820 additions and 8478 deletions

Binary file not shown.

View File

@@ -0,0 +1,3 @@
{
"CurrentProjectSetting": null
}

View File

@@ -0,0 +1,7 @@
{
"ExpandedNodes": [
""
],
"SelectedNode": "\\DD_PM_WINDREAM.sln",
"PreviewInSolutionExplorer": false
}

BIN
app/.vs/slnx.sqlite Normal file

Binary file not shown.

View File

@@ -6,8 +6,8 @@
<?define UpgradeCode="21ECB2F2-574B-4F4C-8889-A1CA2CEB2455"?> <?define UpgradeCode="21ECB2F2-574B-4F4C-8889-A1CA2CEB2455"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:util="http://schemas.microsoft.com/wix/UtilExtension"> <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
<Product Id="*" Name="$(var.ProductName)" Language="1031" Codepage="1252" Version="$(var.ProductVersion)" Manufacturer="$(var.Manufacturer)" UpgradeCode="$(var.UpgradeCode)"> <Product Id="*" Name="$(var.ProductName)" Language="1031" Codepage="1252" Version="$(var.ProductVersion)" Manufacturer="$(var.Manufacturer)" UpgradeCode="$(var.UpgradeCode)">
<Package <Package
Id="*" Id="*"
Keywords="Installer" Keywords="Installer"
Description="$(var.Description)" Description="$(var.Description)"
@@ -20,96 +20,89 @@
InstallScope="perMachine" InstallScope="perMachine"
/> />
<Property Id="INSTALLDIR"> <Property Id="INSTALLDIR">
<RegistrySearch Key="Software\[Manufacturer]\[ProductName]" Root="HKLM" Type="raw" Id="APPLICATIONFOLDER_REGSEARCH" Name="Path" /> <RegistrySearch Key="Software\[Manufacturer]\[ProductName]" Root="HKLM" Type="raw" Id="APPLICATIONFOLDER_REGSEARCH" Name="Path" />
</Property> </Property>
<Media Id='1' Cabinet='$(var.ProgramName).cab' EmbedCab='yes' DiskPrompt='$(var.ProgramName)' /> <Media Id='1' Cabinet='$(var.ProgramName).cab' EmbedCab='yes' DiskPrompt='$(var.ProgramName)' />
<Property Id='DiskPrompt' Value="$(var.ProgramName) Install" /> <Property Id='DiskPrompt' Value="$(var.ProgramName) Install" />
<MajorUpgrade <Property Id="PREVIOUSVERSIONSINSTALLED" Secure="yes" />
AllowDowngrades="no" <MajorUpgrade
AllowSameVersionUpgrades="yes" DowngradeErrorMessage="Eine neuere Version von [ProductName] ist bereits installiert. Das Setup wird beendet."
DowngradeErrorMessage="Eine neuere Version von [ProductName] ist bereits installiert. Das Setup wird beendet." Schedule="afterInstallInitialize"
/> AllowSameVersionUpgrades="yes"
/>
<Property Id="PREVIOUSVERSIONSINSTALLED" Secure="yes" /> <!-- Legt das Icon fest -->
<Upgrade Id="$(var.UpgradeCode)"> <Icon Id="AppIcon.exe" SourceFile="..\taskFLOW\bin\$(var.Configuration)\$(var.ProgramName).exe" />
<UpgradeVersion <!-- Zeige Icon in Systemsteuerung > Programme entfernen -->
Minimum="1.0.0.0" Maximum="1.9.4.0" <Property Id="ARPPRODUCTICON" Value="AppIcon.exe" />
Property="PREVIOUSVERSIONSINSTALLED"
IncludeMinimum="yes" IncludeMaximum="no" />
</Upgrade>
<!-- Legt das Icon fest --> <Directory Id="TARGETDIR" Name="SourceDir">
<Icon Id="AppIcon.exe" SourceFile="..\taskFLOW\bin\$(var.Configuration)\$(var.ProgramName).exe" /> <Directory Id="ProgramFilesFolder">
<!-- Zeige Icon in Systemsteuerung > Programme entfernen --> <Directory Id="DDDIR" Name="$(var.Manufacturer)">
<Property Id="ARPPRODUCTICON" Value="AppIcon.exe" /> <Directory Id="INSTALLDIR" Name="$(var.ProductName)"/>
</Directory>
</Directory>
<Directory Id="TARGETDIR" Name="SourceDir"> <Directory Id="ProgramMenuFolder">
<Directory Id="ProgramFilesFolder"> <Directory Id="ApplicationProgramsFolder" Name="$(var.ProductName)"/>
<Directory Id="DDDIR" Name="$(var.Manufacturer)"> </Directory>
<Directory Id="INSTALLDIR" Name="$(var.ProductName)"/>
</Directory>
</Directory>
<Directory Id="ProgramMenuFolder"> <Directory Id="DesktopFolder" />
<Directory Id="ApplicationProgramsFolder" Name="$(var.ProductName)"/> </Directory>
</Directory>
<Directory Id="DesktopFolder" /> <DirectoryRef Id="ApplicationProgramsFolder">
</Directory> <Component Id="ApplicationShortcut_StartMenu" Guid="62aad607-27fc-438f-b2e5-0e3f26e51aaa">
<Shortcut Id="ApplicationStartMenuShortcut_StartMenu"
<DirectoryRef Id="ApplicationProgramsFolder">
<Component Id="ApplicationShortcut_StartMenu" Guid="62aad607-27fc-438f-b2e5-0e3f26e51aaa">
<Shortcut Id="ApplicationStartMenuShortcut_StartMenu"
Name="$(var.ProductName)" Name="$(var.ProductName)"
Target="[INSTALLDIR]$(var.ProgramName).exe" Target="[INSTALLDIR]$(var.ProgramName).exe"
WorkingDirectory="INSTALLDIR"/> WorkingDirectory="INSTALLDIR"/>
<RemoveFolder Id="ApplicationProgramsFolder_StartMenu" On="uninstall"/> <RemoveFolder Id="ApplicationProgramsFolder_StartMenu" On="uninstall"/>
<RegistryValue Root="HKCU" Key="Software\[Manufacturer]\[ProductName]" Name="installed" Type="integer" Value="1" KeyPath="yes"/> <RegistryValue Root="HKCU" Key="Software\[Manufacturer]\[ProductName]" Name="installed" Type="integer" Value="1" KeyPath="yes"/>
</Component> </Component>
</DirectoryRef> </DirectoryRef>
<DirectoryRef Id="DesktopFolder"> <DirectoryRef Id="DesktopFolder">
<Component Id="ApplicationShortcut_Desktop" Guid="796a4f03-8156-4c62-8d92-29ce92805089"> <Component Id="ApplicationShortcut_Desktop" Guid="796a4f03-8156-4c62-8d92-29ce92805089">
<Shortcut Id="ApplicationStartMenuShortcut_Desktop" <Shortcut Id="ApplicationStartMenuShortcut_Desktop"
Name="$(var.ProductName)" Name="$(var.ProductName)"
Target="[INSTALLDIR]$(var.ProgramName).exe" Target="[INSTALLDIR]$(var.ProgramName).exe"
WorkingDirectory="INSTALLDIR"/> WorkingDirectory="INSTALLDIR"/>
<RemoveFolder Id="ApplicationProgramsFolder_Desktop" On="uninstall"/> <RemoveFolder Id="ApplicationProgramsFolder_Desktop" On="uninstall"/>
<RegistryValue Root="HKCU" Key="Software\[Manufacturer]\[ProductName]" Name="installed" Type="integer" Value="1" KeyPath="yes"/> <RegistryValue Root="HKCU" Key="Software\[Manufacturer]\[ProductName]" Name="installed" Type="integer" Value="1" KeyPath="yes"/>
</Component> </Component>
</DirectoryRef> </DirectoryRef>
<DirectoryRef Id="INSTALLDIR"> <DirectoryRef Id="INSTALLDIR">
<Component Id="MainApplicationExe" Guid="71B06048-F595-40CE-B429-79C2F2D6001B" KeyPath="yes"> <Component Id="MainApplicationExe" Guid="71B06048-F595-40CE-B429-79C2F2D6001B" KeyPath="yes">
<File Id="MainApplicationExe" Source="..\taskFLOW\bin\$(var.Configuration)\$(var.ProgramName).exe" Name="$(var.ProgramName).exe" KeyPath="no" Checksum="yes" /> <File Id="MainApplicationExe" Source="..\taskFLOW\bin\$(var.Configuration)\$(var.ProgramName).exe" Name="$(var.ProgramName).exe" KeyPath="no" Checksum="yes" />
<File Id="MainApplicationExeConfig" Source="..\taskFLOW\bin\$(var.Configuration)\$(var.ProgramName).exe.config" Name="$(var.ProgramName).exe.config" KeyPath="no" Checksum="yes" /> <File Id="MainApplicationExeConfig" Source="..\taskFLOW\bin\$(var.Configuration)\$(var.ProgramName).exe.config" Name="$(var.ProgramName).exe.config" KeyPath="no" Checksum="yes" />
<!-- <!--
<Shortcut Id="DesktopShortcut" Directory="DesktopFolder" Name="$(var.ProductName)" WorkingDirectory="INSTALLDIR" Icon="AppIcon.exe" IconIndex="0" Advertise="no" Target="[#MainApplicationExe]" /> <Shortcut Id="DesktopShortcut" Directory="DesktopFolder" Name="$(var.ProductName)" WorkingDirectory="INSTALLDIR" Icon="AppIcon.exe" IconIndex="0" Advertise="no" Target="[#MainApplicationExe]" />
<Shortcut Id="StartMenuShortcut" Directory="ProgramMenuDir" Name="$(var.ProductName)" WorkingDirectory="INSTALLDIR" Icon="AppIcon.exe" IconIndex="0" Advertise="no" Target="[#MainApplicationExe]" /> <Shortcut Id="StartMenuShortcut" Directory="ProgramMenuDir" Name="$(var.ProductName)" WorkingDirectory="INSTALLDIR" Icon="AppIcon.exe" IconIndex="0" Advertise="no" Target="[#MainApplicationExe]" />
--> -->
</Component> </Component>
<!--<Component Id="ReleaseNotes" Guid="D1496E4D-98C2-4849-9914-DB47D47CC6BE"> <!--<Component Id="ReleaseNotes" Guid="D1496E4D-98C2-4849-9914-DB47D47CC6BE">
<File Id="ReleaseNote" Name="Release Notes.txt" Source="P:\Projekte DIGITAL DATA\DIGITAL DATA - Entwicklung\DD_MODULE\DD Process Manager\Release_Notes.txt" KeyPath="yes"> <File Id="ReleaseNote" Name="Release Notes.txt" Source="P:\Projekte DIGITAL DATA\DIGITAL DATA - Entwicklung\DD_MODULE\DD Process Manager\Release_Notes.txt" KeyPath="yes">
</File> </File>
</Component>--> </Component>-->
<Component Id="WindreamLibs" Guid="4D11FC99-50D9-4E54-B18A-8885C9112646"> <Component Id="WindreamLibs" Guid="4D11FC99-50D9-4E54-B18A-8885C9112646">
<File Id="WINDREAMLibDLL" Name="Interop.WINDREAMLib.dll" Source="M:\Bibliotheken\3rdParty\windream\Interop.WINDREAMLib.dll" KeyPath="yes"/> <File Id="WINDREAMLibDLL" Name="Interop.WINDREAMLib.dll" Source="M:\Bibliotheken\3rdParty\windream\Interop.WINDREAMLib.dll" KeyPath="yes"/>
<File Id="WMOTOOLLib" Name="Interop.WMOTOOLLib.dll" Source="M:\Bibliotheken\3rdParty\windream\Interop.WMOTOOLLib.dll"/> <File Id="WMOTOOLLib" Name="Interop.WMOTOOLLib.dll" Source="M:\Bibliotheken\3rdParty\windream\Interop.WMOTOOLLib.dll"/>
<File Id="WMOSRCHLib" Name="Interop.WMOSRCHLib.dll" Source="M:\Bibliotheken\3rdParty\windream\Interop.WMOSRCHLib.dll"/> <File Id="WMOSRCHLib" Name="Interop.WMOSRCHLib.dll" Source="M:\Bibliotheken\3rdParty\windream\Interop.WMOSRCHLib.dll"/>
<File Id="WMOBRWSLib" Name="Interop.WMOBRWSLib.dll" Source="M:\Bibliotheken\3rdParty\windream\Interop.WMOBRWSLib.dll"/> <File Id="WMOBRWSLib" Name="Interop.WMOBRWSLib.dll" Source="M:\Bibliotheken\3rdParty\windream\Interop.WMOBRWSLib.dll"/>
</Component> </Component>
<Component Id="FormsUtilsLibs" Guid="51c183a7-af21-481a-bd34-0e547e6f6e1c"> <Component Id="FormsUtilsLibs" Guid="51c183a7-af21-481a-bd34-0e547e6f6e1c">
<File Id="FormsUtilsLib" Name="FormsUtils.dll" Source="M:\Bibliotheken\3rdParty\FormsUtils.dll" KeyPath="yes" /> <File Id="FormsUtilsLib" Name="FormsUtils.dll" Source="M:\Bibliotheken\3rdParty\FormsUtils.dll" KeyPath="yes" />
</Component> </Component>
<Component Id="DDLibs" Guid="BA2979E3-3778-48B8-B0D8-4B77825B9293"> <Component Id="DDLibs" Guid="BA2979E3-3778-48B8-B0D8-4B77825B9293">
<File Id="LookupGrid" Name="DigitalData.Controls.LookupGrid.dll" Source="DigitalData.Controls.LookupGrid.dll"/> <File Id="LookupGrid" Name="DigitalData.Controls.LookupGrid.dll" Source="DigitalData.Controls.LookupGrid.dll"/>
<File Id="DDSnapPanel" Name="DigitalData.Controls.SnapPanel.dll" Source="DigitalData.Controls.SnapPanel.dll"/> <File Id="DDSnapPanel" Name="DigitalData.Controls.SnapPanel.dll" Source="DigitalData.Controls.SnapPanel.dll"/>
<File Id="DDCommonGUIs" Name="DigitalData.GUIs.Common.dll" Source="DigitalData.GUIs.Common.dll"/> <File Id="DDCommonGUIs" Name="DigitalData.GUIs.Common.dll" Source="DigitalData.GUIs.Common.dll"/>
@@ -131,7 +124,7 @@
<File Id="Messaging.License" Name="MailLicense.xml" Source="MailLicense.xml" KeyPath="no" /> <File Id="Messaging.License" Name="MailLicense.xml" Source="MailLicense.xml" KeyPath="no" />
<File Id="Limilabs.Mail" Name="Mail.dll" Source="Mail.dll" KeyPath="no" /> <File Id="Limilabs.Mail" Name="Mail.dll" Source="Mail.dll" KeyPath="no" />
<File Id="NLog" Name="NLog.dll" Source="NLog.dll"/> <File Id="NLog" Name="NLog.dll" Source="NLog.dll"/>
</Component> </Component>
<Component Id="RuntimeLibs" Guid="F7170744-3DB5-4275-ACCD-7F3B9BDE1D6E"> <Component Id="RuntimeLibs" Guid="F7170744-3DB5-4275-ACCD-7F3B9BDE1D6E">
<File Id="Newtonsoft.Json" Name="Newtonsoft.Json.dll" Source="Newtonsoft.Json.dll" KeyPath="yes" /> <File Id="Newtonsoft.Json" Name="Newtonsoft.Json.dll" Source="Newtonsoft.Json.dll" KeyPath="yes" />
<File Id="System.Text.Json" Name="System.Text.Json.dll" Source="System.Text.Json.dll" /> <File Id="System.Text.Json" Name="System.Text.Json.dll" Source="System.Text.Json.dll" />
@@ -141,225 +134,225 @@
<File Id="EntityFramework.Firebird" Name="EntityFramework.Firebird.dll" Source="EntityFramework.Firebird.dll" /> <File Id="EntityFramework.Firebird" Name="EntityFramework.Firebird.dll" Source="EntityFramework.Firebird.dll" />
</Component> </Component>
<Component Id="GDPictureLibs" Guid="9ea5ab43-58ff-4813-9a8b-f854784f0275"> <Component Id="GDPictureLibs" Guid="9ea5ab43-58ff-4813-9a8b-f854784f0275">
<!-- Haupt-DLL --> <!-- Haupt-DLL -->
<File Id="GdPicture.NET.14" Name="GdPicture.NET.14.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.dll" KeyPath="yes" /> <File Id="GdPicture.NET.14" Name="GdPicture.NET.14.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.dll" KeyPath="yes" />
<!-- Native x64 DLLs --> <!-- Native x64 DLLs -->
<File Id="GdPicture.NET.14.barcode.1d.reader.64" Name="GdPicture.NET.14.barcode.1d.reader.64.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.barcode.1d.reader.64.dll" /> <File Id="GdPicture.NET.14.barcode.1d.reader.64" Name="GdPicture.NET.14.barcode.1d.reader.64.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.barcode.1d.reader.64.dll" />
<File Id="GdPicture.NET.14.barcode.2d.reader.64" Name="GdPicture.NET.14.barcode.2d.reader.64.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.barcode.2d.reader.64.dll" /> <File Id="GdPicture.NET.14.barcode.2d.reader.64" Name="GdPicture.NET.14.barcode.2d.reader.64.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.barcode.2d.reader.64.dll" />
<File Id="GdPicture.NET.14.filters64" Name="GdPicture.NET.14.filters.64.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.filters.64.dll" /> <File Id="GdPicture.NET.14.filters64" Name="GdPicture.NET.14.filters.64.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.filters.64.dll" />
<File Id="GdPicture.NET.14.image64" Name="GdPicture.NET.14.image.gdimgplug.64.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.image.gdimgplug.64.dll" /> <File Id="GdPicture.NET.14.image64" Name="GdPicture.NET.14.image.gdimgplug.64.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.image.gdimgplug.64.dll" />
<File Id="GdPicture.NET.14.Imaging.ML.64" Name="GdPicture.NET.14.Imaging.ML.64.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.Imaging.ML.64.dll" /> <File Id="GdPicture.NET.14.Imaging.ML.64" Name="GdPicture.NET.14.Imaging.ML.64.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.Imaging.ML.64.dll" />
<File Id="GdPicture.NET.14.Rendering.Skia.64" Name="GdPicture.NET.14.Imaging.Rendering.Skia.64.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.Imaging.Rendering.Skia.64.dll" /> <File Id="GdPicture.NET.14.Rendering.Skia.64" Name="GdPicture.NET.14.Imaging.Rendering.Skia.64.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.Imaging.Rendering.Skia.64.dll" />
<File Id="GdPicture.NET.14.machine.vision.64" Name="GdPicture.NET.14.machine.vision.64.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.machine.vision.64.dll" /> <File Id="GdPicture.NET.14.machine.vision.64" Name="GdPicture.NET.14.machine.vision.64.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.machine.vision.64.dll" />
<File Id="GdPicture.NET.14.twain.client.64" Name="GdPicture.NET.14.twain.client.64.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.twain.client.64.dll" /> <File Id="GdPicture.NET.14.twain.client.64" Name="GdPicture.NET.14.twain.client.64.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.twain.client.64.dll" />
<!-- Native x86 DLLs --> <!-- Native x86 DLLs -->
<File Id="GdPicture.NET.14.barcode.1d.reader" Name="GdPicture.NET.14.barcode.1d.reader.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.barcode.1d.reader.dll" /> <File Id="GdPicture.NET.14.barcode.1d.reader" Name="GdPicture.NET.14.barcode.1d.reader.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.barcode.1d.reader.dll" />
<File Id="GdPicture.NET.14.barcode.1d.writer" Name="GdPicture.NET.14.barcode.1d.writer.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.barcode.1d.writer.dll" /> <File Id="GdPicture.NET.14.barcode.1d.writer" Name="GdPicture.NET.14.barcode.1d.writer.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.barcode.1d.writer.dll" />
<File Id="GdPicture.NET.14.barcode.2d.reader" Name="GdPicture.NET.14.barcode.2d.reader.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.barcode.2d.reader.dll" /> <File Id="GdPicture.NET.14.barcode.2d.reader" Name="GdPicture.NET.14.barcode.2d.reader.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.barcode.2d.reader.dll" />
<File Id="GdPicture.NET.14.barcode.2d.writer" Name="GdPicture.NET.14.barcode.2d.writer.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.barcode.2d.writer.dll" /> <File Id="GdPicture.NET.14.barcode.2d.writer" Name="GdPicture.NET.14.barcode.2d.writer.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.barcode.2d.writer.dll" />
<File Id="GdPicture.NET.14.filters" Name="GdPicture.NET.14.filters.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.filters.dll" /> <File Id="GdPicture.NET.14.filters" Name="GdPicture.NET.14.filters.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.filters.dll" />
<File Id="GdPicture.NET.14.image" Name="GdPicture.NET.14.image.gdimgplug.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.image.gdimgplug.dll" /> <File Id="GdPicture.NET.14.image" Name="GdPicture.NET.14.image.gdimgplug.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.image.gdimgplug.dll" />
<File Id="GdPicture.NET.14.Imaging.ML" Name="GdPicture.NET.14.Imaging.ML.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.Imaging.ML.dll" /> <File Id="GdPicture.NET.14.Imaging.ML" Name="GdPicture.NET.14.Imaging.ML.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.Imaging.ML.dll" />
<File Id="GdPicture.NET.14.machine.vision" Name="GdPicture.NET.14.machine.vision.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.machine.vision.dll" /> <File Id="GdPicture.NET.14.machine.vision" Name="GdPicture.NET.14.machine.vision.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.machine.vision.dll" />
<File Id="GdPicture.NET.14.twain.client" Name="GdPicture.NET.14.twain.client.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.twain.client.dll" /> <File Id="GdPicture.NET.14.twain.client" Name="GdPicture.NET.14.twain.client.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.twain.client.dll" />
<!-- Managed GdPicture DLLs --> <!-- Managed GdPicture DLLs -->
<File Id="GdPicture.NET.14.WinForms" Name="GdPicture.NET.14.WinForms.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.WinForms.dll" /> <File Id="GdPicture.NET.14.WinForms" Name="GdPicture.NET.14.WinForms.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.WinForms.dll" />
<File Id="GdPicture.NET.14.CAD" Name="GdPicture.NET.14.CAD.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.CAD.dll" /> <File Id="GdPicture.NET.14.CAD" Name="GdPicture.NET.14.CAD.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.CAD.dll" />
<File Id="GdPicture.NET.14.CAD.DWG" Name="GdPicture.NET.14.CAD.DWG.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.CAD.DWG.dll" /> <File Id="GdPicture.NET.14.CAD.DWG" Name="GdPicture.NET.14.CAD.DWG.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.CAD.DWG.dll" />
<File Id="GdPicture.NET.14.Common" Name="GdPicture.NET.14.Common.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.Common.dll" /> <File Id="GdPicture.NET.14.Common" Name="GdPicture.NET.14.Common.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.Common.dll" />
<File Id="GdPicture.NET.14.Document" Name="GdPicture.NET.14.Document.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.Document.dll" /> <File Id="GdPicture.NET.14.Document" Name="GdPicture.NET.14.Document.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.Document.dll" />
<File Id="GdPicture.NET.14.Email" Name="GdPicture.NET.14.Email.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.Email.dll" /> <File Id="GdPicture.NET.14.Email" Name="GdPicture.NET.14.Email.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.Email.dll" />
<File Id="GdPicture.NET.14.HTML" Name="GdPicture.NET.14.HTML.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.HTML.dll" /> <File Id="GdPicture.NET.14.HTML" Name="GdPicture.NET.14.HTML.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.HTML.dll" />
<File Id="GdPicture.NET.14.Imaging" Name="GdPicture.NET.14.Imaging.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.Imaging.dll" /> <File Id="GdPicture.NET.14.Imaging" Name="GdPicture.NET.14.Imaging.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.Imaging.dll" />
<File Id="GdPicture.NET.14.Imaging.Formats" Name="GdPicture.NET.14.Imaging.Formats.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.Imaging.Formats.dll" /> <File Id="GdPicture.NET.14.Imaging.Formats" Name="GdPicture.NET.14.Imaging.Formats.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.Imaging.Formats.dll" />
<File Id="GdPicture.NET.14.Imaging.Formats.Conversion" Name="GdPicture.NET.14.Imaging.Formats.Conversion.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.Imaging.Formats.Conversion.dll" /> <File Id="GdPicture.NET.14.Imaging.Formats.Conversion" Name="GdPicture.NET.14.Imaging.Formats.Conversion.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.Imaging.Formats.Conversion.dll" />
<File Id="GdPicture.NET.14.Imaging.Rendering" Name="GdPicture.NET.14.Imaging.Rendering.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.Imaging.Rendering.dll" /> <File Id="GdPicture.NET.14.Imaging.Rendering" Name="GdPicture.NET.14.Imaging.Rendering.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.Imaging.Rendering.dll" />
<File Id="GdPicture.NET.14.Imaging.Rendering.Skia" Name="GdPicture.NET.14.Imaging.Rendering.Skia.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.Imaging.Rendering.Skia.dll" /> <File Id="GdPicture.NET.14.Imaging.Rendering.Skia" Name="GdPicture.NET.14.Imaging.Rendering.Skia.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.Imaging.Rendering.Skia.dll" />
<File Id="GdPicture.NET.14.Markdown" Name="GdPicture.NET.14.Markdown.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.Markdown.dll" /> <File Id="GdPicture.NET.14.Markdown" Name="GdPicture.NET.14.Markdown.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.Markdown.dll" />
<File Id="GdPicture.NET.14.MSOfficeBinary" Name="GdPicture.NET.14.MSOfficeBinary.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.MSOfficeBinary.dll"/> <File Id="GdPicture.NET.14.MSOfficeBinary" Name="GdPicture.NET.14.MSOfficeBinary.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.MSOfficeBinary.dll"/>
<File Id="GdPicture.NET.14.OpenDocument" Name="GdPicture.NET.14.OpenDocument.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.OpenDocument.dll" /> <File Id="GdPicture.NET.14.OpenDocument" Name="GdPicture.NET.14.OpenDocument.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.OpenDocument.dll" />
<File Id="GdPicture.NET.14.OpenXML" Name="GdPicture.NET.14.OpenXML.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.OpenXML.dll" /> <File Id="GdPicture.NET.14.OpenXML" Name="GdPicture.NET.14.OpenXML.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.OpenXML.dll" />
<File Id="GdPicture.NET.14.OpenXML.Templating" Name="GdPicture.NET.14.OpenXML.Templating.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.OpenXML.Templating.dll" /> <File Id="GdPicture.NET.14.OpenXML.Templating" Name="GdPicture.NET.14.OpenXML.Templating.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.OpenXML.Templating.dll" />
<File Id="GdPicture.NET.14.PDF" Name="GdPicture.NET.14.PDF.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.PDF.dll" /> <File Id="GdPicture.NET.14.PDF" Name="GdPicture.NET.14.PDF.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.PDF.dll" />
<File Id="GdPicture.NET.14.RTF" Name="GdPicture.NET.14.RTF.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.RTF.dll" /> <File Id="GdPicture.NET.14.RTF" Name="GdPicture.NET.14.RTF.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.RTF.dll" />
<File Id="GdPicture.NET.14.SVG" Name="GdPicture.NET.14.SVG.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.SVG.dll" /> <File Id="GdPicture.NET.14.SVG" Name="GdPicture.NET.14.SVG.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.SVG.dll" />
<!-- GdPicture Dependencies --> <!-- GdPicture Dependencies -->
<File Id="BouncyCastle.Cryptography" Name="BouncyCastle.Cryptography.dll" Source="..\taskFLOW\bin\$(var.Configuration)\BouncyCastle.Cryptography.dll"/> <File Id="BouncyCastle.Cryptography" Name="BouncyCastle.Cryptography.dll" Source="..\taskFLOW\bin\$(var.Configuration)\BouncyCastle.Cryptography.dll"/>
<File Id="DocumentFormat.OpenXml" Name="DocumentFormat.OpenXml.dll" Source="..\taskFLOW\bin\$(var.Configuration)\DocumentFormat.OpenXml.dll" /> <File Id="DocumentFormat.OpenXml" Name="DocumentFormat.OpenXml.dll" Source="..\taskFLOW\bin\$(var.Configuration)\DocumentFormat.OpenXml.dll" />
<File Id="DocumentFormat.OpenXml.Framework" Name="DocumentFormat.OpenXml.Framework.dll" Source="..\taskFLOW\bin\$(var.Configuration)\DocumentFormat.OpenXml.Framework.dll" /> <File Id="DocumentFormat.OpenXml.Framework" Name="DocumentFormat.OpenXml.Framework.dll" Source="..\taskFLOW\bin\$(var.Configuration)\DocumentFormat.OpenXml.Framework.dll" />
<File Id="Google.Protobuf" Name="Google.Protobuf.dll" Source="..\taskFLOW\bin\$(var.Configuration)\Google.Protobuf.dll" /> <File Id="Google.Protobuf" Name="Google.Protobuf.dll" Source="..\taskFLOW\bin\$(var.Configuration)\Google.Protobuf.dll" />
<File Id="Microsoft.Bcl.AsyncInterfaces" Name="Microsoft.Bcl.AsyncInterfaces.dll" Source="..\taskFLOW\bin\$(var.Configuration)\Microsoft.Bcl.AsyncInterfaces.dll" /> <File Id="Microsoft.Bcl.AsyncInterfaces" Name="Microsoft.Bcl.AsyncInterfaces.dll" Source="..\taskFLOW\bin\$(var.Configuration)\Microsoft.Bcl.AsyncInterfaces.dll" />
<File Id="Microsoft.Bcl.Cryptography" Name="Microsoft.Bcl.Cryptography.dll" Source="..\taskFLOW\bin\$(var.Configuration)\Microsoft.Bcl.Cryptography.dll" /> <File Id="Microsoft.Bcl.Cryptography" Name="Microsoft.Bcl.Cryptography.dll" Source="..\taskFLOW\bin\$(var.Configuration)\Microsoft.Bcl.Cryptography.dll" />
<File Id="Microsoft.Bcl.HashCode" Name="Microsoft.Bcl.HashCode.dll" Source="..\taskFLOW\bin\$(var.Configuration)\Microsoft.Bcl.HashCode.dll" /> <File Id="Microsoft.Bcl.HashCode" Name="Microsoft.Bcl.HashCode.dll" Source="..\taskFLOW\bin\$(var.Configuration)\Microsoft.Bcl.HashCode.dll" />
<File Id="Microsoft.Identity.Client" Name="Microsoft.Identity.Client.dll" Source="..\taskFLOW\bin\$(var.Configuration)\Microsoft.Identity.Client.dll" /> <File Id="Microsoft.Identity.Client" Name="Microsoft.Identity.Client.dll" Source="..\taskFLOW\bin\$(var.Configuration)\Microsoft.Identity.Client.dll" />
<File Id="Microsoft.IdentityModel.Abstractions" Name="Microsoft.IdentityModel.Abstractions.dll" Source="..\taskFLOW\bin\$(var.Configuration)\Microsoft.IdentityModel.Abstractions.dll" /> <File Id="Microsoft.IdentityModel.Abstractions" Name="Microsoft.IdentityModel.Abstractions.dll" Source="..\taskFLOW\bin\$(var.Configuration)\Microsoft.IdentityModel.Abstractions.dll" />
<File Id="Newtonsoft.Json.Bson" Name="Newtonsoft.Json.Bson.dll" Source="..\taskFLOW\bin\$(var.Configuration)\Newtonsoft.Json.Bson.dll" /> <File Id="Newtonsoft.Json.Bson" Name="Newtonsoft.Json.Bson.dll" Source="..\taskFLOW\bin\$(var.Configuration)\Newtonsoft.Json.Bson.dll" />
<File Id="OpenMcdf" Name="OpenMcdf.dll" Source="..\taskFLOW\bin\$(var.Configuration)\OpenMcdf.dll" /> <File Id="OpenMcdf" Name="OpenMcdf.dll" Source="..\taskFLOW\bin\$(var.Configuration)\OpenMcdf.dll" />
<File Id="protobufnet" Name="protobuf-net.dll" Source="..\taskFLOW\bin\$(var.Configuration)\protobuf-net.dll" /> <File Id="protobufnet" Name="protobuf-net.dll" Source="..\taskFLOW\bin\$(var.Configuration)\protobuf-net.dll" />
<File Id="protobufnet.Core" Name="protobuf-net.Core.dll" Source="..\taskFLOW\bin\$(var.Configuration)\protobuf-net.Core.dll" /> <File Id="protobufnet.Core" Name="protobuf-net.Core.dll" Source="..\taskFLOW\bin\$(var.Configuration)\protobuf-net.Core.dll" />
<File Id="RtfPipe" Name="RtfPipe.dll" Source="..\taskFLOW\bin\$(var.Configuration)\RtfPipe.dll" /> <File Id="RtfPipe" Name="RtfPipe.dll" Source="..\taskFLOW\bin\$(var.Configuration)\RtfPipe.dll" />
<!-- System DLLs --> <!-- System DLLs -->
<File Id="netstandard" Name="netstandard.dll" Source="..\taskFLOW\bin\$(var.Configuration)\netstandard.dll" /> <File Id="netstandard" Name="netstandard.dll" Source="..\taskFLOW\bin\$(var.Configuration)\netstandard.dll" />
<File Id="System.Buffers" Name="System.Buffers.dll" Source="..\taskFLOW\bin\$(var.Configuration)\System.Buffers.dll" /> <File Id="System.Buffers" Name="System.Buffers.dll" Source="..\taskFLOW\bin\$(var.Configuration)\System.Buffers.dll" />
<File Id="System.CodeDom" Name="System.CodeDom.dll" Source="..\taskFLOW\bin\$(var.Configuration)\System.CodeDom.dll" /> <File Id="System.CodeDom" Name="System.CodeDom.dll" Source="..\taskFLOW\bin\$(var.Configuration)\System.CodeDom.dll" />
<File Id="System.Collections.Immutable" Name="System.Collections.Immutable.dll" Source="..\taskFLOW\bin\$(var.Configuration)\System.Collections.Immutable.dll" /> <File Id="System.Collections.Immutable" Name="System.Collections.Immutable.dll" Source="..\taskFLOW\bin\$(var.Configuration)\System.Collections.Immutable.dll" />
<File Id="System.Data.Odbc" Name="System.Data.Odbc.dll" Source="..\taskFLOW\bin\$(var.Configuration)\System.Data.Odbc.dll" /> <File Id="System.Data.Odbc" Name="System.Data.Odbc.dll" Source="..\taskFLOW\bin\$(var.Configuration)\System.Data.Odbc.dll" />
<File Id="System.Formats.Asn1" Name="System.Formats.Asn1.dll" Source="..\taskFLOW\bin\$(var.Configuration)\System.Formats.Asn1.dll" /> <File Id="System.Formats.Asn1" Name="System.Formats.Asn1.dll" Source="..\taskFLOW\bin\$(var.Configuration)\System.Formats.Asn1.dll" />
<File Id="System.IO.Packaging" Name="System.IO.Packaging.dll" Source="..\taskFLOW\bin\$(var.Configuration)\System.IO.Packaging.dll" /> <File Id="System.IO.Packaging" Name="System.IO.Packaging.dll" Source="..\taskFLOW\bin\$(var.Configuration)\System.IO.Packaging.dll" />
<File Id="System.IO.Pipelines" Name="System.IO.Pipelines.dll" Source="..\taskFLOW\bin\$(var.Configuration)\System.IO.Pipelines.dll" /> <File Id="System.IO.Pipelines" Name="System.IO.Pipelines.dll" Source="..\taskFLOW\bin\$(var.Configuration)\System.IO.Pipelines.dll" />
<File Id="System.Memory2" Name="System.Memory.dll" Source="..\taskFLOW\bin\$(var.Configuration)\System.Memory.dll" /> <File Id="System.Memory2" Name="System.Memory.dll" Source="..\taskFLOW\bin\$(var.Configuration)\System.Memory.dll" />
<File Id="System.Net.Http.Formatting" Name="System.Net.Http.Formatting.dll" Source="..\taskFLOW\bin\$(var.Configuration)\System.Net.Http.Formatting.dll" /> <File Id="System.Net.Http.Formatting" Name="System.Net.Http.Formatting.dll" Source="..\taskFLOW\bin\$(var.Configuration)\System.Net.Http.Formatting.dll" />
<File Id="System.Numerics.Vectors" Name="System.Numerics.Vectors.dll" Source="..\taskFLOW\bin\$(var.Configuration)\System.Numerics.Vectors.dll" /> <File Id="System.Numerics.Vectors" Name="System.Numerics.Vectors.dll" Source="..\taskFLOW\bin\$(var.Configuration)\System.Numerics.Vectors.dll" />
<File Id="System.Runtime.CompilerServices.Unsafe" Name="System.Runtime.CompilerServices.Unsafe.dll" Source="..\taskFLOW\bin\$(var.Configuration)\System.Runtime.CompilerServices.Unsafe.dll" /> <File Id="System.Runtime.CompilerServices.Unsafe" Name="System.Runtime.CompilerServices.Unsafe.dll" Source="..\taskFLOW\bin\$(var.Configuration)\System.Runtime.CompilerServices.Unsafe.dll" />
<File Id="System.Security.Cryptography.Pkcs" Name="System.Security.Cryptography.Pkcs.dll" Source="..\taskFLOW\bin\$(var.Configuration)\System.Security.Cryptography.Pkcs.dll" /> <File Id="System.Security.Cryptography.Pkcs" Name="System.Security.Cryptography.Pkcs.dll" Source="..\taskFLOW\bin\$(var.Configuration)\System.Security.Cryptography.Pkcs.dll" />
<File Id="System.Text.Encodings.Web" Name="System.Text.Encodings.Web.dll" Source="..\taskFLOW\bin\$(var.Configuration)\System.Text.Encodings.Web.dll" /> <File Id="System.Text.Encodings.Web" Name="System.Text.Encodings.Web.dll" Source="..\taskFLOW\bin\$(var.Configuration)\System.Text.Encodings.Web.dll" />
<File Id="System.Threading.Channels" Name="System.Threading.Channels.dll" Source="..\taskFLOW\bin\$(var.Configuration)\System.Threading.Channels.dll" /> <File Id="System.Threading.Channels" Name="System.Threading.Channels.dll" Source="..\taskFLOW\bin\$(var.Configuration)\System.Threading.Channels.dll" />
<File Id="System.Threading.Tasks.Extensions" Name="System.Threading.Tasks.Extensions.dll" Source="..\taskFLOW\bin\$(var.Configuration)\System.Threading.Tasks.Extensions.dll" /> <File Id="System.Threading.Tasks.Extensions" Name="System.Threading.Tasks.Extensions.dll" Source="..\taskFLOW\bin\$(var.Configuration)\System.Threading.Tasks.Extensions.dll" />
<File Id="System.ValueTuple" Name="System.ValueTuple.dll" Source="..\taskFLOW\bin\$(var.Configuration)\System.ValueTuple.dll" /> <File Id="System.ValueTuple" Name="System.ValueTuple.dll" Source="..\taskFLOW\bin\$(var.Configuration)\System.ValueTuple.dll" />
<File Id="Microsoft.Win32.Primitives" Name="Microsoft.Win32.Primitives.dll" Source="..\taskFLOW\bin\$(var.Configuration)\Microsoft.Win32.Primitives.dll" /> <File Id="Microsoft.Win32.Primitives" Name="Microsoft.Win32.Primitives.dll" Source="..\taskFLOW\bin\$(var.Configuration)\Microsoft.Win32.Primitives.dll" />
<File Id="Microsoft.Win32.Registry" Name="Microsoft.Win32.Registry.dll" Source="..\taskFLOW\bin\$(var.Configuration)\Microsoft.Win32.Registry.dll" /> <File Id="Microsoft.Win32.Registry" Name="Microsoft.Win32.Registry.dll" Source="..\taskFLOW\bin\$(var.Configuration)\Microsoft.Win32.Registry.dll" />
<!-- NativeSDK DLLs --> <!-- NativeSDK DLLs -->
<File Id="NativeSDK.Exceptions" Name="NativeSDK.Exceptions.dll" Source="..\taskFLOW\bin\$(var.Configuration)\NativeSDK.Exceptions.dll" /> <File Id="NativeSDK.Exceptions" Name="NativeSDK.Exceptions.dll" Source="..\taskFLOW\bin\$(var.Configuration)\NativeSDK.Exceptions.dll" />
<File Id="NativeSDK.Settings" Name="NativeSDK.Settings.dll" Source="..\taskFLOW\bin\$(var.Configuration)\NativeSDK.Settings.dll" /> <File Id="NativeSDK.Settings" Name="NativeSDK.Settings.dll" Source="..\taskFLOW\bin\$(var.Configuration)\NativeSDK.Settings.dll" />
<File Id="NativeSDK.Settings.Edition" Name="NativeSDK.Settings.Edition.dll" Source="..\taskFLOW\bin\$(var.Configuration)\NativeSDK.Settings.Edition.dll" /> <File Id="NativeSDK.Settings.Edition" Name="NativeSDK.Settings.Edition.dll" Source="..\taskFLOW\bin\$(var.Configuration)\NativeSDK.Settings.Edition.dll" />
</Component> </Component>
<Component Id="DevExpressLibs" Guid="CB40DAAE-348E-4BD3-B275-9A526EB8F191"> <Component Id="DevExpressLibs" Guid="CB40DAAE-348E-4BD3-B275-9A526EB8F191">
<File Id="DevExpress.Images.v21.2" Name="DevExpress.Images.v21.2.dll" KeyPath="yes"/> <File Id="DevExpress.Images.v21.2" Name="DevExpress.Images.v21.2.dll" KeyPath="yes"/>
<File Id="DevExpress.Data.v21.2" Name="DevExpress.Data.v21.2.dll"/> <File Id="DevExpress.Data.v21.2" Name="DevExpress.Data.v21.2.dll"/>
<File Id="DevExpress.Xpf.Core.v21.2" Name="DevExpress.Xpf.Core.v21.2.dll"/> <File Id="DevExpress.Xpf.Core.v21.2" Name="DevExpress.Xpf.Core.v21.2.dll"/>
<File Id="DevExpress.Xpf.Docking.v21.2" Name="DevExpress.Xpf.Docking.v21.2.dll"/> <File Id="DevExpress.Xpf.Docking.v21.2" Name="DevExpress.Xpf.Docking.v21.2.dll"/>
<File Id="DevExpress.Xpf.DocumentViewer.v21.2.Core" Name="DevExpress.Xpf.DocumentViewer.v21.2.Core.dll"/> <File Id="DevExpress.Xpf.DocumentViewer.v21.2.Core" Name="DevExpress.Xpf.DocumentViewer.v21.2.Core.dll"/>
<File Id="DevExpress.Xpf.Grid.v21.2.Core" Name="DevExpress.Xpf.Grid.v21.2.Core.dll"/> <File Id="DevExpress.Xpf.Grid.v21.2.Core" Name="DevExpress.Xpf.Grid.v21.2.Core.dll"/>
<File Id="DevExpress.Xpf.Grid.v21.2" Name="DevExpress.Xpf.Grid.v21.2.dll"/> <File Id="DevExpress.Xpf.Grid.v21.2" Name="DevExpress.Xpf.Grid.v21.2.dll"/>
<File Id="DevExpress.Xpf.Layout.v21.2.Core" Name="DevExpress.Xpf.Layout.v21.2.Core.dll"/> <File Id="DevExpress.Xpf.Layout.v21.2.Core" Name="DevExpress.Xpf.Layout.v21.2.Core.dll"/>
<File Id="DevExpress.Xpf.Ribbon.v21.2" Name="DevExpress.Xpf.Ribbon.v21.2.dll"/> <File Id="DevExpress.Xpf.Ribbon.v21.2" Name="DevExpress.Xpf.Ribbon.v21.2.dll"/>
<File Id="DevExpress.XtraTreeMap.v21.2" Name="DevExpress.XtraTreeMap.v21.2.dll"/> <File Id="DevExpress.XtraTreeMap.v21.2" Name="DevExpress.XtraTreeMap.v21.2.dll"/>
<File Id="DevExpress.XtraPivotGrid.v21.2" Name="DevExpress.XtraPivotGrid.v21.2.dll"/> <File Id="DevExpress.XtraPivotGrid.v21.2" Name="DevExpress.XtraPivotGrid.v21.2.dll"/>
<File Id="DevExpress.TreeMap.v21.2.Core" Name="DevExpress.TreeMap.v21.2.Core.dll"/> <File Id="DevExpress.TreeMap.v21.2.Core" Name="DevExpress.TreeMap.v21.2.Core.dll"/>
<File Id="DevExpress.DataAccess.v21.2" Name="DevExpress.DataAccess.v21.2.dll"/> <File Id="DevExpress.DataAccess.v21.2" Name="DevExpress.DataAccess.v21.2.dll"/>
<File Id="DevExpress.DataAccess.v21.2.UI" Name="DevExpress.DataAccess.v21.2.UI.dll"/> <File Id="DevExpress.DataAccess.v21.2.UI" Name="DevExpress.DataAccess.v21.2.UI.dll"/>
<File Id="DevExpress.Data.Desktop.v21.2" Name="DevExpress.Data.Desktop.v21.2.dll"/> <File Id="DevExpress.Data.Desktop.v21.2" Name="DevExpress.Data.Desktop.v21.2.dll"/>
<File Id="DevExpress.DataVisualization.v21.2.Core" Name="DevExpress.DataVisualization.v21.2.Core.dll"/> <File Id="DevExpress.DataVisualization.v21.2.Core" Name="DevExpress.DataVisualization.v21.2.Core.dll"/>
<File Id="DevExpress.Dialogs.v21.2.Core" Name="DevExpress.Dialogs.v21.2.Core.dll" /> <File Id="DevExpress.Dialogs.v21.2.Core" Name="DevExpress.Dialogs.v21.2.Core.dll" />
<File Id="DevExpress.Pdf.v21.2.Core" Name="DevExpress.Pdf.v21.2.Core.dll" /> <File Id="DevExpress.Pdf.v21.2.Core" Name="DevExpress.Pdf.v21.2.Core.dll" />
<File Id="DevExpress.Pdf.v21.2.Drawing" Name="DevExpress.Pdf.v21.2.Drawing.dll" /> <File Id="DevExpress.Pdf.v21.2.Drawing" Name="DevExpress.Pdf.v21.2.Drawing.dll" />
<File Id="DevExpress.Charts.v21.2.Core" Name="DevExpress.Charts.v21.2.Core.dll" /> <File Id="DevExpress.Charts.v21.2.Core" Name="DevExpress.Charts.v21.2.Core.dll" />
<File Id="DevExpress.Printing.v21.2.Core" Name="DevExpress.Printing.v21.2.Core.dll" /> <File Id="DevExpress.Printing.v21.2.Core" Name="DevExpress.Printing.v21.2.Core.dll" />
<File Id="DevExpress.Utils.v21.2" Name="DevExpress.Utils.v21.2.dll" /> <File Id="DevExpress.Utils.v21.2" Name="DevExpress.Utils.v21.2.dll" />
<File Id="DevExpress.Utils.v21.2.UI" Name="DevExpress.Utils.v21.2.UI.dll" /> <File Id="DevExpress.Utils.v21.2.UI" Name="DevExpress.Utils.v21.2.UI.dll" />
<File Id="DevExpress.XtraBars.v21.2" Name="DevExpress.XtraBars.v21.2.dll" /> <File Id="DevExpress.XtraBars.v21.2" Name="DevExpress.XtraBars.v21.2.dll" />
<File Id="DevExpress.Mvvm.v21.2" Name="DevExpress.Mvvm.v21.2.dll" /> <File Id="DevExpress.Mvvm.v21.2" Name="DevExpress.Mvvm.v21.2.dll" />
<File Id="DevExpress.XtraCharts.v21.2" Name="DevExpress.XtraCharts.v21.2.dll" /> <File Id="DevExpress.XtraCharts.v21.2" Name="DevExpress.XtraCharts.v21.2.dll" />
<File Id="DevExpress.XtraCharts.v21.2.Wizard" Name="DevExpress.XtraCharts.v21.2.Wizard.dll" /> <File Id="DevExpress.XtraCharts.v21.2.Wizard" Name="DevExpress.XtraCharts.v21.2.Wizard.dll" />
<File Id="DevExpress.XtraCharts.v21.2.Extensions" Name="DevExpress.XtraCharts.v21.2.Extensions.dll" /> <File Id="DevExpress.XtraCharts.v21.2.Extensions" Name="DevExpress.XtraCharts.v21.2.Extensions.dll" />
<File Id="DevExpress.XtraCharts.v21.2.UI" Name="DevExpress.XtraCharts.v21.2.UI.dll" /> <File Id="DevExpress.XtraCharts.v21.2.UI" Name="DevExpress.XtraCharts.v21.2.UI.dll" />
<File Id="DevExpress.XtraDialogs.v21.2" Name="DevExpress.XtraDialogs.v21.2.dll" /> <File Id="DevExpress.XtraDialogs.v21.2" Name="DevExpress.XtraDialogs.v21.2.dll" />
<File Id="DevExpress.XtraEditors.v21.2" Name="DevExpress.XtraEditors.v21.2.dll" /> <File Id="DevExpress.XtraEditors.v21.2" Name="DevExpress.XtraEditors.v21.2.dll" />
<File Id="DevExpress.XtraGrid.v21.2" Name="DevExpress.XtraGrid.v21.2.dll" /> <File Id="DevExpress.XtraGrid.v21.2" Name="DevExpress.XtraGrid.v21.2.dll" />
<File Id="DevExpress.XtraLayout.v21.2" Name="DevExpress.XtraLayout.v21.2.dll" /> <File Id="DevExpress.XtraLayout.v21.2" Name="DevExpress.XtraLayout.v21.2.dll" />
<File Id="DevExpress.XtraNavBar.v21.2" Name="DevExpress.XtraNavBar.v21.2.dll" /> <File Id="DevExpress.XtraNavBar.v21.2" Name="DevExpress.XtraNavBar.v21.2.dll" />
<File Id="DevExpress.XtraPdfViewer.v21.2" Name="DevExpress.XtraPdfViewer.v21.2.dll" /> <File Id="DevExpress.XtraPdfViewer.v21.2" Name="DevExpress.XtraPdfViewer.v21.2.dll" />
<File Id="DevExpress.XtraPrinting.v21.2" Name="DevExpress.XtraPrinting.v21.2.dll" /> <File Id="DevExpress.XtraPrinting.v21.2" Name="DevExpress.XtraPrinting.v21.2.dll" />
<File Id="DevExpress.XtraTreeList.v21.2" Name="DevExpress.XtraTreeList.v21.2.dll" /> <File Id="DevExpress.XtraTreeList.v21.2" Name="DevExpress.XtraTreeList.v21.2.dll" />
<File Id="DevExpress.CodeParser.v21.2" Name="DevExpress.CodeParser.v21.2.dll" /> <File Id="DevExpress.CodeParser.v21.2" Name="DevExpress.CodeParser.v21.2.dll" />
<File Id="DevExpress.Diagram.v21.2.Core" Name="DevExpress.Diagram.v21.2.Core.dll" /> <File Id="DevExpress.Diagram.v21.2.Core" Name="DevExpress.Diagram.v21.2.Core.dll" />
<File Id="DevExpress.Office.v21.2.Core" Name="DevExpress.Office.v21.2.Core.dll" /> <File Id="DevExpress.Office.v21.2.Core" Name="DevExpress.Office.v21.2.Core.dll" />
<File Id="DevExpress.PivotGrid.v21.2.Core" Name="DevExpress.PivotGrid.v21.2.Core.dll"/> <File Id="DevExpress.PivotGrid.v21.2.Core" Name="DevExpress.PivotGrid.v21.2.Core.dll"/>
<File Id="DevExpress.RichEdit.v21.2.Core" Name="DevExpress.RichEdit.v21.2.Core.dll" /> <File Id="DevExpress.RichEdit.v21.2.Core" Name="DevExpress.RichEdit.v21.2.Core.dll" />
<File Id="DevExpress.RichEdit.v21.2.Export" Name="DevExpress.RichEdit.v21.2.Export.dll" /> <File Id="DevExpress.RichEdit.v21.2.Export" Name="DevExpress.RichEdit.v21.2.Export.dll" />
<File Id="DevExpress.XtraRichEdit.v21.2" Name="DevExpress.XtraRichEdit.v21.2.dll" /> <File Id="DevExpress.XtraRichEdit.v21.2" Name="DevExpress.XtraRichEdit.v21.2.dll" />
<File Id="DevExpress.XtraSpreadsheet.v21.2" Name="DevExpress.XtraSpreadsheet.v21.2.dll" /> <File Id="DevExpress.XtraSpreadsheet.v21.2" Name="DevExpress.XtraSpreadsheet.v21.2.dll" />
<File Id="DevExpress.Spreadsheet.v21.2.Core" Name="DevExpress.Spreadsheet.v21.2.Core.dll" /> <File Id="DevExpress.Spreadsheet.v21.2.Core" Name="DevExpress.Spreadsheet.v21.2.Core.dll" />
<File Id="DevExpress.Sparkline.v21.2.Core" Name="DevExpress.Sparkline.v21.2.Core.dll" /> <File Id="DevExpress.Sparkline.v21.2.Core" Name="DevExpress.Sparkline.v21.2.Core.dll" />
<File Id="DevExpress.Xpf.PdfViewer.v21.2" Name="DevExpress.Xpf.PdfViewer.v21.2.dll" /> <File Id="DevExpress.Xpf.PdfViewer.v21.2" Name="DevExpress.Xpf.PdfViewer.v21.2.dll" />
<File Id="DevExpress.Xpo.v21.2" Name="DevExpress.Xpo.v21.2.dll" /> <File Id="DevExpress.Xpo.v21.2" Name="DevExpress.Xpo.v21.2.dll" />
<File Id="DevExpress.XtraGauges.v21.2.Core" Name="DevExpress.XtraGauges.v21.2.Core.dll" /> <File Id="DevExpress.XtraGauges.v21.2.Core" Name="DevExpress.XtraGauges.v21.2.Core.dll" />
<File Id="DevExpress.XtraReports.v21.2" Name="DevExpress.XtraReports.v21.2.dll" /> <File Id="DevExpress.XtraReports.v21.2" Name="DevExpress.XtraReports.v21.2.dll" />
<File Id="DevExpress.XtraReports.v21.2.Extensions" Name="DevExpress.XtraReports.v21.2.Extensions.dll" /> <File Id="DevExpress.XtraReports.v21.2.Extensions" Name="DevExpress.XtraReports.v21.2.Extensions.dll" />
<File Id="DevExpress.XtraVerticalGrid.v21.2" Name="DevExpress.XtraVerticalGrid.v21.2.dll" /> <File Id="DevExpress.XtraVerticalGrid.v21.2" Name="DevExpress.XtraVerticalGrid.v21.2.dll" />
<File Id="DevExpress.XtraDiagram.v21.2" Name="DevExpress.XtraDiagram.v21.2.dll" /> <File Id="DevExpress.XtraDiagram.v21.2" Name="DevExpress.XtraDiagram.v21.2.dll" />
</Component> </Component>
<Directory Id="resources.de" Name="de"> <Directory Id="resources.de" Name="de">
<Component Id="Devexpress.Locales.de" Guid="6be5ff05-af76-4249-862a-5b13e3c56c2a"> <Component Id="Devexpress.Locales.de" Guid="6be5ff05-af76-4249-862a-5b13e3c56c2a">
<File Id="DevExpress.Data.v21.2.resources" Name="DevExpress.Data.v21.2.resources.dll" /> <File Id="DevExpress.Data.v21.2.resources" Name="DevExpress.Data.v21.2.resources.dll" />
<File Id="DevExpress.DataAccess.v21.2.resources" Name="DevExpress.DataAccess.v21.2.resources.dll" /> <File Id="DevExpress.DataAccess.v21.2.resources" Name="DevExpress.DataAccess.v21.2.resources.dll" />
<File Id="DevExpress.DataAccess.v21.2.UI.resources" Name="DevExpress.DataAccess.v21.2.UI.resources.dll" /> <File Id="DevExpress.DataAccess.v21.2.UI.resources" Name="DevExpress.DataAccess.v21.2.UI.resources.dll" />
<File Id="DevExpress.Dialogs.v21.2.Core.resources" Name="DevExpress.Dialogs.v21.2.Core.resources.dll" /> <File Id="DevExpress.Dialogs.v21.2.Core.resources" Name="DevExpress.Dialogs.v21.2.Core.resources.dll" />
<File Id="DevExpress.Pdf.v21.2.Core.resources" Name="DevExpress.Pdf.v21.2.Core.resources.dll" /> <File Id="DevExpress.Pdf.v21.2.Core.resources" Name="DevExpress.Pdf.v21.2.Core.resources.dll" />
<File Id="DevExpress.Printing.v21.2.Core.resources" Name="DevExpress.Printing.v21.2.Core.resources.dll" /> <File Id="DevExpress.Printing.v21.2.Core.resources" Name="DevExpress.Printing.v21.2.Core.resources.dll" />
<File Id="DevExpress.Utils.v21.2.resources" Name="DevExpress.Utils.v21.2.resources.dll" /> <File Id="DevExpress.Utils.v21.2.resources" Name="DevExpress.Utils.v21.2.resources.dll" />
<File Id="DevExpress.Utils.v21.2.UI.resources" Name="DevExpress.Utils.v21.2.UI.resources.dll" /> <File Id="DevExpress.Utils.v21.2.UI.resources" Name="DevExpress.Utils.v21.2.UI.resources.dll" />
<File Id="DevExpress.XtraBars.v21.2.resources" Name="DevExpress.XtraBars.v21.2.resources.dll" /> <File Id="DevExpress.XtraBars.v21.2.resources" Name="DevExpress.XtraBars.v21.2.resources.dll" />
<File Id="DevExpress.XtraCharts.v21.2.resources" Name="DevExpress.XtraCharts.v21.2.resources.dll" /> <File Id="DevExpress.XtraCharts.v21.2.resources" Name="DevExpress.XtraCharts.v21.2.resources.dll" />
<File Id="DevExpress.XtraCharts.v21.2.Wizard.resources" Name="DevExpress.XtraCharts.v21.2.Wizard.resources.dll" /> <File Id="DevExpress.XtraCharts.v21.2.Wizard.resources" Name="DevExpress.XtraCharts.v21.2.Wizard.resources.dll" />
<File Id="DevExpress.XtraEditors.v21.2.resources" Name="DevExpress.XtraEditors.v21.2.resources.dll" /> <File Id="DevExpress.XtraEditors.v21.2.resources" Name="DevExpress.XtraEditors.v21.2.resources.dll" />
<File Id="DevExpress.XtraGrid.v21.2.resources" Name="DevExpress.XtraGrid.v21.2.resources.dll" /> <File Id="DevExpress.XtraGrid.v21.2.resources" Name="DevExpress.XtraGrid.v21.2.resources.dll" />
<File Id="DevExpress.XtraLayout.v21.2.resources" Name="DevExpress.XtraLayout.v21.2.resources.dll" /> <File Id="DevExpress.XtraLayout.v21.2.resources" Name="DevExpress.XtraLayout.v21.2.resources.dll" />
<File Id="DevExpress.XtraNavBar.v21.2.resources" Name="DevExpress.XtraNavBar.v21.2.resources.dll" /> <File Id="DevExpress.XtraNavBar.v21.2.resources" Name="DevExpress.XtraNavBar.v21.2.resources.dll" />
<File Id="DevExpress.XtraPdfViewer.v21.2.resources" Name="DevExpress.XtraPdfViewer.v21.2.resources.dll" /> <File Id="DevExpress.XtraPdfViewer.v21.2.resources" Name="DevExpress.XtraPdfViewer.v21.2.resources.dll" />
<File Id="DevExpress.XtraPrinting.v21.2.resources" Name="DevExpress.XtraPrinting.v21.2.resources.dll" /> <File Id="DevExpress.XtraPrinting.v21.2.resources" Name="DevExpress.XtraPrinting.v21.2.resources.dll" />
<File Id="DevExpress.XtraTreeList.v21.2.resources" Name="DevExpress.XtraTreeList.v21.2.resources.dll" /> <File Id="DevExpress.XtraTreeList.v21.2.resources" Name="DevExpress.XtraTreeList.v21.2.resources.dll" />
<File Id="DevExpress.Diagram.v21.2.Core.resources" Name="DevExpress.Diagram.v21.2.Core.resources.dll" /> <File Id="DevExpress.Diagram.v21.2.Core.resources" Name="DevExpress.Diagram.v21.2.Core.resources.dll" />
<File Id="DevExpress.Office.v21.2.Core.resources" Name="DevExpress.Office.v21.2.Core.resources.dll" /> <File Id="DevExpress.Office.v21.2.Core.resources" Name="DevExpress.Office.v21.2.Core.resources.dll" />
<File Id="DevExpress.PivotGrid.v21.2.Core.resources" Name="DevExpress.PivotGrid.v21.2.Core.resources.dll" /> <File Id="DevExpress.PivotGrid.v21.2.Core.resources" Name="DevExpress.PivotGrid.v21.2.Core.resources.dll" />
<File Id="DevExpress.RichEdit.v21.2.Core.resources" Name="DevExpress.RichEdit.v21.2.Core.resources.dll" /> <File Id="DevExpress.RichEdit.v21.2.Core.resources" Name="DevExpress.RichEdit.v21.2.Core.resources.dll" />
<File Id="DevExpress.XtraRichEdit.v21.2.resources" Name="DevExpress.XtraRichEdit.v21.2.resources.dll" /> <File Id="DevExpress.XtraRichEdit.v21.2.resources" Name="DevExpress.XtraRichEdit.v21.2.resources.dll" />
<File Id="DevExpress.XtraSpreadsheet.v21.2.resources" Name="DevExpress.XtraSpreadsheet.v21.2.resources.dll" /> <File Id="DevExpress.XtraSpreadsheet.v21.2.resources" Name="DevExpress.XtraSpreadsheet.v21.2.resources.dll" />
<File Id="DevExpress.Spreadsheet.v21.2.Core.resources" Name="DevExpress.Spreadsheet.v21.2.Core.resources.dll" /> <File Id="DevExpress.Spreadsheet.v21.2.Core.resources" Name="DevExpress.Spreadsheet.v21.2.Core.resources.dll" />
<File Id="DevExpress.Sparkline.v21.2.Core.resources" Name="DevExpress.Sparkline.v21.2.Core.resources.dll" /> <File Id="DevExpress.Sparkline.v21.2.Core.resources" Name="DevExpress.Sparkline.v21.2.Core.resources.dll" />
<File Id="DevExpress.Xpf.PdfViewer.v21.2.resources" Name="DevExpress.Xpf.PdfViewer.v21.2.resources.dll" /> <File Id="DevExpress.Xpf.PdfViewer.v21.2.resources" Name="DevExpress.Xpf.PdfViewer.v21.2.resources.dll" />
<File Id="DevExpress.Xpo.v21.2.resources" Name="DevExpress.Xpo.v21.2.resources.dll" /> <File Id="DevExpress.Xpo.v21.2.resources" Name="DevExpress.Xpo.v21.2.resources.dll" />
<File Id="DevExpress.XtraGauges.v21.2.Core.resources" Name="DevExpress.XtraGauges.v21.2.Core.resources.dll" /> <File Id="DevExpress.XtraGauges.v21.2.Core.resources" Name="DevExpress.XtraGauges.v21.2.Core.resources.dll" />
<File Id="DevExpress.XtraReports.v21.2.resources" Name="DevExpress.XtraReports.v21.2.resources.dll" /> <File Id="DevExpress.XtraReports.v21.2.resources" Name="DevExpress.XtraReports.v21.2.resources.dll" />
<File Id="DevExpress.XtraReports.v21.2.Extensions.resources" Name="DevExpress.XtraReports.v21.2.Extensions.resources.dll" /> <File Id="DevExpress.XtraReports.v21.2.Extensions.resources" Name="DevExpress.XtraReports.v21.2.Extensions.resources.dll" />
<File Id="DevExpress.XtraVerticalGrid.v21.2.resources" Name="DevExpress.XtraVerticalGrid.v21.2.resources.dll" /> <File Id="DevExpress.XtraVerticalGrid.v21.2.resources" Name="DevExpress.XtraVerticalGrid.v21.2.resources.dll" />
</Component> </Component>
</Directory> </Directory>
<Component Id="RegistryKeys" Guid="4503BF18-22F2-4DBF-B281-06DE039F52C8"> <Component Id="RegistryKeys" Guid="4503BF18-22F2-4DBF-B281-06DE039F52C8">
<RegistryKey Root="HKLM" Key="Software"> <RegistryKey Root="HKLM" Key="Software">
<RegistryKey Key="[Manufacturer]"> <RegistryKey Key="[Manufacturer]">
<RegistryKey Key="[ProductName]" ForceCreateOnInstall="yes" ForceDeleteOnUninstall="yes" Id="REGKEYINSTALLDIR"> <RegistryKey Key="[ProductName]" ForceCreateOnInstall="yes" ForceDeleteOnUninstall="yes" Id="REGKEYINSTALLDIR">
<RegistryValue Type="string" Value="[INSTALLDIR]" Name="Path" /> <RegistryValue Type="string" Value="[INSTALLDIR]" Name="Path" />
</RegistryKey> </RegistryKey>
</RegistryKey> </RegistryKey>
</RegistryKey> </RegistryKey>
<util:RemoveFolderEx Id="RemoveApplicationFolder" On="uninstall" Property="INSTALLDIR" /> <util:RemoveFolderEx Id="RemoveApplicationFolder" On="uninstall" Property="INSTALLDIR" />
</Component> </Component>
</DirectoryRef> </DirectoryRef>
<Feature Id="MainApplication" Title="Main Application" Level="1"> <Feature Id="MainApplication" Title="Main Application" Level="1">
<ComponentRef Id="MainApplicationExe" /> <ComponentRef Id="MainApplicationExe" />
<ComponentRef Id="RegistryKeys" /> <ComponentRef Id="RegistryKeys" />
<ComponentRef Id="WindreamLibs" /> <ComponentRef Id="WindreamLibs" />
<ComponentRef Id="FormsUtilsLibs"/> <ComponentRef Id="FormsUtilsLibs"/>
<ComponentRef Id="DDLibs" /> <ComponentRef Id="DDLibs" />
<ComponentRef Id="RuntimeLibs" /> <ComponentRef Id="RuntimeLibs" />
<ComponentRef Id="DevExpressLibs" /> <ComponentRef Id="DevExpressLibs" />
<ComponentRef Id="GDPictureLibs" /> <ComponentRef Id="GDPictureLibs" />
<ComponentRef Id="Devexpress.Locales.de" /> <ComponentRef Id="Devexpress.Locales.de" />
<ComponentRef Id="ProtocolHandlerMachine" /> <ComponentRef Id="ProtocolHandlerMachine" />
</Feature> </Feature>
<Feature Id="DesktopShortcut" Title="Desktop Shortcut"> <Feature Id="DesktopShortcut" Title="Desktop Shortcut">
<Condition Level="0">DISABLE_DESKTOP_ICON</Condition> <Condition Level="0">DISABLE_DESKTOP_ICON</Condition>
<ComponentRef Id="ApplicationShortcut_Desktop"/> <ComponentRef Id="ApplicationShortcut_Desktop"/>
</Feature> </Feature>
<Feature Id="StartmenuShortcut" Title="Startmenu Shortcut"> <Feature Id="StartmenuShortcut" Title="Startmenu Shortcut">
<Condition Level="0">DISABLE_STARTMENU_ICON</Condition> <Condition Level="0">DISABLE_STARTMENU_ICON</Condition>
<ComponentRef Id="ApplicationShortcut_StartMenu" /> <ComponentRef Id="ApplicationShortcut_StartMenu" />
</Feature> </Feature>
<!-- #######################--> <!-- #######################-->
<!-- Beginn Aufruf über Link--> <!-- Beginn Aufruf über Link-->
<!-- Per-user ProtocolHandler (HKCU) --> <!-- Per-user ProtocolHandler (HKCU) -->
@@ -382,39 +375,39 @@
</Component> </Component>
<!-- Ende Aufruf über Link--> <!-- Ende Aufruf über Link-->
<!-- #######################--> <!-- #######################-->
<!-- Legt das Standard-Installationsverzeichnis fest--> <!-- Legt das Standard-Installationsverzeichnis fest-->
<Property Id="WIXUI_INSTALLDIR" Value="INSTALLDIR" /> <Property Id="WIXUI_INSTALLDIR" Value="INSTALLDIR" />
<Property Id="_BrowseProperty" Value="INSTALLDIR" /> <Property Id="_BrowseProperty" Value="INSTALLDIR" />
<UI> <UI>
<!--<UIRef Id="WixUI_InstallDir" />--> <!--<UIRef Id="WixUI_InstallDir" />-->
<UIRef Id="WixUI_FeatureTree"/> <UIRef Id="WixUI_FeatureTree"/>
<UIRef Id="WixUI_ErrorProgressText" /> <UIRef Id="WixUI_ErrorProgressText" />
<Publish Dialog="WelcomeDlg" <Publish Dialog="WelcomeDlg"
Control="Next" Control="Next"
Event="NewDialog" Event="NewDialog"
Value="InstallDirDlg" Value="InstallDirDlg"
Order="2">1</Publish> Order="2">1</Publish>
<Publish Dialog="InstallDirDlg" <Publish Dialog="InstallDirDlg"
Control="Back" Control="Back"
Event="NewDialog" Event="NewDialog"
Value="WelcomeDlg" Value="WelcomeDlg"
Order="2">1</Publish> Order="2">1</Publish>
<Publish Dialog="InstallDirDlg" <Publish Dialog="InstallDirDlg"
Control="Next" Control="Next"
Event="NewDialog" Event="NewDialog"
Value="FeaturesDlg" Value="FeaturesDlg"
Order="2">1</Publish> Order="2">1</Publish>
<Publish Dialog="InstallDirDlg" <Publish Dialog="InstallDirDlg"
Control="ChangeFolder" Control="ChangeFolder"
Event="NewDialog" Event="NewDialog"
Value="BrowseDlg" Value="BrowseDlg"
Order="2">1</Publish> Order="2">1</Publish>
<Publish Dialog="FeaturesDlg" <Publish Dialog="FeaturesDlg"
Control="Back" Control="Back"
Event="NewDialog" Event="NewDialog"
Value="InstallDirDlg" Value="InstallDirDlg"
Order="2">1</Publish> Order="2">1</Publish>
</UI> </UI>
</Product> </Product>
</Wix> </Wix>

View File

@@ -41,7 +41,6 @@ Public Class ClassAllgemeineFunktionen
Catch ex As Exception Catch ex As Exception
LOGGER.Info($"Unexpected error in GUI_LANGUAGE_INFO FOR [{pTITLE}]...") LOGGER.Info($"Unexpected error in GUI_LANGUAGE_INFO FOR [{pTITLE}]...")
LOGGER.Error(ex) LOGGER.Error(ex)
Return Nothing
End Try End Try
End Function End Function

View File

@@ -32,6 +32,8 @@ Public Class ClassConfig
Public Property ReminderTimer As Integer = 5 Public Property ReminderTimer As Integer = 5
Public Property OverviewRefresh_Intervall As Integer = 2 Public Property OverviewRefresh_Intervall As Integer = 2
Public Property MainTreeList_Width As Integer = 250
Public Property MonitorSplitter1_Distance As Integer = 510 Public Property MonitorSplitter1_Distance As Integer = 510
Public Property MonitorSplitter2_Distance As Integer = 270 Public Property MonitorSplitter2_Distance As Integer = 270
Public Property MonitorSplitter3_Distance As Integer = 400 Public Property MonitorSplitter3_Distance As Integer = 400
@@ -41,10 +43,15 @@ Public Class ClassConfig
Public Property LastExportPath As String = "" Public Property LastExportPath As String = ""
Public Property ADDITIONAL_SEARCHES_LOAD_ONCLICK As Boolean = True Public Property ADDITIONAL_SEARCHES_LOAD_ONCLICK As Boolean = True
Public Property NOTES_ONCLICK As Boolean = True Public Property NOTES_ONCLICK As Boolean = True
Public Property Hide_Empty_Workflows As Boolean = True
Public Property GridFontSizeDelta As Integer = 0 Public Property GridFontSizeDelta As Integer = 0
Public Property ProfileConfig As New ProfileUserConfig Public Property ProfileConfig As New ProfileUserConfig
Public Property InvDashboardSplitterPositions As New List(Of InvDashboardSplitterPosition)
Public Class InvDashboardSplitterPosition
Public Property CockpitChartId As Integer
Public Property SplitterPosition As Integer
End Class
Public Class ProfileUserConfig Public Class ProfileUserConfig
Public Property ProfileID As Integer Public Property ProfileID As Integer

View File

@@ -544,9 +544,8 @@ Public Class ClassControlCreator
Return oControl Return oControl
End Function End Function
Public Function CreateExistingGridControl(row As DataRow, DT_MY_COLUMNS As DataTable, designMode As Boolean, Public Function CreateExistingGridControl(row As DataRow, DT_MY_COLUMNS As DataTable, designMode As Boolean, pcurrencySymbol As String) As GridControl
pcurrencySymbol As String, pParentControl As Control) As GridControl Dim oGridControlCreator = New ControlCreator.GridControl(LogConfig, GridTables, pcurrencySymbol)
Dim oGridControlCreator = New ControlCreator.GridControl(LogConfig, GridTables, pcurrencySymbol, pParentControl)
Dim oControl As GridControl = CreateBaseControl(New GridControl(), row, designMode) Dim oControl As GridControl = CreateBaseControl(New GridControl(), row, designMode)
Dim oControlId = DirectCast(oControl.Tag, ControlMetadata).Guid Dim oControlId = DirectCast(oControl.Tag, ControlMetadata).Guid
Dim oView As GridView Dim oView As GridView
@@ -901,15 +900,7 @@ Public Class ClassControlCreator
Dim oColumnName = oRow.Item("SPALTENNAME") Dim oColumnName = oRow.Item("SPALTENNAME")
Dim oAdvancedLookup = oRow.Item("ADVANCED_LOOKUP") Dim oAdvancedLookup = oRow.Item("ADVANCED_LOOKUP")
' *** NEU: Prüfe ob Spalte #TBCOL# verwendet (dynamisch pro Zeile) ***
If oSqlStatement <> String.Empty AndAlso oConnectionId > -1 Then If oSqlStatement <> String.Empty AndAlso oConnectionId > -1 Then
' *** NEU: Skip Spalten mit #TBCOL# (werden in ShowingEditor behandelt) ***
If oSqlStatement.Contains("{#TBCOL#") Then
Logger.Debug($"GridTables_HandleControlValueChange -> Skipping column [{oColumnName}] (has #TBCOL# placeholders, will be resolved per row)")
Continue For
End If
' *** BESTEHENDER CODE: Nur für statische Spalten ({#CTRL#} only) ***
oSqlStatement = clsPatterns.ReplaceAllValues(oSqlStatement, pControlPanel, True) oSqlStatement = clsPatterns.ReplaceAllValues(oSqlStatement, pControlPanel, True)
GridTables_CacheDatatableForColumn(oControlId, oColumnName, oSqlStatement, oConnectionId, oAdvancedLookup) GridTables_CacheDatatableForColumn(oControlId, oColumnName, oSqlStatement, oConnectionId, oAdvancedLookup)

View File

@@ -1,422 +0,0 @@
Imports System.Data
Imports System.Globalization
Imports DevExpress.XtraGrid
Imports DevExpress.XtraGrid.Columns
Imports DevExpress.XtraGrid.Views.Grid
Imports DigitalData.Modules.EDMI.API
Imports DigitalData.Modules.EDMI.API.DatabaseWithFallback
Imports DigitalData.Modules.Logging
Public Class ClassGridDataLoader
Private ReadOnly _GDLoaderLogger As Logger
Private ReadOnly _DatabaseWithFallback As DatabaseWithFallback
Private Const PMDelimiter As String = "~"
Public Sub New(pDatabaseFallback As DatabaseWithFallback)
_GDLoaderLogger = LOGCONFIG.GetLogger()
_DatabaseWithFallback = pDatabaseFallback
End Sub
''' <summary>
''' Befüllt ein GridControl mit Daten basierend auf der Grid-Konfiguration
''' </summary>
Public Function FillGridData(gridControl As GridControl,
controlRow As DataRow,
columnDefinitions As DataTable,
validator As frmValidator
) As Boolean
Try
If gridControl Is Nothing OrElse controlRow Is Nothing Then
_GDLoaderLogger?.Warn("FillGridData: GridControl oder ControlRow ist Nothing")
Return False
End If
Dim controlGuid As Integer = If(IsDBNull(controlRow("GUID")), 0, CInt(controlRow("GUID")))
Dim controlType As String = If(IsDBNull(controlRow("TYP")), "TABLE", controlRow("TYP").ToString())
_GDLoaderLogger?.Debug($"FillGridData für Control GUID={controlGuid}, Name={gridControl.Name}, Type={controlType}")
' DataTable aus GridControl holen
Dim gridDataTable As DataTable = TryCast(gridControl.DataSource, DataTable)
If gridDataTable Is Nothing Then
_GDLoaderLogger?.Warn($"GridControl {gridControl.Name} hat keine DataTable als DataSource")
Return False
End If
' Spalten-Definitionen für dieses Grid holen
Dim filteredColumns As DataTable = GetFilteredColumnDefinitions(columnDefinitions, controlGuid)
If filteredColumns Is Nothing OrElse filteredColumns.Rows.Count = 0 Then
_GDLoaderLogger?.Warn($"Keine Spalten-Definitionen für Grid GUID={controlGuid}")
Return True
End If
_GDLoaderLogger?.Debug($"Grid {gridControl.Name}: {filteredColumns.Rows.Count} Spalten-Definitionen gefunden")
' INDEX_NAME holen
Dim sourceIndexName As String = If(IsDBNull(controlRow("INDEX_NAME")), String.Empty, controlRow("INDEX_NAME").ToString())
If String.IsNullOrEmpty(sourceIndexName) Then
_GDLoaderLogger?.Warn($"Kein INDEX_NAME für Grid {gridControl.Name} konfiguriert")
Return False
End If
' Wert aus Quelle holen
Dim valueFromSource As Object = validator?.GetVariableValuefromSource(sourceIndexName, 0, False)
If valueFromSource Is Nothing Then
_GDLoaderLogger?.Debug($"Kein Wert für INDEX_NAME [{sourceIndexName}] gefunden - Grid wird geleert")
gridDataTable.Rows.Clear()
Return True
End If
' Daten befüllen basierend auf Typ
Dim success As Boolean = False
Dim valueType As String = valueFromSource.GetType().ToString()
_GDLoaderLogger?.Debug($"ValueType: {valueType}, ControlType: {controlType}")
Select Case controlType
Case "TABLE"
success = FillTableGrid(gridDataTable, filteredColumns, valueFromSource, valueType, gridControl)
Case Else
success = FillSimpleGrid(gridDataTable, valueFromSource)
End Select
' Spaltenbreiten anwenden
If success Then
ApplyColumnWidths(gridControl, filteredColumns)
End If
Return success
Catch ex As Exception
_GDLoaderLogger?.Error($"Fehler in FillGridData: {ex.Message}", ex)
Return False
End Try
End Function
''' <summary>
''' Befüllt ein TABLE-Grid (komplexe Logik mit Vektor/IDB)
''' </summary>
Private Function FillTableGrid(gridDataTable As DataTable,
columnDefinitions As DataTable,
valueFromSource As Object,
valueType As String,
gridControl As GridControl) As Boolean
Try
gridDataTable.Rows.Clear()
' ========== NICHT-IDB-MODUS: Vektor-Array-Verarbeitung ==========
If Not IDB_ACTIVE Then
If valueType.Contains("System.Object") OrElse IsArrayOrEnumerable(valueFromSource) Then
_GDLoaderLogger?.Debug($"Nicht-IDB-Modus: Verarbeite Array/Enumerable mit {TryGetCount(valueFromSource)} Elementen")
For Each zeile As Object In DirectCast(valueFromSource, IEnumerable)
Dim colValuesFromSource As String() = Split(zeile.ToString(), PMDelimiter)
Dim newRow As DataRow = gridDataTable.NewRow()
For index = 0 To columnDefinitions.Rows.Count - 1
Try
Dim rawValue As String = If(index < colValuesFromSource.Length, colValuesFromSource(index), String.Empty)
Dim targetColumn As DataColumn = gridDataTable.Columns(index)
Dim colType As Type = targetColumn.DataType
' NULL-Handling
If String.IsNullOrWhiteSpace(rawValue) Then
If colType.IsValueType AndAlso Nullable.GetUnderlyingType(colType) Is Nothing Then
newRow.Item(index) = Activator.CreateInstance(colType)
Else
newRow.Item(index) = DBNull.Value
End If
Continue For
End If
' Typ-Konvertierung
Select Case Type.GetTypeCode(colType)
Case TypeCode.Int32
newRow.Item(index) = Integer.Parse(rawValue.Trim(), CultureInfo.InvariantCulture)
Case TypeCode.Int64
newRow.Item(index) = Long.Parse(rawValue.Trim(), CultureInfo.InvariantCulture)
Case TypeCode.Double
newRow.Item(index) = Double.Parse(rawValue.Trim().Replace(",", "."), CultureInfo.InvariantCulture)
Case TypeCode.Decimal
newRow.Item(index) = Decimal.Parse(rawValue.Trim().Replace(",", "."), CultureInfo.InvariantCulture)
Case TypeCode.Boolean
newRow.Item(index) = Boolean.Parse(rawValue.Trim())
Case TypeCode.DateTime
newRow.Item(index) = DateTime.Parse(rawValue.Trim(), CultureInfo.CurrentCulture)
Case Else
newRow.Item(index) = rawValue
End Select
Catch convEx As FormatException
_GDLoaderLogger?.Warn($"Konvertierungsfehler: ColIdx={index}, RawValue=[{If(index < colValuesFromSource.Length, colValuesFromSource(index), "N/A")}]")
If gridDataTable.Columns(index).DataType.IsValueType Then
newRow.Item(index) = Activator.CreateInstance(gridDataTable.Columns(index).DataType)
Else
newRow.Item(index) = DBNull.Value
End If
End Try
Next
gridDataTable.Rows.Add(newRow)
Next
Return True
End If
End If
' ========== IDB-MODUS: String oder DataTable ==========
If valueType = "System.String" Then
Return FillIDBFromString(gridDataTable, columnDefinitions, valueFromSource.ToString())
ElseIf valueType = "System.Data.DataTable" Then
Return FillIDBFromDataTable(gridDataTable, columnDefinitions, DirectCast(valueFromSource, DataTable), gridControl)
End If
_GDLoaderLogger?.Warn($"Nicht unterstützter ValueType: {valueType}")
Return False
Catch ex As Exception
_GDLoaderLogger?.Error($"Fehler in FillTableGrid: {ex.Message}", ex)
Return False
End Try
End Function
''' <summary>
''' IDB-Modus: String-Vektor verarbeiten
''' </summary>
Private Function FillIDBFromString(gridDataTable As DataTable, columnDefinitions As DataTable, vectorString As String) As Boolean
Try
Dim colValuesFromSource As String() = Split(vectorString, PMDelimiter)
If colValuesFromSource.Length > 8 Then
_GDLoaderLogger?.Warn("⚠️ Mehr als 8 Spalten in IDB-String - Maximum ist 8!")
End If
Dim rowData As New List(Of Object)
For index = 1 To Math.Min(colValuesFromSource.Length, columnDefinitions.Rows.Count)
Try
Dim rawValue As String = colValuesFromSource(index - 1)
Dim columnType = columnDefinitions.Rows(index - 1).Item("TYPE_COLUMN")
Dim convertedValue = ClassFormat.GetConvertedValue(rawValue, columnType)
rowData.Add(convertedValue)
Catch ex As Exception
_GDLoaderLogger?.Warn($"Fehler bei Spalte {index}: {ex.Message}")
rowData.Add(String.Empty)
End Try
Next
gridDataTable.Rows.Add(rowData.ToArray())
Return True
Catch ex As Exception
_GDLoaderLogger?.Error($"Fehler in FillIDBFromString: {ex.Message}", ex)
Return False
End Try
End Function
''' <summary>
''' IDB-Modus: DataTable verarbeiten
''' </summary>
Private Function FillIDBFromDataTable(gridDataTable As DataTable,
columnDefinitions As DataTable,
sourceDataTable As DataTable,
gridControl As GridControl) As Boolean
Try
Dim isReadOnly As Boolean = False
If gridControl.Tag IsNot Nothing AndAlso TypeOf gridControl.Tag Is DataRow Then
Dim controlRow As DataRow = DirectCast(gridControl.Tag, DataRow)
isReadOnly = If(IsDBNull(controlRow("READ_ONLY")), False, CBool(controlRow("READ_ONLY")))
End If
_GDLoaderLogger?.Debug($"IDB DataTable: {sourceDataTable.Rows.Count} Zeilen, ReadOnly={isReadOnly}")
' Spaltenanzahl-Prüfung
Dim configuredColumns As Integer = columnDefinitions.Rows.Count
Dim maxSourceColumns As Integer = 0
If sourceDataTable.Rows.Count > 0 Then
For Each row As DataRow In sourceDataTable.Rows
Dim parts As String() = Split(row.Item(0).ToString(), PMDelimiter)
If parts.Length > maxSourceColumns Then
maxSourceColumns = parts.Length
End If
Next
End If
If maxSourceColumns > configuredColumns Then
If Not isReadOnly Then
' Benutzer-Dialog
Dim title, question As String
Select Case USER_LANGUAGE
Case "de-DE"
title = "Spaltenkonfiguration prüfen"
question = $"Das Grid '{gridControl.Name}' enthält Zeilen mit bis zu {maxSourceColumns} Datenwerten," & vbCrLf &
$"aber nur {configuredColumns} Spalten sind konfiguriert." & vbCrLf &
$"Es werden nur die ersten {configuredColumns} Werte je Zeile angezeigt." & vbCrLf & vbCrLf &
"Möchten Sie trotzdem fortfahren?"
Case "fr-FR"
title = "Vérifier la configuration des colonnes"
question = $"La grille '{gridControl.Name}' contient des lignes avec jusqu'à {maxSourceColumns} valeurs," & vbCrLf &
$"mais seulement {configuredColumns} colonnes sont configurées."
Case Else
title = "Check column configuration"
question = $"The grid '{gridControl.Name}' contains rows with up to {maxSourceColumns} values," & vbCrLf &
$"but only {configuredColumns} columns are configured."
End Select
Dim result = MessageBox.Show(question, title, MessageBoxButtons.YesNo, MessageBoxIcon.Warning)
If result = DialogResult.No Then
_GDLoaderLogger?.Warn("Benutzer hat Fortfahren abgebrochen")
Return False
End If
Else
_GDLoaderLogger?.Info($"ReadOnly-Grid: Ignoriere überzählige Spalten ({maxSourceColumns} → {configuredColumns})")
End If
End If
' Zeilen befüllen
For Each sourceRow As DataRow In sourceDataTable.Rows
Try
Dim colValuesFromSource As String() = Split(sourceRow.Item(0).ToString(), PMDelimiter)
Dim rowData As New List(Of Object)
For index = 1 To configuredColumns
Try
Dim rawValue As String = If(index <= colValuesFromSource.Length, colValuesFromSource(index - 1), String.Empty)
Dim columnType = columnDefinitions.Rows(index - 1).Item("TYPE_COLUMN")
Dim convertedValue = ClassFormat.GetConvertedValue(rawValue, columnType)
rowData.Add(convertedValue)
Catch ex As Exception
_GDLoaderLogger?.Warn($"Fehler bei Spalte {index}: {ex.Message}")
rowData.Add(String.Empty)
End Try
Next
gridDataTable.Rows.Add(rowData.ToArray())
Catch ex As Exception
_GDLoaderLogger?.Warn($"Fehler beim Hinzufügen der Zeile: {ex.Message}")
End Try
Next
Return True
Catch ex As Exception
_GDLoaderLogger?.Error($"Fehler in FillIDBFromDataTable: {ex.Message}", ex)
Return False
End Try
End Function
''' <summary>
''' Befüllt ein einfaches Grid (nicht TABLE-Typ)
''' </summary>
Private Function FillSimpleGrid(gridDataTable As DataTable, valueFromSource As Object) As Boolean
Try
gridDataTable.Rows.Clear()
If IsArrayOrEnumerable(valueFromSource) Then
For Each obj As Object In DirectCast(valueFromSource, IEnumerable)
If obj IsNot Nothing Then
gridDataTable.Rows.Add(New String() {obj.ToString()})
End If
Next
End If
Return True
Catch ex As Exception
_GDLoaderLogger?.Error($"Fehler in FillSimpleGrid: {ex.Message}", ex)
Return False
End Try
End Function
''' <summary>
''' Wendet Spaltenbreiten aus der Konfiguration an
''' </summary>
Private Sub ApplyColumnWidths(gridControl As GridControl, columnDefinitions As DataTable)
Try
Dim gridView As GridView = TryCast(gridControl.MainView, GridView)
If gridView Is Nothing Then Return
gridView.OptionsView.ColumnAutoWidth = False
If columnDefinitions Is Nothing OrElse columnDefinitions.Rows.Count = 0 Then
_GDLoaderLogger?.Warn("ApplyColumnWidths: Keine Spalten-Definitionen vorhanden")
Return
End If
Dim columnsByName = gridView.Columns.Cast(Of GridColumn)().
ToDictionary(Function(c) c.FieldName, StringComparer.OrdinalIgnoreCase)
For Each row As DataRow In columnDefinitions.Rows
Try
If Not IsDBNull(row("SPALTENNAME")) AndAlso Not IsDBNull(row("SPALTENBREITE")) Then
Dim columnName As String = row("SPALTENNAME").ToString()
Dim column As GridColumn = Nothing
If columnsByName.TryGetValue(columnName, column) Then
column.Width = CInt(row("SPALTENBREITE"))
_GDLoaderLogger?.Debug($"Spaltenbreite gesetzt: {columnName} = {row("SPALTENBREITE")}")
End If
End If
Catch ex As Exception
_GDLoaderLogger?.Warn($"Fehler beim Setzen der Spaltenbreite für Zeile: {ex.Message}")
End Try
Next
Catch ex As Exception
_GDLoaderLogger?.Error($"Fehler in ApplyColumnWidths: {ex.Message}", ex)
End Try
End Sub
''' <summary>
''' Filtert Spalten-Definitionen für ein bestimmtes Grid
''' </summary>
Private Function GetFilteredColumnDefinitions(columnDefinitions As DataTable, controlGuid As Integer) As DataTable
If columnDefinitions Is Nothing Then Return Nothing
Try
Dim filteredRows = columnDefinitions.AsEnumerable().
Where(Function(row) Not IsDBNull(row("CONTROL_ID")) AndAlso CInt(row("CONTROL_ID")) = controlGuid).
ToList()
If filteredRows.Count = 0 Then Return Nothing
Dim resultTable As DataTable = columnDefinitions.Clone()
For Each row In filteredRows
resultTable.ImportRow(row)
Next
Return resultTable
Catch ex As Exception
_GDLoaderLogger?.Error($"Fehler in GetFilteredColumnDefinitions: {ex.Message}", ex)
Return Nothing
End Try
End Function
''' <summary>
''' Prüft ob ein Objekt Array oder IEnumerable ist
''' </summary>
Private Function IsArrayOrEnumerable(obj As Object) As Boolean
If obj Is Nothing Then Return False
Return TypeOf obj Is IEnumerable AndAlso Not TypeOf obj Is String
End Function
''' <summary>
''' Versucht die Anzahl der Elemente zu ermitteln
''' </summary>
Private Function TryGetCount(obj As Object) As Integer
Try
If TypeOf obj Is ICollection Then
Return DirectCast(obj, ICollection).Count
End If
Return DirectCast(obj, IEnumerable).Cast(Of Object)().Count()
Catch
Return 0
End Try
End Function
End Class

View File

@@ -528,7 +528,7 @@ Public Class ClassInit
oStep = "TBPM_CHART" oStep = "TBPM_CHART"
oSql = "SELECT * FROM TBPM_CHART" oSql = "SELECT * FROM TBPM_CHART WITH (NOLOCK)"
BASEDATA_DT_CHARTS = DatabaseFallback.GetDatatable("TBPM_CHART", New GetDatatableOptions(oSql, DatabaseType.ECM)) BASEDATA_DT_CHARTS = DatabaseFallback.GetDatatable("TBPM_CHART", New GetDatatableOptions(oSql, DatabaseType.ECM))
oStep = "TBDD_GUI_LANGUAGE" oStep = "TBDD_GUI_LANGUAGE"

View File

@@ -194,13 +194,32 @@ Public Class RefreshHelper
End Sub End Sub
Private Sub SaveVisibleIndex() Private Sub SaveVisibleIndex()
_VisibleRowIndex = _View.GetVisibleIndex(_View.FocusedRowHandle) - _View.TopRowIndex If _View.FocusedRowHandle <> GridControl.InvalidRowHandle AndAlso _View.FocusedRowHandle >= 0 Then
_VisibleRowIndex = _View.GetVisibleIndex(_View.FocusedRowHandle) - _View.TopRowIndex
Else
_VisibleRowIndex = 0
End If
End Sub End Sub
Private Sub LoadVisibleIndex() Private Sub LoadVisibleIndex()
Try Try
If _View.FocusedRowHandle = GridControl.InvalidRowHandle OrElse _View.FocusedRowHandle < 0 Then
LOGGER.Debug("No valid focused row handle found. Skipping visible index restoration.")
Return
End If
_View.MakeRowVisible(_View.FocusedRowHandle, True) _View.MakeRowVisible(_View.FocusedRowHandle, True)
_View.TopRowIndex = _View.GetVisibleIndex(_View.FocusedRowHandle) - _VisibleRowIndex
Dim currentVisibleIndex As Integer = _View.GetVisibleIndex(_View.FocusedRowHandle)
Dim newTopRowIndex As Integer = currentVisibleIndex - _VisibleRowIndex
' Verhindere negative oder ungültige TopRowIndex-Werte
If newTopRowIndex >= 0 AndAlso newTopRowIndex < _View.RowCount Then
_View.TopRowIndex = newTopRowIndex
Else
LOGGER.Debug($"Calculated TopRowIndex {newTopRowIndex} is out of bounds. Skipping setting TopRowIndex.")
End If
Catch ex As Exception Catch ex As Exception
_Logger.Error(ex) _Logger.Error(ex)
End Try End Try

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -29,6 +29,9 @@ Partial Public Class DD_DMSLiteDataSet
End Class End Class
Namespace DD_DMSLiteDataSetTableAdapters Namespace DD_DMSLiteDataSetTableAdapters
Partial Public Class VWPM_CHART_INVOICE_MONITORTableAdapter
End Class
Partial Public Class TBPM_PROFILETableAdapter Partial Public Class TBPM_PROFILETableAdapter
Private Sub TBPM_PROFILETableAdapter_Disposed(sender As Object, e As EventArgs) Handles Me.Disposed Private Sub TBPM_PROFILETableAdapter_Disposed(sender As Object, e As EventArgs) Handles Me.Disposed
@@ -41,3 +44,13 @@ Namespace DD_DMSLiteDataSetTableAdapters
Partial Public Class TBPM_PROFILE_INDEXETableAdapter Partial Public Class TBPM_PROFILE_INDEXETableAdapter
End Class End Class
End Namespace End Namespace
Namespace DD_DMSLiteDataSetTableAdapters
Partial Public Class VWPM_CHART_INVOICE_MONITOR_SERIESTableAdapter
End Class
End Namespace
Namespace DD_DMSLiteDataSetTableAdapters
Partial Public Class VWPM_CHART_TOP5TableAdapter
End Class
End Namespace

View File

@@ -968,7 +968,7 @@ WHERE (GUID = @Original_GUID)</CommandText>
</DbCommand> </DbCommand>
</DeleteCommand> </DeleteCommand>
<InsertCommand> <InsertCommand>
<DbCommand CommandType="Text" ModifiedByUser="false"> <DbCommand CommandType="Text" ModifiedByUser="true">
<CommandText>INSERT INTO TBPM_PROFILE_CONTROLS <CommandText>INSERT INTO TBPM_PROFILE_CONTROLS
(PROFIL_ID, NAME, CTRL_TYPE, CTRL_TEXT, X_LOC, Y_LOC, ADDED_WHO, ADDED_WHEN, CHANGED_WHO, CHANGED_WHEN, INDEX_NAME, TYP, VALIDATION, CHOICE_LIST, CONNECTION_ID, SQL_UEBERPRUEFUNG, (PROFIL_ID, NAME, CTRL_TYPE, CTRL_TEXT, X_LOC, Y_LOC, ADDED_WHO, ADDED_WHEN, CHANGED_WHO, CHANGED_WHEN, INDEX_NAME, TYP, VALIDATION, CHOICE_LIST, CONNECTION_ID, SQL_UEBERPRUEFUNG,
HEIGHT, WIDTH, FONT_STYLE, FONT_SIZE, FONT_FAMILY, FONT_COLOR, READ_ONLY, LOAD_IDX_VALUE, DEFAULT_VALUE, MULTISELECT, VKT_ADD_ITEM, VKT_PREVENT_MULTIPLE_VALUES, REGEX_MATCH, HEIGHT, WIDTH, FONT_STYLE, FONT_SIZE, FONT_FAMILY, FONT_COLOR, READ_ONLY, LOAD_IDX_VALUE, DEFAULT_VALUE, MULTISELECT, VKT_ADD_ITEM, VKT_PREVENT_MULTIPLE_VALUES, REGEX_MATCH,
@@ -976,43 +976,43 @@ WHERE (GUID = @Original_GUID)</CommandText>
VALUES (@PROFIL_ID,@NAME,@CTRL_TYPE,@CTRL_TEXT,@X_LOC,@Y_LOC,@ADDED_WHO,@ADDED_WHEN,@CHANGED_WHO,@CHANGED_WHEN,@INDEX_NAME,@TYP,@VALIDATION,@CHOICE_LIST,@CONNECTION_ID,@SQL_UEBERPRUEFUNG,@HEIGHT,@WIDTH,@FONT_STYLE,@FONT_SIZE,@FONT_FAMILY,@FONT_COLOR,@READ_ONLY,@LOAD_IDX_VALUE,@DEFAULT_VALUE,@MULTISELECT,@VKT_ADD_ITEM,@VKT_PREVENT_MULTIPLE_VALUES,@REGEX_MATCH,@REGEX_MESSAGE_DE,@REGEX_MESSAGE_EN,@IMAGE_CONTROL,@SQL2,@SQL_ENABLE,@SAVE_CHANGE_ON_ENABLED,@FORMAT_STRING,@TEXT_ALIGNMENT); VALUES (@PROFIL_ID,@NAME,@CTRL_TYPE,@CTRL_TEXT,@X_LOC,@Y_LOC,@ADDED_WHO,@ADDED_WHEN,@CHANGED_WHO,@CHANGED_WHEN,@INDEX_NAME,@TYP,@VALIDATION,@CHOICE_LIST,@CONNECTION_ID,@SQL_UEBERPRUEFUNG,@HEIGHT,@WIDTH,@FONT_STYLE,@FONT_SIZE,@FONT_FAMILY,@FONT_COLOR,@READ_ONLY,@LOAD_IDX_VALUE,@DEFAULT_VALUE,@MULTISELECT,@VKT_ADD_ITEM,@VKT_PREVENT_MULTIPLE_VALUES,@REGEX_MATCH,@REGEX_MESSAGE_DE,@REGEX_MESSAGE_EN,@IMAGE_CONTROL,@SQL2,@SQL_ENABLE,@SAVE_CHANGE_ON_ENABLED,@FORMAT_STRING,@TEXT_ALIGNMENT);
SELECT GUID, PROFIL_ID, NAME, CTRL_TYPE, CTRL_TEXT, X_LOC, Y_LOC, ADDED_WHO, ADDED_WHEN, CHANGED_WHO, CHANGED_WHEN, INDEX_NAME, TYP, VALIDATION, CHOICE_LIST, CONNECTION_ID, SQL_UEBERPRUEFUNG, HEIGHT, WIDTH, FONT_STYLE, FONT_SIZE, FONT_FAMILY, FONT_COLOR, READ_ONLY, LOAD_IDX_VALUE, DEFAULT_VALUE, MULTISELECT, VKT_ADD_ITEM, VKT_PREVENT_MULTIPLE_VALUES, REGEX_MATCH, REGEX_MESSAGE_DE, REGEX_MESSAGE_EN FROM TBPM_PROFILE_CONTROLS WHERE (GUID = SCOPE_IDENTITY()) ORDER BY Y_LOC, X_LOC</CommandText> SELECT GUID, PROFIL_ID, NAME, CTRL_TYPE, CTRL_TEXT, X_LOC, Y_LOC, ADDED_WHO, ADDED_WHEN, CHANGED_WHO, CHANGED_WHEN, INDEX_NAME, TYP, VALIDATION, CHOICE_LIST, CONNECTION_ID, SQL_UEBERPRUEFUNG, HEIGHT, WIDTH, FONT_STYLE, FONT_SIZE, FONT_FAMILY, FONT_COLOR, READ_ONLY, LOAD_IDX_VALUE, DEFAULT_VALUE, MULTISELECT, VKT_ADD_ITEM, VKT_PREVENT_MULTIPLE_VALUES, REGEX_MATCH, REGEX_MESSAGE_DE, REGEX_MESSAGE_EN FROM TBPM_PROFILE_CONTROLS WHERE (GUID = SCOPE_IDENTITY()) ORDER BY Y_LOC, X_LOC</CommandText>
<Parameters> <Parameters>
<Parameter AllowDbNull="false" AutogeneratedName="PROFIL_ID" ColumnName="PROFIL_ID" DataSourceName="" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@PROFIL_ID" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="PROFIL_ID" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="PROFIL_ID" ColumnName="PROFIL_ID" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@PROFIL_ID" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="PROFIL_ID" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="NAME" ColumnName="NAME" DataSourceName="" DataTypeServer="varchar(100)" DbType="AnsiString" Direction="Input" ParameterName="@NAME" Precision="0" ProviderType="VarChar" Scale="0" Size="100" SourceColumn="NAME" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="NAME" ColumnName="NAME" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="varchar(100)" DbType="AnsiString" Direction="Input" ParameterName="@NAME" Precision="0" ProviderType="VarChar" Scale="0" Size="100" SourceColumn="NAME" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="CTRL_TYPE" ColumnName="CTRL_TYPE" DataSourceName="" DataTypeServer="varchar(10)" DbType="AnsiString" Direction="Input" ParameterName="@CTRL_TYPE" Precision="0" ProviderType="VarChar" Scale="0" Size="10" SourceColumn="CTRL_TYPE" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="CTRL_TYPE" ColumnName="CTRL_TYPE" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="varchar(10)" DbType="AnsiString" Direction="Input" ParameterName="@CTRL_TYPE" Precision="0" ProviderType="VarChar" Scale="0" Size="10" SourceColumn="CTRL_TYPE" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="CTRL_TEXT" ColumnName="CTRL_TEXT" DataSourceName="" DataTypeServer="varchar(100)" DbType="AnsiString" Direction="Input" ParameterName="@CTRL_TEXT" Precision="0" ProviderType="VarChar" Scale="0" Size="100" SourceColumn="CTRL_TEXT" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="CTRL_TEXT" ColumnName="CTRL_TEXT" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="varchar(100)" DbType="AnsiString" Direction="Input" ParameterName="@CTRL_TEXT" Precision="0" ProviderType="VarChar" Scale="0" Size="100" SourceColumn="CTRL_TEXT" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="X_LOC" ColumnName="X_LOC" DataSourceName="" DataTypeServer="float" DbType="Double" Direction="Input" ParameterName="@X_LOC" Precision="0" ProviderType="Float" Scale="0" Size="8" SourceColumn="X_LOC" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="X_LOC" ColumnName="X_LOC" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="float" DbType="Double" Direction="Input" ParameterName="@X_LOC" Precision="0" ProviderType="Float" Scale="0" Size="8" SourceColumn="X_LOC" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="Y_LOC" ColumnName="Y_LOC" DataSourceName="" DataTypeServer="float" DbType="Double" Direction="Input" ParameterName="@Y_LOC" Precision="0" ProviderType="Float" Scale="0" Size="8" SourceColumn="Y_LOC" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="Y_LOC" ColumnName="Y_LOC" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="float" DbType="Double" Direction="Input" ParameterName="@Y_LOC" Precision="0" ProviderType="Float" Scale="0" Size="8" SourceColumn="Y_LOC" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="ADDED_WHO" ColumnName="ADDED_WHO" DataSourceName="" DataTypeServer="varchar(30)" DbType="AnsiString" Direction="Input" ParameterName="@ADDED_WHO" Precision="0" ProviderType="VarChar" Scale="0" Size="30" SourceColumn="ADDED_WHO" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="ADDED_WHO" ColumnName="ADDED_WHO" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="varchar(30)" DbType="AnsiString" Direction="Input" ParameterName="@ADDED_WHO" Precision="0" ProviderType="VarChar" Scale="0" Size="30" SourceColumn="ADDED_WHO" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="ADDED_WHEN" ColumnName="ADDED_WHEN" DataSourceName="" DataTypeServer="datetime" DbType="DateTime" Direction="Input" ParameterName="@ADDED_WHEN" Precision="0" ProviderType="DateTime" Scale="0" Size="8" SourceColumn="ADDED_WHEN" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="ADDED_WHEN" ColumnName="ADDED_WHEN" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="datetime" DbType="DateTime" Direction="Input" ParameterName="@ADDED_WHEN" Precision="0" ProviderType="DateTime" Scale="0" Size="8" SourceColumn="ADDED_WHEN" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="CHANGED_WHO" ColumnName="CHANGED_WHO" DataSourceName="" DataTypeServer="varchar(30)" DbType="AnsiString" Direction="Input" ParameterName="@CHANGED_WHO" Precision="0" ProviderType="VarChar" Scale="0" Size="30" SourceColumn="CHANGED_WHO" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="true" AutogeneratedName="CHANGED_WHO" ColumnName="CHANGED_WHO" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="varchar(30)" DbType="AnsiString" Direction="Input" ParameterName="@CHANGED_WHO" Precision="0" ProviderType="VarChar" Scale="0" Size="30" SourceColumn="CHANGED_WHO" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="CHANGED_WHEN" ColumnName="CHANGED_WHEN" DataSourceName="" DataTypeServer="datetime" DbType="DateTime" Direction="Input" ParameterName="@CHANGED_WHEN" Precision="0" ProviderType="DateTime" Scale="0" Size="8" SourceColumn="CHANGED_WHEN" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="true" AutogeneratedName="CHANGED_WHEN" ColumnName="CHANGED_WHEN" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="datetime" DbType="DateTime" Direction="Input" ParameterName="@CHANGED_WHEN" Precision="0" ProviderType="DateTime" Scale="0" Size="8" SourceColumn="CHANGED_WHEN" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="INDEX_NAME" ColumnName="INDEX_NAME" DataSourceName="" DataTypeServer="varchar(100)" DbType="AnsiString" Direction="Input" ParameterName="@INDEX_NAME" Precision="0" ProviderType="VarChar" Scale="0" Size="100" SourceColumn="INDEX_NAME" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="true" AutogeneratedName="INDEX_NAME" ColumnName="INDEX_NAME" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="varchar(100)" DbType="AnsiString" Direction="Input" ParameterName="@INDEX_NAME" Precision="0" ProviderType="VarChar" Scale="0" Size="100" SourceColumn="INDEX_NAME" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="TYP" ColumnName="TYP" DataSourceName="" DataTypeServer="varchar(50)" DbType="AnsiString" Direction="Input" ParameterName="@TYP" Precision="0" ProviderType="VarChar" Scale="0" Size="50" SourceColumn="TYP" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="true" AutogeneratedName="TYP" ColumnName="TYP" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="varchar(50)" DbType="AnsiString" Direction="Input" ParameterName="@TYP" Precision="0" ProviderType="VarChar" Scale="0" Size="50" SourceColumn="TYP" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="VALIDATION" ColumnName="VALIDATION" DataSourceName="" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@VALIDATION" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="VALIDATION" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="VALIDATION" ColumnName="VALIDATION" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@VALIDATION" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="VALIDATION" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="CHOICE_LIST" ColumnName="CHOICE_LIST" DataSourceName="" DataTypeServer="varchar(50)" DbType="AnsiString" Direction="Input" ParameterName="@CHOICE_LIST" Precision="0" ProviderType="VarChar" Scale="0" Size="50" SourceColumn="CHOICE_LIST" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="true" AutogeneratedName="CHOICE_LIST" ColumnName="CHOICE_LIST" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="varchar(50)" DbType="AnsiString" Direction="Input" ParameterName="@CHOICE_LIST" Precision="0" ProviderType="VarChar" Scale="0" Size="50" SourceColumn="CHOICE_LIST" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="CONNECTION_ID" ColumnName="CONNECTION_ID" DataSourceName="" DataTypeServer="smallint" DbType="Int16" Direction="Input" ParameterName="@CONNECTION_ID" Precision="0" ProviderType="SmallInt" Scale="0" Size="2" SourceColumn="CONNECTION_ID" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="true" AutogeneratedName="CONNECTION_ID" ColumnName="CONNECTION_ID" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="smallint" DbType="Int16" Direction="Input" ParameterName="@CONNECTION_ID" Precision="0" ProviderType="SmallInt" Scale="0" Size="2" SourceColumn="CONNECTION_ID" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="SQL_UEBERPRUEFUNG" ColumnName="SQL_UEBERPRUEFUNG" DataSourceName="" DataTypeServer="nvarchar(MAX)" DbType="String" Direction="Input" ParameterName="@SQL_UEBERPRUEFUNG" Precision="0" ProviderType="NVarChar" Scale="0" Size="2147483647" SourceColumn="SQL_UEBERPRUEFUNG" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="true" AutogeneratedName="SQL_UEBERPRUEFUNG" ColumnName="SQL_UEBERPRUEFUNG" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="nvarchar(MAX)" DbType="String" Direction="Input" ParameterName="@SQL_UEBERPRUEFUNG" Precision="0" ProviderType="NVarChar" Scale="0" Size="2147483647" SourceColumn="SQL_UEBERPRUEFUNG" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="HEIGHT" ColumnName="HEIGHT" DataSourceName="" DataTypeServer="smallint" DbType="Int16" Direction="Input" ParameterName="@HEIGHT" Precision="0" ProviderType="SmallInt" Scale="0" Size="2" SourceColumn="HEIGHT" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="HEIGHT" ColumnName="HEIGHT" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="smallint" DbType="Int16" Direction="Input" ParameterName="@HEIGHT" Precision="0" ProviderType="SmallInt" Scale="0" Size="2" SourceColumn="HEIGHT" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="WIDTH" ColumnName="WIDTH" DataSourceName="" DataTypeServer="smallint" DbType="Int16" Direction="Input" ParameterName="@WIDTH" Precision="0" ProviderType="SmallInt" Scale="0" Size="2" SourceColumn="WIDTH" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="WIDTH" ColumnName="WIDTH" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="smallint" DbType="Int16" Direction="Input" ParameterName="@WIDTH" Precision="0" ProviderType="SmallInt" Scale="0" Size="2" SourceColumn="WIDTH" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="FONT_STYLE" ColumnName="FONT_STYLE" DataSourceName="" DataTypeServer="smallint" DbType="Int16" Direction="Input" ParameterName="@FONT_STYLE" Precision="0" ProviderType="SmallInt" Scale="0" Size="2" SourceColumn="FONT_STYLE" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="true" AutogeneratedName="FONT_STYLE" ColumnName="FONT_STYLE" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="smallint" DbType="Int16" Direction="Input" ParameterName="@FONT_STYLE" Precision="0" ProviderType="SmallInt" Scale="0" Size="2" SourceColumn="FONT_STYLE" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="FONT_SIZE" ColumnName="FONT_SIZE" DataSourceName="" DataTypeServer="smallint" DbType="Int16" Direction="Input" ParameterName="@FONT_SIZE" Precision="0" ProviderType="SmallInt" Scale="0" Size="2" SourceColumn="FONT_SIZE" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="true" AutogeneratedName="FONT_SIZE" ColumnName="FONT_SIZE" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="smallint" DbType="Int16" Direction="Input" ParameterName="@FONT_SIZE" Precision="0" ProviderType="SmallInt" Scale="0" Size="2" SourceColumn="FONT_SIZE" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="FONT_FAMILY" ColumnName="FONT_FAMILY" DataSourceName="" DataTypeServer="varchar(50)" DbType="AnsiString" Direction="Input" ParameterName="@FONT_FAMILY" Precision="0" ProviderType="VarChar" Scale="0" Size="50" SourceColumn="FONT_FAMILY" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="true" AutogeneratedName="FONT_FAMILY" ColumnName="FONT_FAMILY" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="varchar(50)" DbType="AnsiString" Direction="Input" ParameterName="@FONT_FAMILY" Precision="0" ProviderType="VarChar" Scale="0" Size="50" SourceColumn="FONT_FAMILY" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="FONT_COLOR" ColumnName="FONT_COLOR" DataSourceName="" DataTypeServer="bigint" DbType="Int64" Direction="Input" ParameterName="@FONT_COLOR" Precision="0" ProviderType="BigInt" Scale="0" Size="8" SourceColumn="FONT_COLOR" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="true" AutogeneratedName="FONT_COLOR" ColumnName="FONT_COLOR" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="bigint" DbType="Int64" Direction="Input" ParameterName="@FONT_COLOR" Precision="0" ProviderType="BigInt" Scale="0" Size="8" SourceColumn="FONT_COLOR" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="READ_ONLY" ColumnName="READ_ONLY" DataSourceName="" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@READ_ONLY" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="READ_ONLY" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="READ_ONLY" ColumnName="READ_ONLY" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@READ_ONLY" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="READ_ONLY" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="LOAD_IDX_VALUE" ColumnName="LOAD_IDX_VALUE" DataSourceName="" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@LOAD_IDX_VALUE" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="LOAD_IDX_VALUE" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="LOAD_IDX_VALUE" ColumnName="LOAD_IDX_VALUE" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@LOAD_IDX_VALUE" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="LOAD_IDX_VALUE" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="DEFAULT_VALUE" ColumnName="DEFAULT_VALUE" DataSourceName="" DataTypeServer="varchar(100)" DbType="AnsiString" Direction="Input" ParameterName="@DEFAULT_VALUE" Precision="0" ProviderType="VarChar" Scale="0" Size="100" SourceColumn="DEFAULT_VALUE" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="true" AutogeneratedName="DEFAULT_VALUE" ColumnName="DEFAULT_VALUE" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="varchar(100)" DbType="AnsiString" Direction="Input" ParameterName="@DEFAULT_VALUE" Precision="0" ProviderType="VarChar" Scale="0" Size="100" SourceColumn="DEFAULT_VALUE" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="MULTISELECT" ColumnName="MULTISELECT" DataSourceName="" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@MULTISELECT" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="MULTISELECT" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="MULTISELECT" ColumnName="MULTISELECT" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@MULTISELECT" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="MULTISELECT" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="VKT_ADD_ITEM" ColumnName="VKT_ADD_ITEM" DataSourceName="" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@VKT_ADD_ITEM" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="VKT_ADD_ITEM" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="VKT_ADD_ITEM" ColumnName="VKT_ADD_ITEM" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@VKT_ADD_ITEM" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="VKT_ADD_ITEM" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="VKT_PREVENT_MULTIPLE_VALUES" ColumnName="VKT_PREVENT_MULTIPLE_VALUES" DataSourceName="" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@VKT_PREVENT_MULTIPLE_VALUES" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="VKT_PREVENT_MULTIPLE_VALUES" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="VKT_PREVENT_MULTIPLE_VALUES" ColumnName="VKT_PREVENT_MULTIPLE_VALUES" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@VKT_PREVENT_MULTIPLE_VALUES" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="VKT_PREVENT_MULTIPLE_VALUES" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="REGEX_MATCH" ColumnName="REGEX_MATCH" DataSourceName="" DataTypeServer="nvarchar(1000)" DbType="String" Direction="Input" ParameterName="@REGEX_MATCH" Precision="0" ProviderType="NVarChar" Scale="0" Size="1000" SourceColumn="REGEX_MATCH" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="true" AutogeneratedName="REGEX_MATCH" ColumnName="REGEX_MATCH" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="nvarchar(1000)" DbType="String" Direction="Input" ParameterName="@REGEX_MATCH" Precision="0" ProviderType="NVarChar" Scale="0" Size="1000" SourceColumn="REGEX_MATCH" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="REGEX_MESSAGE_DE" ColumnName="REGEX_MESSAGE_DE" DataSourceName="" DataTypeServer="varchar(1000)" DbType="AnsiString" Direction="Input" ParameterName="@REGEX_MESSAGE_DE" Precision="0" ProviderType="VarChar" Scale="0" Size="1000" SourceColumn="REGEX_MESSAGE_DE" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="REGEX_MESSAGE_DE" ColumnName="REGEX_MESSAGE_DE" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="varchar(1000)" DbType="AnsiString" Direction="Input" ParameterName="@REGEX_MESSAGE_DE" Precision="0" ProviderType="VarChar" Scale="0" Size="1000" SourceColumn="REGEX_MESSAGE_DE" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="REGEX_MESSAGE_EN" ColumnName="REGEX_MESSAGE_EN" DataSourceName="" DataTypeServer="varchar(1000)" DbType="AnsiString" Direction="Input" ParameterName="@REGEX_MESSAGE_EN" Precision="0" ProviderType="VarChar" Scale="0" Size="1000" SourceColumn="REGEX_MESSAGE_EN" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="REGEX_MESSAGE_EN" ColumnName="REGEX_MESSAGE_EN" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="varchar(1000)" DbType="AnsiString" Direction="Input" ParameterName="@REGEX_MESSAGE_EN" Precision="0" ProviderType="VarChar" Scale="0" Size="1000" SourceColumn="REGEX_MESSAGE_EN" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="IMAGE_CONTROL" ColumnName="IMAGE_CONTROL" DataSourceName="" DataTypeServer="varbinary(MAX)" DbType="Binary" Direction="Input" ParameterName="@IMAGE_CONTROL" Precision="0" ProviderType="VarBinary" Scale="0" Size="2147483647" SourceColumn="IMAGE_CONTROL" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="true" AutogeneratedName="IMAGE_CONTROL" ColumnName="IMAGE_CONTROL" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="varbinary(MAX)" DbType="Binary" Direction="Input" ParameterName="@IMAGE_CONTROL" Precision="0" ProviderType="VarBinary" Scale="0" Size="2147483647" SourceColumn="IMAGE_CONTROL" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="SQL2" ColumnName="SQL2" DataSourceName="" DataTypeServer="nvarchar(MAX)" DbType="String" Direction="Input" ParameterName="@SQL2" Precision="0" ProviderType="NVarChar" Scale="0" Size="2147483647" SourceColumn="SQL2" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="true" AutogeneratedName="SQL2" ColumnName="SQL2" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="nvarchar(MAX)" DbType="String" Direction="Input" ParameterName="@SQL2" Precision="0" ProviderType="NVarChar" Scale="0" Size="2147483647" SourceColumn="SQL2" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="SQL_ENABLE" ColumnName="SQL_ENABLE" DataSourceName="" DataTypeServer="nvarchar(MAX)" DbType="String" Direction="Input" ParameterName="@SQL_ENABLE" Precision="0" ProviderType="NVarChar" Scale="0" Size="2147483647" SourceColumn="SQL_ENABLE" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="true" AutogeneratedName="SQL_ENABLE" ColumnName="SQL_ENABLE" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="nvarchar(MAX)" DbType="String" Direction="Input" ParameterName="@SQL_ENABLE" Precision="0" ProviderType="NVarChar" Scale="0" Size="2147483647" SourceColumn="SQL_ENABLE" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="SAVE_CHANGE_ON_ENABLED" ColumnName="SAVE_CHANGE_ON_ENABLED" DataSourceName="" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@SAVE_CHANGE_ON_ENABLED" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="SAVE_CHANGE_ON_ENABLED" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="SAVE_CHANGE_ON_ENABLED" ColumnName="SAVE_CHANGE_ON_ENABLED" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@SAVE_CHANGE_ON_ENABLED" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="SAVE_CHANGE_ON_ENABLED" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="FORMAT_STRING" ColumnName="FORMAT_STRING" DataSourceName="" DataTypeServer="varchar(200)" DbType="AnsiString" Direction="Input" ParameterName="@FORMAT_STRING" Precision="0" ProviderType="VarChar" Scale="0" Size="200" SourceColumn="FORMAT_STRING" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="true" AutogeneratedName="FORMAT_STRING" ColumnName="FORMAT_STRING" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="varchar(200)" DbType="AnsiString" Direction="Input" ParameterName="@FORMAT_STRING" Precision="0" ProviderType="VarChar" Scale="0" Size="200" SourceColumn="FORMAT_STRING" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="TEXT_ALIGNMENT" ColumnName="TEXT_ALIGNMENT" DataSourceName="" DataTypeServer="nvarchar(20)" DbType="String" Direction="Input" ParameterName="@TEXT_ALIGNMENT" Precision="0" ProviderType="NVarChar" Scale="0" Size="20" SourceColumn="TEXT_ALIGNMENT" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="TEXT_ALIGNMENT" ColumnName="TEXT_ALIGNMENT" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="nvarchar(20)" DbType="String" Direction="Input" ParameterName="@TEXT_ALIGNMENT" Precision="0" ProviderType="NVarChar" Scale="0" Size="20" SourceColumn="TEXT_ALIGNMENT" SourceColumnNullMapping="false" SourceVersion="Current" />
</Parameters> </Parameters>
</DbCommand> </DbCommand>
</InsertCommand> </InsertCommand>
@@ -1021,7 +1021,7 @@ SELECT GUID, PROFIL_ID, NAME, CTRL_TYPE, CTRL_TEXT, X_LOC, Y_LOC, ADDED_WHO, ADD
<CommandText>SELECT GUID, PROFIL_ID, NAME, CTRL_TYPE, CTRL_TEXT, X_LOC, Y_LOC, ADDED_WHO, ADDED_WHEN, CHANGED_WHO, CHANGED_WHEN, INDEX_NAME, TYP, VALIDATION, CHOICE_LIST, CONNECTION_ID, <CommandText>SELECT GUID, PROFIL_ID, NAME, CTRL_TYPE, CTRL_TEXT, X_LOC, Y_LOC, ADDED_WHO, ADDED_WHEN, CHANGED_WHO, CHANGED_WHEN, INDEX_NAME, TYP, VALIDATION, CHOICE_LIST, CONNECTION_ID,
SQL_UEBERPRUEFUNG, HEIGHT, WIDTH, FONT_STYLE, FONT_SIZE, FONT_FAMILY, FONT_COLOR, READ_ONLY, LOAD_IDX_VALUE, DEFAULT_VALUE, MULTISELECT, VKT_ADD_ITEM, VKT_PREVENT_MULTIPLE_VALUES, SQL_UEBERPRUEFUNG, HEIGHT, WIDTH, FONT_STYLE, FONT_SIZE, FONT_FAMILY, FONT_COLOR, READ_ONLY, LOAD_IDX_VALUE, DEFAULT_VALUE, MULTISELECT, VKT_ADD_ITEM, VKT_PREVENT_MULTIPLE_VALUES,
REGEX_MATCH, REGEX_MESSAGE_DE, REGEX_MESSAGE_EN, IMAGE_CONTROL, SQL2, SQL_ENABLE, SET_CONTROL_DATA, SQL_ENABLE_ON_LOAD, SQL_ENABLE_ON_LOAD_CONID, CONTROL_ACTIVE, REGEX_MATCH, REGEX_MESSAGE_DE, REGEX_MESSAGE_EN, IMAGE_CONTROL, SQL2, SQL_ENABLE, SET_CONTROL_DATA, SQL_ENABLE_ON_LOAD, SQL_ENABLE_ON_LOAD_CONID, CONTROL_ACTIVE,
TABLE_ORDER_COLUMN, SAVE_CHANGE_ON_ENABLED, FORMAT_STRING, TEXT_ALIGNMENT, DISPLAY_IN_SEPERATE_FORM TABLE_ORDER_COLUMN, SAVE_CHANGE_ON_ENABLED, FORMAT_STRING, TEXT_ALIGNMENT
FROM TBPM_PROFILE_CONTROLS FROM TBPM_PROFILE_CONTROLS
WHERE (GUID = @guid) WHERE (GUID = @guid)
ORDER BY Y_LOC, X_LOC</CommandText> ORDER BY Y_LOC, X_LOC</CommandText>
@@ -1031,7 +1031,7 @@ ORDER BY Y_LOC, X_LOC</CommandText>
</DbCommand> </DbCommand>
</SelectCommand> </SelectCommand>
<UpdateCommand> <UpdateCommand>
<DbCommand CommandType="Text" ModifiedByUser="false"> <DbCommand CommandType="Text" ModifiedByUser="true">
<CommandText>UPDATE TBPM_PROFILE_CONTROLS <CommandText>UPDATE TBPM_PROFILE_CONTROLS
SET PROFIL_ID = @PROFIL_ID, NAME = @NAME, CTRL_TYPE = @CTRL_TYPE, CTRL_TEXT = @CTRL_TEXT, X_LOC = @X_LOC, Y_LOC = @Y_LOC, CHANGED_WHO = @CHANGED_WHO, INDEX_NAME = @INDEX_NAME, SET PROFIL_ID = @PROFIL_ID, NAME = @NAME, CTRL_TYPE = @CTRL_TYPE, CTRL_TEXT = @CTRL_TEXT, X_LOC = @X_LOC, Y_LOC = @Y_LOC, CHANGED_WHO = @CHANGED_WHO, INDEX_NAME = @INDEX_NAME,
TYP = @TYP, VALIDATION = @VALIDATION, CHOICE_LIST = @CHOICE_LIST, CONNECTION_ID = @CONNECTION_ID, SQL_UEBERPRUEFUNG = @SQL_UEBERPRUEFUNG, HEIGHT = @HEIGHT, WIDTH = @WIDTH, TYP = @TYP, VALIDATION = @VALIDATION, CHOICE_LIST = @CHOICE_LIST, CONNECTION_ID = @CONNECTION_ID, SQL_UEBERPRUEFUNG = @SQL_UEBERPRUEFUNG, HEIGHT = @HEIGHT, WIDTH = @WIDTH,
@@ -1042,42 +1042,42 @@ SET PROFIL_ID = @PROFIL_ID, NAME = @NAME, CTRL_TYPE = @CTRL_TYPE,
WHERE (GUID = @Original_GUID); WHERE (GUID = @Original_GUID);
SELECT GUID, PROFIL_ID, NAME, CTRL_TYPE, CTRL_TEXT, X_LOC, Y_LOC, ADDED_WHO, ADDED_WHEN, CHANGED_WHO, CHANGED_WHEN, INDEX_NAME, TYP, VALIDATION, CHOICE_LIST, CONNECTION_ID, SQL_UEBERPRUEFUNG, HEIGHT, WIDTH, FONT_STYLE, FONT_SIZE, FONT_FAMILY, FONT_COLOR, READ_ONLY, LOAD_IDX_VALUE, DEFAULT_VALUE, MULTISELECT, VKT_ADD_ITEM, VKT_PREVENT_MULTIPLE_VALUES, REGEX_MATCH, REGEX_MESSAGE_DE, REGEX_MESSAGE_EN FROM TBPM_PROFILE_CONTROLS WHERE (GUID = @GUID) ORDER BY Y_LOC, X_LOC</CommandText> SELECT GUID, PROFIL_ID, NAME, CTRL_TYPE, CTRL_TEXT, X_LOC, Y_LOC, ADDED_WHO, ADDED_WHEN, CHANGED_WHO, CHANGED_WHEN, INDEX_NAME, TYP, VALIDATION, CHOICE_LIST, CONNECTION_ID, SQL_UEBERPRUEFUNG, HEIGHT, WIDTH, FONT_STYLE, FONT_SIZE, FONT_FAMILY, FONT_COLOR, READ_ONLY, LOAD_IDX_VALUE, DEFAULT_VALUE, MULTISELECT, VKT_ADD_ITEM, VKT_PREVENT_MULTIPLE_VALUES, REGEX_MATCH, REGEX_MESSAGE_DE, REGEX_MESSAGE_EN FROM TBPM_PROFILE_CONTROLS WHERE (GUID = @GUID) ORDER BY Y_LOC, X_LOC</CommandText>
<Parameters> <Parameters>
<Parameter AllowDbNull="false" AutogeneratedName="PROFIL_ID" ColumnName="PROFIL_ID" DataSourceName="" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@PROFIL_ID" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="PROFIL_ID" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="PROFIL_ID" ColumnName="PROFIL_ID" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@PROFIL_ID" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="PROFIL_ID" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="NAME" ColumnName="NAME" DataSourceName="" DataTypeServer="varchar(100)" DbType="AnsiString" Direction="Input" ParameterName="@NAME" Precision="0" ProviderType="VarChar" Scale="0" Size="100" SourceColumn="NAME" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="NAME" ColumnName="NAME" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="varchar(100)" DbType="AnsiString" Direction="Input" ParameterName="@NAME" Precision="0" ProviderType="VarChar" Scale="0" Size="100" SourceColumn="NAME" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="CTRL_TYPE" ColumnName="CTRL_TYPE" DataSourceName="" DataTypeServer="varchar(10)" DbType="AnsiString" Direction="Input" ParameterName="@CTRL_TYPE" Precision="0" ProviderType="VarChar" Scale="0" Size="10" SourceColumn="CTRL_TYPE" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="CTRL_TYPE" ColumnName="CTRL_TYPE" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="varchar(10)" DbType="AnsiString" Direction="Input" ParameterName="@CTRL_TYPE" Precision="0" ProviderType="VarChar" Scale="0" Size="10" SourceColumn="CTRL_TYPE" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="CTRL_TEXT" ColumnName="CTRL_TEXT" DataSourceName="" DataTypeServer="varchar(100)" DbType="AnsiString" Direction="Input" ParameterName="@CTRL_TEXT" Precision="0" ProviderType="VarChar" Scale="0" Size="100" SourceColumn="CTRL_TEXT" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="CTRL_TEXT" ColumnName="CTRL_TEXT" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="varchar(100)" DbType="AnsiString" Direction="Input" ParameterName="@CTRL_TEXT" Precision="0" ProviderType="VarChar" Scale="0" Size="100" SourceColumn="CTRL_TEXT" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="X_LOC" ColumnName="X_LOC" DataSourceName="" DataTypeServer="float" DbType="Double" Direction="Input" ParameterName="@X_LOC" Precision="0" ProviderType="Float" Scale="0" Size="8" SourceColumn="X_LOC" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="X_LOC" ColumnName="X_LOC" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="float" DbType="Double" Direction="Input" ParameterName="@X_LOC" Precision="0" ProviderType="Float" Scale="0" Size="8" SourceColumn="X_LOC" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="Y_LOC" ColumnName="Y_LOC" DataSourceName="" DataTypeServer="float" DbType="Double" Direction="Input" ParameterName="@Y_LOC" Precision="0" ProviderType="Float" Scale="0" Size="8" SourceColumn="Y_LOC" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="Y_LOC" ColumnName="Y_LOC" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="float" DbType="Double" Direction="Input" ParameterName="@Y_LOC" Precision="0" ProviderType="Float" Scale="0" Size="8" SourceColumn="Y_LOC" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="CHANGED_WHO" ColumnName="CHANGED_WHO" DataSourceName="" DataTypeServer="varchar(30)" DbType="AnsiString" Direction="Input" ParameterName="@CHANGED_WHO" Precision="0" ProviderType="VarChar" Scale="0" Size="30" SourceColumn="CHANGED_WHO" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="true" AutogeneratedName="CHANGED_WHO" ColumnName="CHANGED_WHO" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="varchar(30)" DbType="AnsiString" Direction="Input" ParameterName="@CHANGED_WHO" Precision="0" ProviderType="VarChar" Scale="0" Size="30" SourceColumn="CHANGED_WHO" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="INDEX_NAME" ColumnName="INDEX_NAME" DataSourceName="" DataTypeServer="varchar(100)" DbType="AnsiString" Direction="Input" ParameterName="@INDEX_NAME" Precision="0" ProviderType="VarChar" Scale="0" Size="100" SourceColumn="INDEX_NAME" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="true" AutogeneratedName="INDEX_NAME" ColumnName="INDEX_NAME" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="varchar(100)" DbType="AnsiString" Direction="Input" ParameterName="@INDEX_NAME" Precision="0" ProviderType="VarChar" Scale="0" Size="100" SourceColumn="INDEX_NAME" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="TYP" ColumnName="TYP" DataSourceName="" DataTypeServer="varchar(50)" DbType="AnsiString" Direction="Input" ParameterName="@TYP" Precision="0" ProviderType="VarChar" Scale="0" Size="50" SourceColumn="TYP" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="true" AutogeneratedName="TYP" ColumnName="TYP" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="varchar(50)" DbType="AnsiString" Direction="Input" ParameterName="@TYP" Precision="0" ProviderType="VarChar" Scale="0" Size="50" SourceColumn="TYP" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="VALIDATION" ColumnName="VALIDATION" DataSourceName="" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@VALIDATION" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="VALIDATION" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="VALIDATION" ColumnName="VALIDATION" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@VALIDATION" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="VALIDATION" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="CHOICE_LIST" ColumnName="CHOICE_LIST" DataSourceName="" DataTypeServer="varchar(50)" DbType="AnsiString" Direction="Input" ParameterName="@CHOICE_LIST" Precision="0" ProviderType="VarChar" Scale="0" Size="50" SourceColumn="CHOICE_LIST" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="true" AutogeneratedName="CHOICE_LIST" ColumnName="CHOICE_LIST" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="varchar(50)" DbType="AnsiString" Direction="Input" ParameterName="@CHOICE_LIST" Precision="0" ProviderType="VarChar" Scale="0" Size="50" SourceColumn="CHOICE_LIST" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="CONNECTION_ID" ColumnName="CONNECTION_ID" DataSourceName="" DataTypeServer="smallint" DbType="Int16" Direction="Input" ParameterName="@CONNECTION_ID" Precision="0" ProviderType="SmallInt" Scale="0" Size="2" SourceColumn="CONNECTION_ID" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="true" AutogeneratedName="CONNECTION_ID" ColumnName="CONNECTION_ID" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="smallint" DbType="Int16" Direction="Input" ParameterName="@CONNECTION_ID" Precision="0" ProviderType="SmallInt" Scale="0" Size="2" SourceColumn="CONNECTION_ID" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="SQL_UEBERPRUEFUNG" ColumnName="SQL_UEBERPRUEFUNG" DataSourceName="" DataTypeServer="nvarchar(MAX)" DbType="String" Direction="Input" ParameterName="@SQL_UEBERPRUEFUNG" Precision="0" ProviderType="NVarChar" Scale="0" Size="2147483647" SourceColumn="SQL_UEBERPRUEFUNG" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="true" AutogeneratedName="SQL_UEBERPRUEFUNG" ColumnName="SQL_UEBERPRUEFUNG" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="nvarchar(MAX)" DbType="String" Direction="Input" ParameterName="@SQL_UEBERPRUEFUNG" Precision="0" ProviderType="NVarChar" Scale="0" Size="2147483647" SourceColumn="SQL_UEBERPRUEFUNG" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="HEIGHT" ColumnName="HEIGHT" DataSourceName="" DataTypeServer="smallint" DbType="Int16" Direction="Input" ParameterName="@HEIGHT" Precision="0" ProviderType="SmallInt" Scale="0" Size="2" SourceColumn="HEIGHT" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="HEIGHT" ColumnName="HEIGHT" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="smallint" DbType="Int16" Direction="Input" ParameterName="@HEIGHT" Precision="0" ProviderType="SmallInt" Scale="0" Size="2" SourceColumn="HEIGHT" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="WIDTH" ColumnName="WIDTH" DataSourceName="" DataTypeServer="smallint" DbType="Int16" Direction="Input" ParameterName="@WIDTH" Precision="0" ProviderType="SmallInt" Scale="0" Size="2" SourceColumn="WIDTH" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="WIDTH" ColumnName="WIDTH" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="smallint" DbType="Int16" Direction="Input" ParameterName="@WIDTH" Precision="0" ProviderType="SmallInt" Scale="0" Size="2" SourceColumn="WIDTH" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="FONT_STYLE" ColumnName="FONT_STYLE" DataSourceName="" DataTypeServer="smallint" DbType="Int16" Direction="Input" ParameterName="@FONT_STYLE" Precision="0" ProviderType="SmallInt" Scale="0" Size="2" SourceColumn="FONT_STYLE" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="true" AutogeneratedName="FONT_STYLE" ColumnName="FONT_STYLE" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="smallint" DbType="Int16" Direction="Input" ParameterName="@FONT_STYLE" Precision="0" ProviderType="SmallInt" Scale="0" Size="2" SourceColumn="FONT_STYLE" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="FONT_SIZE" ColumnName="FONT_SIZE" DataSourceName="" DataTypeServer="smallint" DbType="Int16" Direction="Input" ParameterName="@FONT_SIZE" Precision="0" ProviderType="SmallInt" Scale="0" Size="2" SourceColumn="FONT_SIZE" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="true" AutogeneratedName="FONT_SIZE" ColumnName="FONT_SIZE" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="smallint" DbType="Int16" Direction="Input" ParameterName="@FONT_SIZE" Precision="0" ProviderType="SmallInt" Scale="0" Size="2" SourceColumn="FONT_SIZE" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="FONT_FAMILY" ColumnName="FONT_FAMILY" DataSourceName="" DataTypeServer="varchar(50)" DbType="AnsiString" Direction="Input" ParameterName="@FONT_FAMILY" Precision="0" ProviderType="VarChar" Scale="0" Size="50" SourceColumn="FONT_FAMILY" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="true" AutogeneratedName="FONT_FAMILY" ColumnName="FONT_FAMILY" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="varchar(50)" DbType="AnsiString" Direction="Input" ParameterName="@FONT_FAMILY" Precision="0" ProviderType="VarChar" Scale="0" Size="50" SourceColumn="FONT_FAMILY" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="FONT_COLOR" ColumnName="FONT_COLOR" DataSourceName="" DataTypeServer="bigint" DbType="Int64" Direction="Input" ParameterName="@FONT_COLOR" Precision="0" ProviderType="BigInt" Scale="0" Size="8" SourceColumn="FONT_COLOR" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="true" AutogeneratedName="FONT_COLOR" ColumnName="FONT_COLOR" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="bigint" DbType="Int64" Direction="Input" ParameterName="@FONT_COLOR" Precision="0" ProviderType="BigInt" Scale="0" Size="8" SourceColumn="FONT_COLOR" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="READ_ONLY" ColumnName="READ_ONLY" DataSourceName="" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@READ_ONLY" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="READ_ONLY" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="READ_ONLY" ColumnName="READ_ONLY" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@READ_ONLY" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="READ_ONLY" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="LOAD_IDX_VALUE" ColumnName="LOAD_IDX_VALUE" DataSourceName="" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@LOAD_IDX_VALUE" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="LOAD_IDX_VALUE" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="LOAD_IDX_VALUE" ColumnName="LOAD_IDX_VALUE" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@LOAD_IDX_VALUE" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="LOAD_IDX_VALUE" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="DEFAULT_VALUE" ColumnName="DEFAULT_VALUE" DataSourceName="" DataTypeServer="varchar(100)" DbType="AnsiString" Direction="Input" ParameterName="@DEFAULT_VALUE" Precision="0" ProviderType="VarChar" Scale="0" Size="100" SourceColumn="DEFAULT_VALUE" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="true" AutogeneratedName="DEFAULT_VALUE" ColumnName="DEFAULT_VALUE" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="varchar(100)" DbType="AnsiString" Direction="Input" ParameterName="@DEFAULT_VALUE" Precision="0" ProviderType="VarChar" Scale="0" Size="100" SourceColumn="DEFAULT_VALUE" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="MULTISELECT" ColumnName="MULTISELECT" DataSourceName="" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@MULTISELECT" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="MULTISELECT" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="MULTISELECT" ColumnName="MULTISELECT" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@MULTISELECT" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="MULTISELECT" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="VKT_ADD_ITEM" ColumnName="VKT_ADD_ITEM" DataSourceName="" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@VKT_ADD_ITEM" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="VKT_ADD_ITEM" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="VKT_ADD_ITEM" ColumnName="VKT_ADD_ITEM" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@VKT_ADD_ITEM" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="VKT_ADD_ITEM" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="VKT_PREVENT_MULTIPLE_VALUES" ColumnName="VKT_PREVENT_MULTIPLE_VALUES" DataSourceName="" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@VKT_PREVENT_MULTIPLE_VALUES" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="VKT_PREVENT_MULTIPLE_VALUES" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="VKT_PREVENT_MULTIPLE_VALUES" ColumnName="VKT_PREVENT_MULTIPLE_VALUES" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@VKT_PREVENT_MULTIPLE_VALUES" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="VKT_PREVENT_MULTIPLE_VALUES" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="REGEX_MATCH" ColumnName="REGEX_MATCH" DataSourceName="" DataTypeServer="nvarchar(1000)" DbType="String" Direction="Input" ParameterName="@REGEX_MATCH" Precision="0" ProviderType="NVarChar" Scale="0" Size="1000" SourceColumn="REGEX_MATCH" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="true" AutogeneratedName="REGEX_MATCH" ColumnName="REGEX_MATCH" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="nvarchar(1000)" DbType="String" Direction="Input" ParameterName="@REGEX_MATCH" Precision="0" ProviderType="NVarChar" Scale="0" Size="1000" SourceColumn="REGEX_MATCH" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="REGEX_MESSAGE_DE" ColumnName="REGEX_MESSAGE_DE" DataSourceName="" DataTypeServer="varchar(1000)" DbType="AnsiString" Direction="Input" ParameterName="@REGEX_MESSAGE_DE" Precision="0" ProviderType="VarChar" Scale="0" Size="1000" SourceColumn="REGEX_MESSAGE_DE" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="REGEX_MESSAGE_DE" ColumnName="REGEX_MESSAGE_DE" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="varchar(1000)" DbType="AnsiString" Direction="Input" ParameterName="@REGEX_MESSAGE_DE" Precision="0" ProviderType="VarChar" Scale="0" Size="1000" SourceColumn="REGEX_MESSAGE_DE" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="REGEX_MESSAGE_EN" ColumnName="REGEX_MESSAGE_EN" DataSourceName="" DataTypeServer="varchar(1000)" DbType="AnsiString" Direction="Input" ParameterName="@REGEX_MESSAGE_EN" Precision="0" ProviderType="VarChar" Scale="0" Size="1000" SourceColumn="REGEX_MESSAGE_EN" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="REGEX_MESSAGE_EN" ColumnName="REGEX_MESSAGE_EN" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="varchar(1000)" DbType="AnsiString" Direction="Input" ParameterName="@REGEX_MESSAGE_EN" Precision="0" ProviderType="VarChar" Scale="0" Size="1000" SourceColumn="REGEX_MESSAGE_EN" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="IMAGE_CONTROL" ColumnName="IMAGE_CONTROL" DataSourceName="" DataTypeServer="varbinary(MAX)" DbType="Binary" Direction="Input" ParameterName="@IMAGE_CONTROL" Precision="0" ProviderType="VarBinary" Scale="0" Size="2147483647" SourceColumn="IMAGE_CONTROL" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="true" AutogeneratedName="IMAGE_CONTROL" ColumnName="IMAGE_CONTROL" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="varbinary(MAX)" DbType="Binary" Direction="Input" ParameterName="@IMAGE_CONTROL" Precision="0" ProviderType="VarBinary" Scale="0" Size="2147483647" SourceColumn="IMAGE_CONTROL" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="SQL2" ColumnName="SQL2" DataSourceName="" DataTypeServer="nvarchar(MAX)" DbType="String" Direction="Input" ParameterName="@SQL2" Precision="0" ProviderType="NVarChar" Scale="0" Size="2147483647" SourceColumn="SQL2" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="true" AutogeneratedName="SQL2" ColumnName="SQL2" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="nvarchar(MAX)" DbType="String" Direction="Input" ParameterName="@SQL2" Precision="0" ProviderType="NVarChar" Scale="0" Size="2147483647" SourceColumn="SQL2" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="SQL_ENABLE" ColumnName="SQL_ENABLE" DataSourceName="" DataTypeServer="nvarchar(MAX)" DbType="String" Direction="Input" ParameterName="@SQL_ENABLE" Precision="0" ProviderType="NVarChar" Scale="0" Size="2147483647" SourceColumn="SQL_ENABLE" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="true" AutogeneratedName="SQL_ENABLE" ColumnName="SQL_ENABLE" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="nvarchar(MAX)" DbType="String" Direction="Input" ParameterName="@SQL_ENABLE" Precision="0" ProviderType="NVarChar" Scale="0" Size="2147483647" SourceColumn="SQL_ENABLE" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="SAVE_CHANGE_ON_ENABLED" ColumnName="SAVE_CHANGE_ON_ENABLED" DataSourceName="" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@SAVE_CHANGE_ON_ENABLED" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="SAVE_CHANGE_ON_ENABLED" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="SAVE_CHANGE_ON_ENABLED" ColumnName="SAVE_CHANGE_ON_ENABLED" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@SAVE_CHANGE_ON_ENABLED" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="SAVE_CHANGE_ON_ENABLED" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="FORMAT_STRING" ColumnName="FORMAT_STRING" DataSourceName="" DataTypeServer="varchar(200)" DbType="AnsiString" Direction="Input" ParameterName="@FORMAT_STRING" Precision="0" ProviderType="VarChar" Scale="0" Size="200" SourceColumn="FORMAT_STRING" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="true" AutogeneratedName="FORMAT_STRING" ColumnName="FORMAT_STRING" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="varchar(200)" DbType="AnsiString" Direction="Input" ParameterName="@FORMAT_STRING" Precision="0" ProviderType="VarChar" Scale="0" Size="200" SourceColumn="FORMAT_STRING" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="TEXT_ALIGNMENT" ColumnName="TEXT_ALIGNMENT" DataSourceName="" DataTypeServer="nvarchar(20)" DbType="String" Direction="Input" ParameterName="@TEXT_ALIGNMENT" Precision="0" ProviderType="NVarChar" Scale="0" Size="20" SourceColumn="TEXT_ALIGNMENT" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="TEXT_ALIGNMENT" ColumnName="TEXT_ALIGNMENT" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="nvarchar(20)" DbType="String" Direction="Input" ParameterName="@TEXT_ALIGNMENT" Precision="0" ProviderType="NVarChar" Scale="0" Size="20" SourceColumn="TEXT_ALIGNMENT" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="Original_GUID" ColumnName="GUID" DataSourceName="" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@Original_GUID" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="GUID" SourceColumnNullMapping="false" SourceVersion="Original" /> <Parameter AllowDbNull="false" AutogeneratedName="Original_GUID" ColumnName="GUID" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@Original_GUID" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="GUID" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="false" AutogeneratedName="GUID" ColumnName="GUID" DataSourceName="" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@GUID" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="GUID" SourceColumnNullMapping="false" SourceVersion="Original" /> <Parameter AllowDbNull="false" AutogeneratedName="GUID" ColumnName="GUID" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@GUID" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="GUID" SourceColumnNullMapping="false" SourceVersion="Original" />
</Parameters> </Parameters>
</DbCommand> </DbCommand>
</UpdateCommand> </UpdateCommand>
@@ -1127,7 +1127,6 @@ SELECT GUID, PROFIL_ID, NAME, CTRL_TYPE, CTRL_TEXT, X_LOC, Y_LOC, ADDED_WHO, ADD
<Mapping SourceColumn="SAVE_CHANGE_ON_ENABLED" DataSetColumn="SAVE_CHANGE_ON_ENABLED" /> <Mapping SourceColumn="SAVE_CHANGE_ON_ENABLED" DataSetColumn="SAVE_CHANGE_ON_ENABLED" />
<Mapping SourceColumn="FORMAT_STRING" DataSetColumn="FORMAT_STRING" /> <Mapping SourceColumn="FORMAT_STRING" DataSetColumn="FORMAT_STRING" />
<Mapping SourceColumn="TEXT_ALIGNMENT" DataSetColumn="TEXT_ALIGNMENT" /> <Mapping SourceColumn="TEXT_ALIGNMENT" DataSetColumn="TEXT_ALIGNMENT" />
<Mapping SourceColumn="DISPLAY_IN_SEPERATE_FORM" DataSetColumn="DISPLAY_IN_SEPERATE_FORM" />
</Mappings> </Mappings>
<Sources> <Sources>
<DbSource ConnectionRef="ConnectionString (MySettings)" DbObjectType="Unknown" GenerateShortCommands="true" GeneratorSourceName="cmdControlExists" Modifier="Public" Name="cmdControlExists" QueryType="Scalar" ScalarCallRetval="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy" UserSourceName="cmdControlExists"> <DbSource ConnectionRef="ConnectionString (MySettings)" DbObjectType="Unknown" GenerateShortCommands="true" GeneratorSourceName="cmdControlExists" Modifier="Public" Name="cmdControlExists" QueryType="Scalar" ScalarCallRetval="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy" UserSourceName="cmdControlExists">
@@ -1237,8 +1236,8 @@ VALUES (@PROFIL_ID,@NAME,@CTRL_TYPE,@CTRL_TEXT,@X_LOC,@Y_LOC,@ADDED_WHO,@
<SelectCommand> <SelectCommand>
<DbCommand CommandType="Text" ModifiedByUser="true"> <DbCommand CommandType="Text" ModifiedByUser="true">
<CommandText>INSERT INTO TBPM_PROFILE_CONTROLS <CommandText>INSERT INTO TBPM_PROFILE_CONTROLS
(PROFIL_ID, NAME, CTRL_TYPE, CTRL_TEXT, X_LOC, Y_LOC, ADDED_WHO, HEIGHT, WIDTH, TEXT_ALIGNMENT, DISPLAY_IN_SEPERATE_FORM) (PROFIL_ID, NAME, CTRL_TYPE, CTRL_TEXT, X_LOC, Y_LOC, ADDED_WHO, HEIGHT, WIDTH, TEXT_ALIGNMENT)
VALUES (@PROFIL_ID,@NAME,@CTRL_TYPE,@CTRL_TEXT,@X_LOC,@Y_LOC,@ADDED_WHO,@HEIGHT,@Width,@TEXT_ALIGNMENT,@DISPLAY_IN_SEPERATE_FORM)</CommandText> VALUES (@PROFIL_ID,@NAME,@CTRL_TYPE,@CTRL_TEXT,@X_LOC,@Y_LOC,@ADDED_WHO,@HEIGHT,@Width,@TEXT_ALIGNMENT)</CommandText>
<Parameters> <Parameters>
<Parameter AllowDbNull="false" AutogeneratedName="PROFIL_ID" ColumnName="PROFIL_ID" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@PROFIL_ID" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="PROFIL_ID" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="PROFIL_ID" ColumnName="PROFIL_ID" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@PROFIL_ID" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="PROFIL_ID" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="NAME" ColumnName="NAME" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="varchar(100)" DbType="AnsiString" Direction="Input" ParameterName="@NAME" Precision="0" ProviderType="VarChar" Scale="0" Size="100" SourceColumn="NAME" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="NAME" ColumnName="NAME" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="varchar(100)" DbType="AnsiString" Direction="Input" ParameterName="@NAME" Precision="0" ProviderType="VarChar" Scale="0" Size="100" SourceColumn="NAME" SourceColumnNullMapping="false" SourceVersion="Current" />
@@ -1250,7 +1249,6 @@ VALUES (@PROFIL_ID,@NAME,@CTRL_TYPE,@CTRL_TEXT,@X_LOC,@Y_LOC,@ADDED_WHO,@
<Parameter AllowDbNull="false" AutogeneratedName="HEIGHT" ColumnName="HEIGHT" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="smallint" DbType="Int16" Direction="Input" ParameterName="@HEIGHT" Precision="0" ProviderType="SmallInt" Scale="0" Size="2" SourceColumn="HEIGHT" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="HEIGHT" ColumnName="HEIGHT" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="smallint" DbType="Int16" Direction="Input" ParameterName="@HEIGHT" Precision="0" ProviderType="SmallInt" Scale="0" Size="2" SourceColumn="HEIGHT" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="Width" ColumnName="WIDTH" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="smallint" DbType="Int16" Direction="Input" ParameterName="@Width" Precision="0" ProviderType="SmallInt" Scale="0" Size="2" SourceColumn="WIDTH" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="Width" ColumnName="WIDTH" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="smallint" DbType="Int16" Direction="Input" ParameterName="@Width" Precision="0" ProviderType="SmallInt" Scale="0" Size="2" SourceColumn="WIDTH" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="TEXT_ALIGNMENT" ColumnName="TEXT_ALIGNMENT" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="nvarchar(20)" DbType="String" Direction="Input" ParameterName="@TEXT_ALIGNMENT" Precision="0" ProviderType="NVarChar" Scale="0" Size="20" SourceColumn="TEXT_ALIGNMENT" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="TEXT_ALIGNMENT" ColumnName="TEXT_ALIGNMENT" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="nvarchar(20)" DbType="String" Direction="Input" ParameterName="@TEXT_ALIGNMENT" Precision="0" ProviderType="NVarChar" Scale="0" Size="20" SourceColumn="TEXT_ALIGNMENT" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="DISPLAY_IN_SEPERATE_FORM" ColumnName="DISPLAY_IN_SEPERATE_FORM" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@DISPLAY_IN_SEPERATE_FORM" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="DISPLAY_IN_SEPERATE_FORM" SourceColumnNullMapping="false" SourceVersion="Current" />
</Parameters> </Parameters>
</DbCommand> </DbCommand>
</SelectCommand> </SelectCommand>
@@ -1275,8 +1273,7 @@ WHERE (GUID = @Original_GUID);</CommandText>
<CommandText>SELECT dbo.FNPM_LANGUAGE_CONTROL_TEXT(NAME, @USER_LANGUAGE, CTRL_TYPE, CTRL_TEXT) AS CTRL_CAPTION_LANG, ADDED_WHEN, ADDED_WHO, CHANGED_WHEN, CHANGED_WHO, CHOICE_LIST, CONNECTION_ID, <CommandText>SELECT dbo.FNPM_LANGUAGE_CONTROL_TEXT(NAME, @USER_LANGUAGE, CTRL_TYPE, CTRL_TEXT) AS CTRL_CAPTION_LANG, ADDED_WHEN, ADDED_WHO, CHANGED_WHEN, CHANGED_WHO, CHOICE_LIST, CONNECTION_ID,
CTRL_TEXT, CTRL_TYPE, DEFAULT_VALUE, FONT_COLOR, FONT_FAMILY, FONT_SIZE, FONT_STYLE, GUID, HEIGHT, INDEX_NAME, LOAD_IDX_VALUE, MULTISELECT, NAME, PROFIL_ID, READ_ONLY, REGEX_MATCH, CTRL_TEXT, CTRL_TYPE, DEFAULT_VALUE, FONT_COLOR, FONT_FAMILY, FONT_SIZE, FONT_STYLE, GUID, HEIGHT, INDEX_NAME, LOAD_IDX_VALUE, MULTISELECT, NAME, PROFIL_ID, READ_ONLY, REGEX_MATCH,
REGEX_MESSAGE_DE, REGEX_MESSAGE_EN, SQL_UEBERPRUEFUNG, TYP, VALIDATION, VKT_ADD_ITEM, VKT_PREVENT_MULTIPLE_VALUES, WIDTH, X_LOC, Y_LOC, IMAGE_CONTROL, SQL2, SQL_ENABLE, REGEX_MESSAGE_DE, REGEX_MESSAGE_EN, SQL_UEBERPRUEFUNG, TYP, VALIDATION, VKT_ADD_ITEM, VKT_PREVENT_MULTIPLE_VALUES, WIDTH, X_LOC, Y_LOC, IMAGE_CONTROL, SQL2, SQL_ENABLE,
SET_CONTROL_DATA, SQL_ENABLE_ON_LOAD, SQL_ENABLE_ON_LOAD_CONID, CONTROL_ACTIVE, TABLE_ORDER_COLUMN, SAVE_CHANGE_ON_ENABLED, FORMAT_STRING, TEXT_ALIGNMENT, SET_CONTROL_DATA, SQL_ENABLE_ON_LOAD, SQL_ENABLE_ON_LOAD_CONID, CONTROL_ACTIVE, TABLE_ORDER_COLUMN, SAVE_CHANGE_ON_ENABLED, FORMAT_STRING, TEXT_ALIGNMENT
DISPLAY_IN_SEPERATE_FORM
FROM TBPM_PROFILE_CONTROLS AS T FROM TBPM_PROFILE_CONTROLS AS T
WHERE (PROFIL_ID = @profil_id) WHERE (PROFIL_ID = @profil_id)
ORDER BY Y_LOC, X_LOC</CommandText> ORDER BY Y_LOC, X_LOC</CommandText>
@@ -1804,13 +1801,16 @@ FROM VWPM_CHART_INVOICE_MONITOR</CommandText>
</TableAdapter> </TableAdapter>
<TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="VWPM_CHART_INVOICE_MONITOR_SERIESTableAdapter" GeneratorDataComponentClassName="VWPM_CHART_INVOICE_MONITOR_SERIESTableAdapter" Name="VWPM_CHART_INVOICE_MONITOR_SERIES" UserDataComponentName="VWPM_CHART_INVOICE_MONITOR_SERIESTableAdapter"> <TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="VWPM_CHART_INVOICE_MONITOR_SERIESTableAdapter" GeneratorDataComponentClassName="VWPM_CHART_INVOICE_MONITOR_SERIESTableAdapter" Name="VWPM_CHART_INVOICE_MONITOR_SERIES" UserDataComponentName="VWPM_CHART_INVOICE_MONITOR_SERIESTableAdapter">
<MainSource> <MainSource>
<DbSource ConnectionRef="ConnectionString (MySettings)" DbObjectName="DD_ECM_TEST.dbo.VWPM_CHART_INVOICE_MONITOR_SERIES" DbObjectType="View" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="false" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetData" UserSourceName="Fill"> <DbSource ConnectionRef="ConnectionString (MySettings)" DbObjectName="DD_ECM.dbo.VWPM_CHART_INVOICE_MONITOR_SERIES" DbObjectType="View" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="false" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="false" UserGetMethodName="GetData" UserSourceName="Fill">
<SelectCommand> <SelectCommand>
<DbCommand CommandType="Text" ModifiedByUser="true"> <DbCommand CommandType="Text" ModifiedByUser="true">
<CommandText>SELECT Title, Anzahl, NettoSumme, SEQ <CommandText>SELECT Title, Anzahl, NettoSumme, SEQ
FROM VWPM_CHART_INVOICE_MONITOR_SERIES FROM VWPM_CHART_INVOICE_MONITOR_SERIES
WHERE (COCKPIT_CHART_ID = @COCKPIT_CHART_ID)
ORDER BY SEQ</CommandText> ORDER BY SEQ</CommandText>
<Parameters /> <Parameters>
<Parameter AllowDbNull="false" AutogeneratedName="COCKPIT_CHART_ID" ColumnName="COCKPIT_CHART_ID" DataSourceName="DD_ECM.dbo.VWPM_CHART_INVOICE_MONITOR_SERIES" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@COCKPIT_CHART_ID" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="COCKPIT_CHART_ID" SourceColumnNullMapping="false" SourceVersion="Current" />
</Parameters>
</DbCommand> </DbCommand>
</SelectCommand> </SelectCommand>
</DbSource> </DbSource>
@@ -1823,27 +1823,6 @@ ORDER BY SEQ</CommandText>
</Mappings> </Mappings>
<Sources /> <Sources />
</TableAdapter> </TableAdapter>
<TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="VWPM_CHART_TOP5TableAdapter" GeneratorDataComponentClassName="VWPM_CHART_TOP5TableAdapter" Name="VWPM_CHART_TOP5" UserDataComponentName="VWPM_CHART_TOP5TableAdapter">
<MainSource>
<DbSource ConnectionRef="ConnectionString (MySettings)" DbObjectName="DD_ECM_TEST.dbo.VWPM_CHART_TOP5" DbObjectType="View" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="false" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetData" UserSourceName="Fill">
<SelectCommand>
<DbCommand CommandType="Text" ModifiedByUser="true">
<CommandText>SELECT KRED_NAME, ANZ_BELEG, Netto, Skonto
FROM VWPM_CHART_TOP5
ORDER BY Netto DESC</CommandText>
<Parameters />
</DbCommand>
</SelectCommand>
</DbSource>
</MainSource>
<Mappings>
<Mapping SourceColumn="KRED_NAME" DataSetColumn="KRED_NAME" />
<Mapping SourceColumn="ANZ_BELEG" DataSetColumn="ANZ_BELEG" />
<Mapping SourceColumn="Netto" DataSetColumn="Netto" />
<Mapping SourceColumn="Skonto" DataSetColumn="Skonto" />
</Mappings>
<Sources />
</TableAdapter>
<TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="TBPM_PROFILETableAdapter" GeneratorDataComponentClassName="TBPM_PROFILETableAdapter" Name="TBPM_PROFILE" UserDataComponentName="TBPM_PROFILETableAdapter"> <TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="TBPM_PROFILETableAdapter" GeneratorDataComponentClassName="TBPM_PROFILETableAdapter" Name="TBPM_PROFILE" UserDataComponentName="TBPM_PROFILETableAdapter">
<MainSource> <MainSource>
<DbSource ConnectionRef="ConnectionString (MySettings)" DbObjectName="DD_ECM.dbo.TBPM_PROFILE" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetData" UserSourceName="Fill"> <DbSource ConnectionRef="ConnectionString (MySettings)" DbObjectName="DD_ECM.dbo.TBPM_PROFILE" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetData" UserSourceName="Fill">
@@ -2706,7 +2685,7 @@ SELECT GUID, NAME, TITLE, PRIORITY, DESCRIPTION, ACTIVE, WD_SEARCH, NO_OF_DOCUME
</xs:simpleType> </xs:simpleType>
</xs:element> </xs:element>
<xs:element name="SAVE_CHANGE_ON_ENABLED" msprop:Generator_ColumnPropNameInTable="SAVE_CHANGE_ON_ENABLEDColumn" msprop:Generator_ColumnPropNameInRow="SAVE_CHANGE_ON_ENABLED" msprop:Generator_UserColumnName="SAVE_CHANGE_ON_ENABLED" msprop:Generator_ColumnVarNameInTable="columnSAVE_CHANGE_ON_ENABLED" type="xs:boolean" /> <xs:element name="SAVE_CHANGE_ON_ENABLED" msprop:Generator_ColumnPropNameInTable="SAVE_CHANGE_ON_ENABLEDColumn" msprop:Generator_ColumnPropNameInRow="SAVE_CHANGE_ON_ENABLED" msprop:Generator_UserColumnName="SAVE_CHANGE_ON_ENABLED" msprop:Generator_ColumnVarNameInTable="columnSAVE_CHANGE_ON_ENABLED" type="xs:boolean" />
<xs:element name="FORMAT_STRING" msprop:Generator_ColumnPropNameInTable="FORMAT_STRINGColumn" msprop:Generator_ColumnPropNameInRow="FORMAT_STRING" msprop:Generator_UserColumnName="FORMAT_STRING" msprop:Generator_ColumnVarNameInTable="columnFORMAT_STRING" type="xs:string" default="" /> <xs:element name="FORMAT_STRING" msprop:Generator_ColumnPropNameInTable="FORMAT_STRINGColumn" msprop:Generator_ColumnPropNameInRow="FORMAT_STRING" msprop:Generator_UserColumnName="FORMAT_STRING" msprop:Generator_ColumnVarNameInTable="columnFORMAT_STRING" type="xs:string" default="" minOccurs="0" />
<xs:element name="BACKCOLOR_IF" msprop:Generator_ColumnPropNameInTable="BACKCOLOR_IFColumn" msprop:Generator_ColumnPropNameInRow="BACKCOLOR_IF" msprop:Generator_UserColumnName="BACKCOLOR_IF" msprop:Generator_ColumnVarNameInTable="columnBACKCOLOR_IF" type="xs:string" minOccurs="0" /> <xs:element name="BACKCOLOR_IF" msprop:Generator_ColumnPropNameInTable="BACKCOLOR_IFColumn" msprop:Generator_ColumnPropNameInRow="BACKCOLOR_IF" msprop:Generator_UserColumnName="BACKCOLOR_IF" msprop:Generator_ColumnVarNameInTable="columnBACKCOLOR_IF" type="xs:string" minOccurs="0" />
<xs:element name="TEXT_ALIGNMENT" msprop:Generator_ColumnPropNameInTable="TEXT_ALIGNMENTColumn" msprop:Generator_ColumnPropNameInRow="TEXT_ALIGNMENT" msprop:Generator_UserColumnName="TEXT_ALIGNMENT" msprop:Generator_ColumnVarNameInTable="columnTEXT_ALIGNMENT" default="Near"> <xs:element name="TEXT_ALIGNMENT" msprop:Generator_ColumnPropNameInTable="TEXT_ALIGNMENTColumn" msprop:Generator_ColumnPropNameInRow="TEXT_ALIGNMENT" msprop:Generator_UserColumnName="TEXT_ALIGNMENT" msprop:Generator_ColumnVarNameInTable="columnTEXT_ALIGNMENT" default="Near">
<xs:simpleType> <xs:simpleType>
@@ -2715,7 +2694,6 @@ SELECT GUID, NAME, TITLE, PRIORITY, DESCRIPTION, ACTIVE, WD_SEARCH, NO_OF_DOCUME
</xs:restriction> </xs:restriction>
</xs:simpleType> </xs:simpleType>
</xs:element> </xs:element>
<xs:element name="DISPLAY_IN_SEPERATE_FORM" msprop:Generator_ColumnPropNameInRow="DISPLAY_IN_SEPERATE_FORM" msprop:Generator_ColumnPropNameInTable="DISPLAY_IN_SEPERATE_FORMColumn" msprop:Generator_ColumnVarNameInTable="columnDISPLAY_IN_SEPERATE_FORM" msprop:Generator_UserColumnName="DISPLAY_IN_SEPERATE_FORM" type="xs:boolean" default="false" />
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
@@ -2826,7 +2804,7 @@ SELECT GUID, NAME, TITLE, PRIORITY, DESCRIPTION, ACTIVE, WD_SEARCH, NO_OF_DOCUME
</xs:restriction> </xs:restriction>
</xs:simpleType> </xs:simpleType>
</xs:element> </xs:element>
<xs:element name="FORMULA_SQL" msprop:Generator_UserColumnName="FORMULA_SQL" msprop:Generator_ColumnPropNameInTable="FORMULA_SQLColumn" msprop:Generator_ColumnPropNameInRow="FORMULA_SQL" msprop:Generator_ColumnVarNameInTable="columnFORMULA_SQL" default=""> <xs:element name="FORMULA_SQL" msprop:Generator_ColumnPropNameInTable="FORMULA_SQLColumn" msprop:Generator_ColumnPropNameInRow="FORMULA_SQL" msprop:Generator_UserColumnName="FORMULA_SQL" msprop:Generator_ColumnVarNameInTable="columnFORMULA_SQL" default="">
<xs:simpleType> <xs:simpleType>
<xs:restriction base="xs:string"> <xs:restriction base="xs:string">
<xs:maxLength value="3000" /> <xs:maxLength value="3000" />
@@ -3200,22 +3178,6 @@ SELECT GUID, NAME, TITLE, PRIORITY, DESCRIPTION, ACTIVE, WD_SEARCH, NO_OF_DOCUME
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="VWPM_CHART_TOP5" msprop:Generator_RowEvHandlerName="VWPM_CHART_TOP5RowChangeEventHandler" msprop:Generator_RowDeletedName="VWPM_CHART_TOP5RowDeleted" msprop:Generator_RowDeletingName="VWPM_CHART_TOP5RowDeleting" msprop:Generator_RowEvArgName="VWPM_CHART_TOP5RowChangeEvent" msprop:Generator_TablePropName="VWPM_CHART_TOP5" msprop:Generator_RowChangedName="VWPM_CHART_TOP5RowChanged" msprop:Generator_UserTableName="VWPM_CHART_TOP5" msprop:Generator_RowChangingName="VWPM_CHART_TOP5RowChanging" msprop:Generator_RowClassName="VWPM_CHART_TOP5Row" msprop:Generator_TableClassName="VWPM_CHART_TOP5DataTable" msprop:Generator_TableVarName="tableVWPM_CHART_TOP5">
<xs:complexType>
<xs:sequence>
<xs:element name="KRED_NAME" msprop:Generator_ColumnPropNameInTable="KRED_NAMEColumn" msprop:Generator_ColumnPropNameInRow="KRED_NAME" msprop:Generator_UserColumnName="KRED_NAME" msprop:Generator_ColumnVarNameInTable="columnKRED_NAME">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="250" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="ANZ_BELEG" msprop:Generator_ColumnPropNameInTable="ANZ_BELEGColumn" msprop:Generator_ColumnPropNameInRow="ANZ_BELEG" msprop:Generator_UserColumnName="ANZ_BELEG" msprop:Generator_ColumnVarNameInTable="columnANZ_BELEG" type="xs:short" />
<xs:element name="Netto" msprop:Generator_ColumnPropNameInTable="NettoColumn" msprop:Generator_ColumnPropNameInRow="Netto" msprop:Generator_UserColumnName="Netto" msprop:Generator_ColumnVarNameInTable="columnNetto" type="xs:decimal" minOccurs="0" />
<xs:element name="Skonto" msprop:Generator_ColumnPropNameInTable="SkontoColumn" msprop:Generator_ColumnPropNameInRow="Skonto" msprop:Generator_UserColumnName="Skonto" msprop:Generator_ColumnVarNameInTable="columnSkonto" type="xs:decimal" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="TBPM_PROFILE" msprop:Generator_RowEvHandlerName="TBPM_PROFILERowChangeEventHandler" msprop:Generator_RowDeletedName="TBPM_PROFILERowDeleted" msprop:Generator_RowDeletingName="TBPM_PROFILERowDeleting" msprop:Generator_RowEvArgName="TBPM_PROFILERowChangeEvent" msprop:Generator_TablePropName="TBPM_PROFILE" msprop:Generator_RowChangedName="TBPM_PROFILERowChanged" msprop:Generator_UserTableName="TBPM_PROFILE" msprop:Generator_RowChangingName="TBPM_PROFILERowChanging" msprop:Generator_RowClassName="TBPM_PROFILERow" msprop:Generator_TableClassName="TBPM_PROFILEDataTable" msprop:Generator_TableVarName="tableTBPM_PROFILE"> <xs:element name="TBPM_PROFILE" msprop:Generator_RowEvHandlerName="TBPM_PROFILERowChangeEventHandler" msprop:Generator_RowDeletedName="TBPM_PROFILERowDeleted" msprop:Generator_RowDeletingName="TBPM_PROFILERowDeleting" msprop:Generator_RowEvArgName="TBPM_PROFILERowChangeEvent" msprop:Generator_TablePropName="TBPM_PROFILE" msprop:Generator_RowChangedName="TBPM_PROFILERowChanged" msprop:Generator_UserTableName="TBPM_PROFILE" msprop:Generator_RowChangingName="TBPM_PROFILERowChanging" msprop:Generator_RowClassName="TBPM_PROFILERow" msprop:Generator_TableClassName="TBPM_PROFILEDataTable" msprop:Generator_TableVarName="tableTBPM_PROFILE">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
@@ -3419,9 +3381,9 @@ SELECT GUID, NAME, TITLE, PRIORITY, DESCRIPTION, ACTIVE, WD_SEARCH, NO_OF_DOCUME
</xs:element> </xs:element>
<xs:annotation> <xs:annotation>
<xs:appinfo> <xs:appinfo>
<msdata:Relationship name="FK_TBPM_CONTROL_TABLE_CONTROL1" msdata:parent="TBPM_PROFILE_CONTROLS" msdata:child="TBPM_CONTROL_TABLE" msdata:parentkey="GUID" msdata:childkey="CONTROL_ID" msprop:Generator_UserParentTable="TBPM_PROFILE_CONTROLS" msprop:Generator_UserChildTable="TBPM_CONTROL_TABLE" msprop:Generator_RelationVarName="relationFK_TBPM_CONTROL_TABLE_CONTROL1" msprop:Generator_ChildPropName="GetTBPM_CONTROL_TABLERows" msprop:Generator_UserRelationName="FK_TBPM_CONTROL_TABLE_CONTROL1" msprop:Generator_ParentPropName="TBPM_PROFILE_CONTROLSRow" /> <msdata:Relationship name="FK_TBPM_CONTROL_TABLE_CONTROL1" msdata:parent="TBPM_PROFILE_CONTROLS" msdata:child="TBPM_CONTROL_TABLE" msdata:parentkey="GUID" msdata:childkey="CONTROL_ID" msprop:Generator_UserParentTable="TBPM_PROFILE_CONTROLS" msprop:Generator_UserChildTable="TBPM_CONTROL_TABLE" msprop:Generator_RelationVarName="relationFK_TBPM_CONTROL_TABLE_CONTROL1" msprop:Generator_ChildPropName="GetTBPM_CONTROL_TABLERows" msprop:Generator_ParentPropName="TBPM_PROFILE_CONTROLSRow" msprop:Generator_UserRelationName="FK_TBPM_CONTROL_TABLE_CONTROL1" />
<msdata:Relationship name="FK_TBPM_CONTROL_TABLE_CONTROL" msdata:parent="TBWH_CHECK_PROFILE_CONTROLS" msdata:child="TBPM_CONTROL_TABLE" msdata:parentkey="GUID" msdata:childkey="CONTROL_ID" msprop:Generator_UserParentTable="TBWH_CHECK_PROFILE_CONTROLS" msprop:Generator_UserChildTable="TBPM_CONTROL_TABLE" msprop:Generator_RelationVarName="relationFK_TBPM_CONTROL_TABLE_CONTROL" msprop:Generator_ChildPropName="GetTBPM_CONTROL_TABLERows" msprop:Generator_ParentPropName="TBWH_CHECK_PROFILE_CONTROLSRow" msprop:Generator_UserRelationName="FK_TBPM_CONTROL_TABLE_CONTROL" /> <msdata:Relationship name="FK_TBPM_CONTROL_TABLE_CONTROL" msdata:parent="TBWH_CHECK_PROFILE_CONTROLS" msdata:child="TBPM_CONTROL_TABLE" msdata:parentkey="GUID" msdata:childkey="CONTROL_ID" msprop:Generator_UserParentTable="TBWH_CHECK_PROFILE_CONTROLS" msprop:Generator_UserChildTable="TBPM_CONTROL_TABLE" msprop:Generator_RelationVarName="relationFK_TBPM_CONTROL_TABLE_CONTROL" msprop:Generator_ChildPropName="GetTBPM_CONTROL_TABLERows" msprop:Generator_UserRelationName="FK_TBPM_CONTROL_TABLE_CONTROL" msprop:Generator_ParentPropName="TBWH_CHECK_PROFILE_CONTROLSRow" />
<msdata:Relationship name="FK_TBPM_PROFILE_CONTROLS_PROFILE" msdata:parent="TBPM_PROFILE" msdata:child="TBPM_PROFILE_CONTROLS" msdata:parentkey="GUID" msdata:childkey="PROFIL_ID" msprop:Generator_UserParentTable="TBPM_PROFILE" msprop:Generator_UserChildTable="TBPM_PROFILE_CONTROLS" msprop:Generator_RelationVarName="relationFK_TBPM_PROFILE_CONTROLS_PROFILE" msprop:Generator_ChildPropName="GetTBPM_PROFILE_CONTROLSRows" msprop:Generator_ParentPropName="TBPM_PROFILERow" msprop:Generator_UserRelationName="FK_TBPM_PROFILE_CONTROLS_PROFILE" /> <msdata:Relationship name="FK_TBPM_PROFILE_CONTROLS_PROFILE" msdata:parent="TBPM_PROFILE" msdata:child="TBPM_PROFILE_CONTROLS" msdata:parentkey="GUID" msdata:childkey="PROFIL_ID" msprop:Generator_UserParentTable="TBPM_PROFILE" msprop:Generator_UserChildTable="TBPM_PROFILE_CONTROLS" msprop:Generator_RelationVarName="relationFK_TBPM_PROFILE_CONTROLS_PROFILE" msprop:Generator_ChildPropName="GetTBPM_PROFILE_CONTROLSRows" msprop:Generator_UserRelationName="FK_TBPM_PROFILE_CONTROLS_PROFILE" msprop:Generator_ParentPropName="TBPM_PROFILERow" />
</xs:appinfo> </xs:appinfo>
</xs:annotation> </xs:annotation>
</xs:schema> </xs:schema>

View File

@@ -4,44 +4,43 @@
Changes to this file may cause incorrect behavior and will be lost if Changes to this file may cause incorrect behavior and will be lost if
the code is regenerated. the code is regenerated.
</autogenerated>--> </autogenerated>-->
<DiagramLayout xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ex:showrelationlabel="False" ViewPortX="472" ViewPortY="190" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout"> <DiagramLayout xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ex:showrelationlabel="False" ViewPortX="715" ViewPortY="340" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout">
<Shapes> <Shapes>
<Shape ID="DesignTable:TBPM_PROFILE_FINAL_INDEXING" ZOrder="14" X="1688" Y="-74" Height="324" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="197" /> <Shape ID="DesignTable:TBPM_PROFILE_FINAL_INDEXING" ZOrder="14" X="1688" Y="-74" Height="324" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="197" />
<Shape ID="DesignTable:TBPM_KONFIGURATION" ZOrder="2" X="-17" Y="232" Height="262" Width="158" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="97" /> <Shape ID="DesignTable:TBPM_KONFIGURATION" ZOrder="4" X="-17" Y="232" Height="262" Width="158" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="97" />
<Shape ID="DesignTable:TBDD_USER" ZOrder="18" X="608" Y="444" Height="305" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="235" /> <Shape ID="DesignTable:TBDD_USER" ZOrder="17" X="608" Y="444" Height="305" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="235" />
<Shape ID="DesignTable:TBPM_TYPE" ZOrder="19" X="17" Y="113" Height="203" Width="158" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="0" /> <Shape ID="DesignTable:TBPM_TYPE" ZOrder="18" X="17" Y="113" Height="203" Width="158" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="0" />
<Shape ID="DesignTable:TBPM_ERROR_LOG" ZOrder="21" X="443" Y="-87" Height="111" Width="158" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="21" /> <Shape ID="DesignTable:TBPM_ERROR_LOG" ZOrder="20" X="443" Y="-87" Height="111" Width="158" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="21" />
<Shape ID="DesignTable:TBDD_CONNECTION" ZOrder="4" X="408" Y="-78" Height="379" Width="178" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="273" /> <Shape ID="DesignTable:TBDD_CONNECTION" ZOrder="6" X="408" Y="-78" Height="379" Width="178" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="273" />
<Shape ID="DesignTable:TBPROFILE_USER" ZOrder="15" X="509" Y="-80" Height="267" Width="266" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" /> <Shape ID="DesignTable:TBPROFILE_USER" ZOrder="2" X="1041" Y="-53" Height="267" Width="266" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
<Shape ID="DesignTable:TBPM_PROFILE_FILES" ZOrder="3" X="1391" Y="-70" Height="229" Width="268" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" /> <Shape ID="DesignTable:TBPM_PROFILE_FILES" ZOrder="5" X="1391" Y="-70" Height="229" Width="268" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
<Shape ID="DesignTable:TBWH_CHECK_PROFILE_CONTROLS" ZOrder="23" X="0" Y="-72" Height="168" Width="158" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="78" /> <Shape ID="DesignTable:TBWH_CHECK_PROFILE_CONTROLS" ZOrder="22" X="0" Y="-72" Height="168" Width="158" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="78" />
<Shape ID="DesignTable:TBPM_PROFILE_CONTROLS" ZOrder="12" X="947" Y="404" Height="381" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="24" OldDataTableHeight="0" SplitterPosition="254" /> <Shape ID="DesignTable:TBPM_PROFILE_CONTROLS" ZOrder="12" X="947" Y="404" Height="381" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="24" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:TBPM_CONTROL_TABLE" ZOrder="1" X="1297" Y="391" Height="381" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="24" OldDataTableHeight="0" SplitterPosition="254" /> <Shape ID="DesignTable:TBPM_CONTROL_TABLE" ZOrder="3" X="1320" Y="470" Height="381" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="24" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:TBDD_GROUPS" ZOrder="17" X="19" Y="320" Height="286" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="235" /> <Shape ID="DesignTable:TBDD_GROUPS" ZOrder="16" X="19" Y="320" Height="286" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="235" />
<Shape ID="DesignTable:TBPROFILE_GROUP" ZOrder="13" X="1054" Y="47" Height="286" Width="277" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="178" /> <Shape ID="DesignTable:TBPROFILE_GROUP" ZOrder="13" X="1054" Y="47" Height="286" Width="277" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="178" />
<Shape ID="DesignTable:FNPM_GET_FREE_USER_FOR_PROFILE" ZOrder="16" X="807" Y="155" Height="229" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="178" /> <Shape ID="DesignTable:FNPM_GET_FREE_USER_FOR_PROFILE" ZOrder="15" X="807" Y="155" Height="229" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="178" />
<Shape ID="DesignTable:TBDD_EMAIL_TEMPLATE" ZOrder="7" X="1645" Y="598" Height="267" Width="287" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="216" /> <Shape ID="DesignTable:TBDD_EMAIL_TEMPLATE" ZOrder="9" X="1645" Y="598" Height="267" Width="287" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="216" />
<Shape ID="DesignTable:TBDD_GUI_LANGUAGE_PHRASE" ZOrder="11" X="1427" Y="251" Height="305" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" /> <Shape ID="DesignTable:TBDD_GUI_LANGUAGE_PHRASE" ZOrder="11" X="1427" Y="251" Height="305" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:VWPM_CHART_INVOICE_MONITOR" ZOrder="10" X="1828" Y="457" Height="286" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="235" /> <Shape ID="DesignTable:VWPM_CHART_INVOICE_MONITOR" ZOrder="1" X="1828" Y="457" Height="286" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="235" />
<Shape ID="DesignTable:VWPM_CHART_INVOICE_MONITOR_SERIES" ZOrder="9" X="1903" Y="311" Height="153" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" /> <Shape ID="DesignTable:VWPM_CHART_INVOICE_MONITOR_SERIES" ZOrder="10" X="1757" Y="274" Height="153" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
<Shape ID="DesignTable:VWPM_CHART_TOP5" ZOrder="8" X="1302" Y="15" Height="153" Width="267" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" /> <Shape ID="DesignTable:TBPM_PROFILE" ZOrder="8" X="862" Y="-66" Height="305" Width="266" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:TBPM_PROFILE" ZOrder="6" X="862" Y="-66" Height="305" Width="266" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" /> <Shape ID="DesignTable:TBWH_CONNECTION" ZOrder="23" X="625" Y="114" Height="276" Width="189" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="272" />
<Shape ID="DesignTable:TBWH_CONNECTION" ZOrder="24" X="625" Y="114" Height="276" Width="189" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="272" />
</Shapes> </Shapes>
<Connectors> <Connectors>
<Connector ID="DesignRelation:FK_TBPM_CONTROL_TABLE_CONTROL1" ZOrder="22" LineWidth="11"> <Connector ID="DesignRelation:FK_TBPM_CONTROL_TABLE_CONTROL1" ZOrder="21" LineWidth="11">
<RoutePoints> <RoutePoints>
<Point> <Point>
<X>1247</X> <X>1247</X>
<Y>611</Y> <Y>690</Y>
</Point> </Point>
<Point> <Point>
<X>1297</X> <X>1320</X>
<Y>611</Y> <Y>690</Y>
</Point> </Point>
</RoutePoints> </RoutePoints>
</Connector> </Connector>
<Connector ID="DesignRelation:FK_TBPM_CONTROL_TABLE_CONTROL" ZOrder="20" LineWidth="11"> <Connector ID="DesignRelation:FK_TBPM_CONTROL_TABLE_CONTROL" ZOrder="19" LineWidth="11">
<RoutePoints> <RoutePoints>
<Point> <Point>
<X>141</X> <X>141</X>
@@ -49,15 +48,15 @@
</Point> </Point>
<Point> <Point>
<X>141</X> <X>141</X>
<Y>408</Y> <Y>487</Y>
</Point> </Point>
<Point> <Point>
<X>1297</X> <X>1320</X>
<Y>408</Y> <Y>487</Y>
</Point> </Point>
</RoutePoints> </RoutePoints>
</Connector> </Connector>
<Connector ID="DesignRelation:FK_TBPM_PROFILE_CONTROLS_PROFILE" ZOrder="5" LineWidth="11"> <Connector ID="DesignRelation:FK_TBPM_PROFILE_CONTROLS_PROFILE" ZOrder="7" LineWidth="11">
<RoutePoints> <RoutePoints>
<Point> <Point>
<X>965</X> <X>965</X>

View File

@@ -134,6 +134,7 @@ Public Module ModuleControlProperties
<Description("Stores data of Read Only fields when document is saved. Default behaviour is NOT to save Read Only fields.")> <Description("Stores data of Read Only fields when document is saved. Default behaviour is NOT to save Read Only fields.")>
<Category(ClassConstants.CAT_BEHAVIOUR)> <Category(ClassConstants.CAT_BEHAVIOUR)>
Public Property [SaveChangeOnReadOnly]() As Boolean Public Property [SaveChangeOnReadOnly]() As Boolean
<Browsable(False)> <Browsable(False)>
<Category(ClassConstants.CAT_GENERAL)> <Category(ClassConstants.CAT_GENERAL)>
Public Property IndexType() As IndexTypes Public Property IndexType() As IndexTypes
@@ -349,10 +350,6 @@ Public Module ModuleControlProperties
<DisplayName("Allow Adding New Values")> <DisplayName("Allow Adding New Values")>
<Category(ClassConstants.CAT_BEHAVIOUR)> <Category(ClassConstants.CAT_BEHAVIOUR)>
Public Property AllowAddNewValues As Boolean Public Property AllowAddNewValues As Boolean
<DisplayName("Display in seperate form")>
<Category(ClassConstants.CAT_BEHAVIOUR)>
Public Property [DISPLAY_SEP_FORM]() As Boolean
End Class End Class
Public Class ButtonProperties Public Class ButtonProperties

View File

@@ -150,14 +150,14 @@ Module ModuleRuntimeVariables
Public Property CURRENT_DT_MASS_CHANGE_DOCS As DataTable Public Property CURRENT_DT_MASS_CHANGE_DOCS As DataTable
Public Property CURRENT_DT_FINAL_INDEXING As DataTable Public Property CURRENT_DT_FINAL_INDEXING As DataTable
Public Property CURRENT_DT_PROFILES As DataTable Public Property CURRENT_DT_PROFILES As DataTable
Public Property CURRENT_DT_PROFILE_LANGUAGE As DataTable Public Property CURRENT_DT_PROFILE_LANGUAGE As DataTable
Public Property CURRENT_DT_PROFILE As DataTable Public Property CURRENT_DT_PROFILE As DataTable
Public Property CURRENT_CONTROL_NAME_LIST As New List(Of String) Public Property CURRENT_CONTROL_NAME_LIST As New List(Of String)
Public Property COCKPIT_MONITOR_ID As Integer = 0
Public Property COCKPIT_MONITOR_CAPTION As String = ""
Public Property COCKPIT_CHART_ID As Integer
Public Property DTVWCONTROLS_INDEX As DataTable Public Property DTVWCONTROLS_INDEX As DataTable
Public Property DTVWCONTROL_INDEX As DataTable Public Property DTVWCONTROL_INDEX As DataTable

View File

@@ -32,6 +32,6 @@ Imports System.Runtime.InteropServices
' übernehmen, indem Sie "*" eingeben: ' übernehmen, indem Sie "*" eingeben:
' <Assembly: AssemblyVersion("1.0.*")> ' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("2.9.4.0")> <Assembly: AssemblyVersion("3.0.0.0")>
<Assembly: AssemblyFileVersion("1.0.0.0")> <Assembly: AssemblyFileVersion("1.0.0.0")>
<Assembly: NeutralResourcesLanguage("")> <Assembly: NeutralResourcesLanguage("")>

View File

@@ -1,15 +1,16 @@
DevExpress.XtraEditors.Repository.RepositoryItemComboBox, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.Repository.RepositoryItemProgressBar, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraCharts.ChartControl, DevExpress.XtraCharts.v21.2.UI, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraVerticalGrid.PropertyGridControl, DevExpress.XtraVerticalGrid.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.PictureEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.LookUpEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a DevExpress.XtraEditors.LookUpEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.ComboBoxEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraBars.Ribbon.RibbonControl, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraBars.BarManager, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraNavBar.NavBarControl, DevExpress.XtraNavBar.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraDataLayout.DataLayoutControl, DevExpress.XtraLayout.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.CheckEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraLayout.LayoutControl, DevExpress.XtraLayout.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a DevExpress.XtraLayout.LayoutControl, DevExpress.XtraLayout.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.TextEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a DevExpress.XtraEditors.TextEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.ComboBoxEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.Repository.RepositoryItemComboBox, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraDataLayout.DataLayoutControl, DevExpress.XtraLayout.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.PictureEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraVerticalGrid.PropertyGridControl, DevExpress.XtraVerticalGrid.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraTreeList.TreeList, DevExpress.XtraTreeList.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraBars.BarManager, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.CheckEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraBars.Ribbon.RibbonControl, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.Repository.RepositoryItemProgressBar, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraCharts.ChartControl, DevExpress.XtraCharts.v21.2.UI, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraNavBar.NavBarControl, DevExpress.XtraNavBar.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a

View File

@@ -465,7 +465,6 @@
<Compile Include="ClassFinalIndex.vb" /> <Compile Include="ClassFinalIndex.vb" />
<Compile Include="ClassFinalizeDoc.vb" /> <Compile Include="ClassFinalizeDoc.vb" />
<Compile Include="ClassFormat.vb" /> <Compile Include="ClassFormat.vb" />
<Compile Include="ClassGridDataLoader.vb" />
<Compile Include="ClassIDBData.vb" /> <Compile Include="ClassIDBData.vb" />
<Compile Include="ClassImageSelector.vb" /> <Compile Include="ClassImageSelector.vb" />
<Compile Include="ClassImageValue.vb" /> <Compile Include="ClassImageValue.vb" />
@@ -557,12 +556,6 @@
<Compile Include="frmColumn_Detail.vb"> <Compile Include="frmColumn_Detail.vb">
<SubType>Form</SubType> <SubType>Form</SubType>
</Compile> </Compile>
<Compile Include="frmControl_Table.Designer.vb">
<DependentUpon>frmControl_Table.vb</DependentUpon>
</Compile>
<Compile Include="frmControl_Table.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="frmDesignerLayout.Designer.vb"> <Compile Include="frmDesignerLayout.Designer.vb">
<DependentUpon>frmDesignerLayout.vb</DependentUpon> <DependentUpon>frmDesignerLayout.vb</DependentUpon>
</Compile> </Compile>
@@ -826,9 +819,6 @@
<DependentUpon>frmColumn_Detail.vb</DependentUpon> <DependentUpon>frmColumn_Detail.vb</DependentUpon>
<SubType>Designer</SubType> <SubType>Designer</SubType>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="frmControl_Table.resx">
<DependentUpon>frmControl_Table.vb</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="frmDesignerLayout.resx"> <EmbeddedResource Include="frmDesignerLayout.resx">
<DependentUpon>frmDesignerLayout.vb</DependentUpon> <DependentUpon>frmDesignerLayout.vb</DependentUpon>
<SubType>Designer</SubType> <SubType>Designer</SubType>
@@ -1379,35 +1369,6 @@
</Target> </Target>
<Import Project="..\packages\EntityFramework.6.4.4\build\EntityFramework.targets" Condition="Exists('..\packages\EntityFramework.6.4.4\build\EntityFramework.targets')" /> <Import Project="..\packages\EntityFramework.6.4.4\build\EntityFramework.targets" Condition="Exists('..\packages\EntityFramework.6.4.4\build\EntityFramework.targets')" />
<Import Project="..\packages\GdPicture.runtimes.windows.14.4.4\build\net462\GdPicture.runtimes.windows.targets" Condition="Exists('..\packages\GdPicture.runtimes.windows.14.4.4\build\net462\GdPicture.runtimes.windows.targets')" /> <Import Project="..\packages\GdPicture.runtimes.windows.14.4.4\build\net462\GdPicture.runtimes.windows.targets" Condition="Exists('..\packages\GdPicture.runtimes.windows.14.4.4\build\net462\GdPicture.runtimes.windows.targets')" />
<PropertyGroup>
<PostBuildEvent>@echo off
echo ========================================
echo GdPicture DLL Copy Script
echo ========================================
for /d %25%25p in ("$(SolutionDir)packages\GdPicture.runtimes.windows.*") do (
echo [*] Paket: %25%25~nxp
echo Von: %25%25p\runtimes\win-x64\native
echo Nach: $(TargetDir)
echo.
xcopy /Y /I /F "%25%25p\runtimes\win-x64\native\*.dll" "$(TargetDir)" | find ".dll"
echo.
echo [*] Designer-Cache:
for /d %25%25d in ("%25LOCALAPPDATA%25\Microsoft\VisualStudio\17.0_*\ProjectAssemblies") do (
echo %25%25d
xcopy /Y /Q "%25%25p\runtimes\win-x64\native\*.dll" "%25%25d\" 2&gt;nul
xcopy /Y /Q "$(TargetDir)GdPicture*.dll" "%25%25d\" 2&gt;nul
echo [OK] Aktualisiert
)
)
echo.
echo [OK] Fertig - Dateien in Target:
dir "$(TargetDir)GdPicture.NET.14.*.dll" /B 2&gt;nul
echo ========================================</PostBuildEvent>
</PropertyGroup>
<!-- To modify your build process, add your task inside one of the targets below and uncomment it. <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets. Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild"> <Target Name="BeforeBuild">

View File

@@ -92,7 +92,7 @@ Namespace My.Resources
End Property End Property
'''<summary> '''<summary>
''' Sucht eine lokalisierte Zeichenfolge, die Aktuell keine Workflowdaten vorhanden! {0} ähnelt. ''' Sucht eine lokalisierte Zeichenfolge, die Aktuell keine Workflowdaten vorhanden - {0} ähnelt.
'''</summary> '''</summary>
Friend Shared ReadOnly Property Aktuell_keine_Workflowdaten_vorhanden___0_() As String Friend Shared ReadOnly Property Aktuell_keine_Workflowdaten_vorhanden___0_() As String
Get Get

View File

@@ -120,36 +120,27 @@
<data name="Achtung:" xml:space="preserve"> <data name="Achtung:" xml:space="preserve">
<value>Attention:</value> <value>Attention:</value>
</data> </data>
<data name="Aktuell keine Workflowdaten vorhanden! {0}" xml:space="preserve">
<value>Currently no workflow data available - {0}</value>
</data>
<data name="Aktuelle Lizenz ist abgelaufen oder ungültig!" xml:space="preserve">
<value>Current license has expired or is invalid!</value>
</data>
<data name="Anzahl angemeldete Benutzer: {0}" xml:space="preserve"> <data name="Anzahl angemeldete Benutzer: {0}" xml:space="preserve">
<value>Logged in users: {0}</value> <value>Logged in users: {0}</value>
</data> </data>
<data name="Anzahl Lizenzen: {0}" xml:space="preserve"> <data name="Anzahl Lizenzen: {0}" xml:space="preserve">
<value>Number of licenses: {0}</value> <value>Number of licenses: {0}</value>
</data> </data>
<data name="Bitte schließen Sie den offenen Workflow!" xml:space="preserve">
<value>Please close the currently open workflow!</value>
</data>
<data name="Größer" xml:space="preserve">
<value>Bigger</value>
</data>
<data name="Kleiner" xml:space="preserve">
<value>Smaller</value>
</data>
<data name="Normal" xml:space="preserve">
<value>Normal</value>
</data>
<data name="Aktuell keine Workflowdaten vorhanden! {0}" xml:space="preserve">
<value>Currently no workflow data available! {0}</value>
</data>
<data name="Aktuelle Lizenz ist abgelaufen oder ungültig!" xml:space="preserve">
<value>Current license has expired or is invalid!</value>
</data>
<data name="Bitte konfigurieren Sie eine Datenbankverbindung!" xml:space="preserve"> <data name="Bitte konfigurieren Sie eine Datenbankverbindung!" xml:space="preserve">
<value>Please configure a database connection!</value> <value>Please configure a database connection!</value>
</data> </data>
<data name="Bitte kontaktieren Sie Ihren Administrator!" xml:space="preserve"> <data name="Bitte kontaktieren Sie Ihren Administrator!" xml:space="preserve">
<value>Please contact your administrator!</value> <value>Please contact your administrator!</value>
</data> </data>
<data name="Bitte schließen Sie den offenen Workflow!" xml:space="preserve">
<value>Please close the currently open workflow!</value>
</data>
<data name="Bitte wählen Sie ein Profil aus!" xml:space="preserve"> <data name="Bitte wählen Sie ein Profil aus!" xml:space="preserve">
<value>Please select a profile!</value> <value>Please select a profile!</value>
</data> </data>
@@ -177,9 +168,18 @@
<data name="Ghost Modus ({0}) deaktivieren" xml:space="preserve"> <data name="Ghost Modus ({0}) deaktivieren" xml:space="preserve">
<value>Deactivate ({0}) Ghost Mode</value> <value>Deactivate ({0}) Ghost Mode</value>
</data> </data>
<data name="Größer" xml:space="preserve">
<value>Bigger</value>
</data>
<data name="HINWEIS: Debug Modus ist eingeschaltet!" xml:space="preserve"> <data name="HINWEIS: Debug Modus ist eingeschaltet!" xml:space="preserve">
<value>NOTE: Debug mode is switched on!</value> <value>NOTE: Debug mode is switched on!</value>
</data> </data>
<data name="IDB Aktiv" xml:space="preserve">
<value>IDB Active</value>
</data>
<data name="Kleiner" xml:space="preserve">
<value>Smaller</value>
</data>
<data name="Letzte Synchronisation: {0}" xml:space="preserve"> <data name="Letzte Synchronisation: {0}" xml:space="preserve">
<value>Last synchronization: {0}</value> <value>Last synchronization: {0}</value>
</data> </data>
@@ -189,6 +189,9 @@
<data name="Massenabschluss konnte nicht ausgeführt werden, weil windream nicht initialisiert werden konnte!" xml:space="preserve"> <data name="Massenabschluss konnte nicht ausgeführt werden, weil windream nicht initialisiert werden konnte!" xml:space="preserve">
<value>Mass completion could not be executed because windream could not be initialised!</value> <value>Mass completion could not be executed because windream could not be initialised!</value>
</data> </data>
<data name="Normal" xml:space="preserve">
<value>Normal</value>
</data>
<data name="Nächste Aktivitätsüberprüfung: {0} {1}" xml:space="preserve"> <data name="Nächste Aktivitätsüberprüfung: {0} {1}" xml:space="preserve">
<value>Next activity check: {0} {1}</value> <value>Next activity check: {0} {1}</value>
</data> </data>
@@ -213,7 +216,4 @@
<data name="{0} Vorgänge" xml:space="preserve"> <data name="{0} Vorgänge" xml:space="preserve">
<value>{0} Processes</value> <value>{0} Processes</value>
</data> </data>
<data name="IDB Aktiv" xml:space="preserve">
<value>IDB Active</value>
</data>
</root> </root>

View File

@@ -120,36 +120,27 @@
<data name="Achtung:" xml:space="preserve"> <data name="Achtung:" xml:space="preserve">
<value>Attention:</value> <value>Attention:</value>
</data> </data>
<data name="Aktuell keine Workflowdaten vorhanden! {0}" xml:space="preserve">
<value>Actuellement, aucune donnée de workflow n'est disponible - {0}</value>
</data>
<data name="Aktuelle Lizenz ist abgelaufen oder ungültig!" xml:space="preserve">
<value>La licence actuelle a expiré ou n'est plus valable !</value>
</data>
<data name="Anzahl angemeldete Benutzer: {0}" xml:space="preserve"> <data name="Anzahl angemeldete Benutzer: {0}" xml:space="preserve">
<value>Nombre d'utilisateurs connectés: {0}</value> <value>Nombre d'utilisateurs connectés: {0}</value>
</data> </data>
<data name="Anzahl Lizenzen: {0}" xml:space="preserve"> <data name="Anzahl Lizenzen: {0}" xml:space="preserve">
<value>Nombre de licences: {0}</value> <value>Nombre de licences: {0}</value>
</data> </data>
<data name="Bitte schließen Sie den offenen Workflow!" xml:space="preserve">
<value>Veuillez fermer le workflow ouvert !</value>
</data>
<data name="Größer" xml:space="preserve">
<value>Plus grand</value>
</data>
<data name="Kleiner" xml:space="preserve">
<value>Petit</value>
</data>
<data name="Normal" xml:space="preserve">
<value>Normal</value>
</data>
<data name="Aktuell keine Workflowdaten vorhanden! {0}" xml:space="preserve">
<value>Actuellement, aucune donnée de workflow n'est disponible ! {0}</value>
</data>
<data name="Aktuelle Lizenz ist abgelaufen oder ungültig!" xml:space="preserve">
<value>La licence actuelle a expiré ou n'est plus valable !</value>
</data>
<data name="Bitte konfigurieren Sie eine Datenbankverbindung!" xml:space="preserve"> <data name="Bitte konfigurieren Sie eine Datenbankverbindung!" xml:space="preserve">
<value>Veuillez configurer une connexion à la base de données !</value> <value>Veuillez configurer une connexion à la base de données !</value>
</data> </data>
<data name="Bitte kontaktieren Sie Ihren Administrator!" xml:space="preserve"> <data name="Bitte kontaktieren Sie Ihren Administrator!" xml:space="preserve">
<value>Veuillez contacter votre administrateur !</value> <value>Veuillez contacter votre administrateur !</value>
</data> </data>
<data name="Bitte schließen Sie den offenen Workflow!" xml:space="preserve">
<value>Veuillez fermer le workflow ouvert !</value>
</data>
<data name="Bitte wählen Sie ein Profil aus!" xml:space="preserve"> <data name="Bitte wählen Sie ein Profil aus!" xml:space="preserve">
<value>Veuillez sélectionner un profil !</value> <value>Veuillez sélectionner un profil !</value>
</data> </data>
@@ -177,9 +168,18 @@
<data name="Ghost Modus ({0}) deaktivieren" xml:space="preserve"> <data name="Ghost Modus ({0}) deaktivieren" xml:space="preserve">
<value>Désactiver ({0}) le Mode Fantôme</value> <value>Désactiver ({0}) le Mode Fantôme</value>
</data> </data>
<data name="Größer" xml:space="preserve">
<value>Plus grand</value>
</data>
<data name="HINWEIS: Debug Modus ist eingeschaltet!" xml:space="preserve"> <data name="HINWEIS: Debug Modus ist eingeschaltet!" xml:space="preserve">
<value>REMARQUE : le mode de débogage est activé !</value> <value>REMARQUE : le mode de débogage est activé !</value>
</data> </data>
<data name="IDB Aktiv" xml:space="preserve">
<value>IDB Aktif</value>
</data>
<data name="Kleiner" xml:space="preserve">
<value>Petit</value>
</data>
<data name="Letzte Synchronisation: {0}" xml:space="preserve"> <data name="Letzte Synchronisation: {0}" xml:space="preserve">
<value>Dernière synchronisation : {0}</value> <value>Dernière synchronisation : {0}</value>
</data> </data>
@@ -189,6 +189,9 @@
<data name="Massenabschluss konnte nicht ausgeführt werden, weil windream nicht initialisiert werden konnte!" xml:space="preserve"> <data name="Massenabschluss konnte nicht ausgeführt werden, weil windream nicht initialisiert werden konnte!" xml:space="preserve">
<value>La clôture en masse n'a pas pu être exécutée parce que windream n'a pas pu être initialisé !</value> <value>La clôture en masse n'a pas pu être exécutée parce que windream n'a pas pu être initialisé !</value>
</data> </data>
<data name="Normal" xml:space="preserve">
<value>Normal</value>
</data>
<data name="Nächste Aktivitätsüberprüfung: {0} {1}" xml:space="preserve"> <data name="Nächste Aktivitätsüberprüfung: {0} {1}" xml:space="preserve">
<value>Prochaine vérification d'activité : {0} {1}</value> <value>Prochaine vérification d'activité : {0} {1}</value>
</data> </data>
@@ -213,7 +216,4 @@
<data name="{0} Vorgänge" xml:space="preserve"> <data name="{0} Vorgänge" xml:space="preserve">
<value>{0} Opérations</value> <value>{0} Opérations</value>
</data> </data>
<data name="IDB Aktiv" xml:space="preserve">
<value>IDB Aktif</value>
</data>
</root> </root>

View File

@@ -121,7 +121,7 @@
<value>Achtung:</value> <value>Achtung:</value>
</data> </data>
<data name="Aktuell keine Workflowdaten vorhanden! {0}" xml:space="preserve"> <data name="Aktuell keine Workflowdaten vorhanden! {0}" xml:space="preserve">
<value>Aktuell keine Workflowdaten vorhanden! {0}</value> <value>Aktuell keine Workflowdaten vorhanden - {0}</value>
</data> </data>
<data name="Aktuelle Lizenz ist abgelaufen oder ungültig!" xml:space="preserve"> <data name="Aktuelle Lizenz ist abgelaufen oder ungültig!" xml:space="preserve">
<value>Aktuelle Lizenz ist abgelaufen oder ungültig!</value> <value>Aktuelle Lizenz ist abgelaufen oder ungültig!</value>

View File

@@ -70,7 +70,7 @@ Public Class clsPatterns
''' </summary> ''' </summary>
Public Shared Sub ClearControlCache() Public Shared Sub ClearControlCache()
_ControlLookupCache = Nothing _ControlLookupCache = Nothing
If LOG_HOTSPOTS Then LOGGER.Debug("Control cache cleared") LOGGER.Debug("Control cache cleared")
End Sub End Sub
''' <summary> ''' <summary>
''' Aktualisiert den Wert eines Controls im Cache ''' Aktualisiert den Wert eines Controls im Cache
@@ -122,7 +122,7 @@ Public Class clsPatterns
LOGGER.Warn($"Unsupported control type for cache update: {ctrl.GetType.Name}") LOGGER.Warn($"Unsupported control type for cache update: {ctrl.GetType.Name}")
End Select End Select
If LOG_HOTSPOTS Then LOGGER.Debug($"Cache updated for control [{controlName}] with value type [{newValue?.GetType().Name}]") LOGGER.Debug($"Cache updated for control [{controlName}] with value type [{newValue?.GetType().Name}]")
Catch ex As Exception Catch ex As Exception
LOGGER.Error(ex) LOGGER.Error(ex)
@@ -144,7 +144,7 @@ Public Class clsPatterns
UpdateControlInCache(kvp.Key, kvp.Value) UpdateControlInCache(kvp.Key, kvp.Value)
Next Next
If LOG_HOTSPOTS Then LOGGER.Debug($"Batch cache update completed for {updates.Count} controls") LOGGER.Debug($"Batch cache update completed for {updates.Count} controls")
End Sub End Sub
''' <summary> ''' <summary>
''' Wraps a pattern-type and -value in the common format: {#type#value} ''' Wraps a pattern-type and -value in the common format: {#type#value}
@@ -175,9 +175,9 @@ Public Class clsPatterns
If Not IsNothing(oResult) Then If Not IsNothing(oResult) Then
oResult = ReplaceUserValues(oResult) oResult = ReplaceUserValues(oResult)
LOGGER.Debug($"input AFTER replacing: [{oResult}]")
End If End If
LOGGER.Debug($"input AFTER replacing: [{oResult}]")
Return oResult Return oResult
Catch ex As Exception Catch ex As Exception
LOGGER.Error(ex) LOGGER.Error(ex)
@@ -305,7 +305,7 @@ Public Class clsPatterns
End SyncLock End SyncLock
Try Try
If LOG_HOTSPOTS Then LOGGER.Debug($"Starting ReplaceControlValues with input: [{oResult}] for document ID: {CURRENT_DOC_ID}") LOGGER.Debug($"Starting ReplaceControlValues with input: [{oResult}] for document ID: {CURRENT_DOC_ID}")
Dim oTryCounter = 0 Dim oTryCounter = 0
While ContainsPattern(oResult, PATTERN_CTRL) While ContainsPattern(oResult, PATTERN_CTRL)
@@ -325,7 +325,7 @@ Public Class clsPatterns
oColumnName = oSplitName.Last() oColumnName = oSplitName.Last()
End If End If
If LOG_HOTSPOTS Then LOGGER.Debug("Found placeholder for control [{0}].", oControlName) LOGGER.Debug("Found placeholder for control [{0}].", oControlName)
' Beim Cache-Zugriff Lock verwenden ' Beim Cache-Zugriff Lock verwenden
Dim oControl As Control = Nothing Dim oControl As Control = Nothing
SyncLock _ControlLookupCache SyncLock _ControlLookupCache
@@ -349,11 +349,11 @@ Public Class clsPatterns
If oControl IsNot Nothing Then If oControl IsNot Nothing Then
Dim oReplaceValue As String Dim oReplaceValue As String
If LOG_HOTSPOTS Then LOGGER.Debug("oControl.GetType [{0}].", oControl.GetType.ToString) LOGGER.Debug("oControl.GetType [{0}].", oControl.GetType.ToString)
Select Case oControl.GetType Select Case oControl.GetType
Case GetType(TextBox) Case GetType(TextBox)
oReplaceValue = oControl.Text oReplaceValue = oControl.Text
If LOG_HOTSPOTS Then LOGGER.Debug("TextBox- oReplaceValue will be [{0}].", oReplaceValue) LOGGER.Debug("TextBox- oReplaceValue will be [{0}].", oReplaceValue)
Case GetType(TextEdit) Case GetType(TextEdit)
Try Try
oReplaceValue = ClassAllgemeineFunktionen.NotNullString(DirectCast(oControl, TextEdit).EditValue, String.Empty) oReplaceValue = ClassAllgemeineFunktionen.NotNullString(DirectCast(oControl, TextEdit).EditValue, String.Empty)
@@ -361,7 +361,7 @@ Public Class clsPatterns
LOGGER.Warn($"Error in ReplaceValue MemoEdit: {ex.Message}") LOGGER.Warn($"Error in ReplaceValue MemoEdit: {ex.Message}")
oReplaceValue = "" oReplaceValue = ""
End Try End Try
If LOG_HOTSPOTS Then LOGGER.Debug("TextEdit- oReplaceValue will be [{0}].", oReplaceValue) LOGGER.Debug("TextEdit- oReplaceValue will be [{0}].", oReplaceValue)
Case GetType(MemoEdit) Case GetType(MemoEdit)
Try Try
oReplaceValue = ClassAllgemeineFunktionen.NotNullString(DirectCast(oControl, MemoEdit).EditValue, String.Empty) oReplaceValue = ClassAllgemeineFunktionen.NotNullString(DirectCast(oControl, MemoEdit).EditValue, String.Empty)
@@ -369,7 +369,7 @@ Public Class clsPatterns
LOGGER.Warn($"Error in ReplaceValue MemoEdit: {ex.Message}") LOGGER.Warn($"Error in ReplaceValue MemoEdit: {ex.Message}")
oReplaceValue = "" oReplaceValue = ""
End Try End Try
If LOG_HOTSPOTS Then LOGGER.Debug("MemoEdit- oReplaceValue will be [{0}].", oReplaceValue) LOGGER.Debug("MemoEdit- oReplaceValue will be [{0}].", oReplaceValue)
Case GetType(LookupControl3) Case GetType(LookupControl3)
Dim oLookupControl3 As LookupControl3 = oControl Dim oLookupControl3 As LookupControl3 = oControl
@@ -391,7 +391,7 @@ Public Class clsPatterns
oReplaceValue = ERROR_REPLACE_VALUE oReplaceValue = ERROR_REPLACE_VALUE
' ========== FIX END ========== ' ========== FIX END ==========
ElseIf selectedValues.Count > 1 Then ElseIf selectedValues.Count > 1 Then
If LOG_HOTSPOTS Then LOGGER.Debug($"LookupControl3 [{oControlName}] mit mehr als 1 Value") LOGGER.Debug($"LookupControl3 [{oControlName}] mit mehr als 1 Value")
Dim oIndex As Integer = 0 Dim oIndex As Integer = 0
For Each oString As String In selectedValues For Each oString As String In selectedValues
If oIndex = 0 Then If oIndex = 0 Then
@@ -403,11 +403,12 @@ Public Class clsPatterns
Next Next
oIsSQL = False oIsSQL = False
Else ' Count = 1 Else ' Count = 1
If LOG_HOTSPOTS Then LOGGER.Debug($"LookupControl3 [{oControlName}] mit genau einem Value") LOGGER.Debug($"LookupControl3 [{oControlName}] mit genau einem Value")
oReplaceValue = selectedValues(0) oReplaceValue = selectedValues(0)
End If End If
If LOG_HOTSPOTS Then LOGGER.Debug($"oReplaceValue nach Durchlaufen selectedValues: {oReplaceValue}") LOGGER.Debug($"oReplaceValue nach Durchlaufen selectedValues: {oReplaceValue}")
LOGGER.Debug($"oReplaceValue nach Durchlaufen selectedValues: {oReplaceValue}")
Case GetType(Windows.Forms.ComboBox) Case GetType(Windows.Forms.ComboBox)
oReplaceValue = oControl.Text oReplaceValue = oControl.Text
@@ -439,7 +440,7 @@ Public Class clsPatterns
Case Else Case Else
oReplaceValue = ERROR_REPLACE_VALUE oReplaceValue = ERROR_REPLACE_VALUE
End Select End Select
If LOG_HOTSPOTS Then LOGGER.Debug($"[SQL-ESCAPE CHECK] Control: [{oControlName}], oReplaceValue Type: [{If(oReplaceValue?.GetType()?.Name, "NULL")}], Value: [{oReplaceValue}], IsSQL: [{oIsSQL}]") LOGGER.Debug($"[SQL-ESCAPE CHECK] Control: [{oControlName}], oReplaceValue Type: [{If(oReplaceValue?.GetType()?.Name, "NULL")}], Value: [{oReplaceValue}], IsSQL: [{oIsSQL}]")
If oReplaceValue Is Nothing Then If oReplaceValue Is Nothing Then
LOGGER.Warn($"⚠️ oReplaceValue is Nothing for control [{oControlName}]! Setting to ERROR_REPLACE_VALUE") LOGGER.Warn($"⚠️ oReplaceValue is Nothing for control [{oControlName}]! Setting to ERROR_REPLACE_VALUE")
oReplaceValue = ERROR_REPLACE_VALUE oReplaceValue = ERROR_REPLACE_VALUE
@@ -467,7 +468,7 @@ Public Class clsPatterns
End Try End Try
End Function End Function
Private Shared Function SafeSqlEscape(value As Object) As String Private Shared Function SafeSqlEscape(value As Object) As String
If LOG_HOTSPOTS Then LOGGER.Debug($"[SafeSqlEscape] Input Type: [{If(value?.GetType()?.Name, "NULL")}], Value: [{value}]") LOGGER.Debug($"[SafeSqlEscape] Input Type: [{If(value?.GetType()?.Name, "NULL")}], Value: [{value}]")
If value Is Nothing Then If value Is Nothing Then
LOGGER.Warn("[SafeSqlEscape] Value is Nothing → returning ERROR_REPLACE_VALUE") LOGGER.Warn("[SafeSqlEscape] Value is Nothing → returning ERROR_REPLACE_VALUE")
@@ -489,14 +490,14 @@ Public Class clsPatterns
End If End If
Dim escaped = strValue.Replace("'", "''") Dim escaped = strValue.Replace("'", "''")
If LOG_HOTSPOTS Then LOGGER.Debug($"[SafeSqlEscape] Output: [{escaped}]") LOGGER.Debug($"[SafeSqlEscape] Output: [{escaped}]")
Return escaped Return escaped
End Function End Function
Public Shared Function ReplaceWindreamIndicies(pInput As String, pDocument As WMObject, pIsSQL As Boolean) As String Public Shared Function ReplaceWindreamIndicies(pInput As String, pDocument As WMObject, pIsSQL As Boolean) As String
Try Try
Dim oResult = pInput Dim oResult = pInput
Dim oTryCounter As Integer = 0 Dim oTryCounter As Integer = 0
If LOG_HOTSPOTS Then LOGGER.Debug($"Starting ReplaceWindreamIndicies with input: [{oResult}] for document ID: {CURRENT_DOC_ID}") LOGGER.Debug($"Starting ReplaceWindreamIndicies with input: [{oResult}] for document ID: {CURRENT_DOC_ID}")
While ContainsPattern(oResult, PATTERN_WMI) While ContainsPattern(oResult, PATTERN_WMI)
Dim oWMValue As String Dim oWMValue As String
Dim oIndexName As String = GetNextPattern(oResult, PATTERN_WMI).Value Dim oIndexName As String = GetNextPattern(oResult, PATTERN_WMI).Value
@@ -516,9 +517,9 @@ Public Class clsPatterns
If oWMValue IsNot Nothing Then If oWMValue IsNot Nothing Then
If pIsSQL = True Then If pIsSQL = True Then
If LOG_HOTSPOTS Then LOGGER.Debug($"IS_SQL = True - oReplaceValue = {oWMValue}") LOGGER.Debug($"IS_SQL = True - oReplaceValue = {oWMValue}")
oWMValue = oWMValue.ToString().Replace("'", "''") oWMValue = oWMValue.ToString().Replace("'", "''")
If LOG_HOTSPOTS Then LOGGER.Debug($"oReplaceValue = {oWMValue}") LOGGER.Debug($"oReplaceValue = {oWMValue}")
End If End If
oResult = ReplacePattern(oResult, PATTERN_WMI, oWMValue) oResult = ReplacePattern(oResult, PATTERN_WMI, oWMValue)
Else Else
@@ -542,7 +543,7 @@ Public Class clsPatterns
Try Try
Dim result = input Dim result = input
Dim oTryCounter As Integer = 0 Dim oTryCounter As Integer = 0
If LOG_HOTSPOTS Then LOGGER.Debug($"Starting ReplaceIDBAttributes with input: [{result}] for document ID: {CURRENT_DOC_ID}") LOGGER.Debug($"Starting ReplaceIDBAttributes with input: [{result}] for document ID: {CURRENT_DOC_ID}")
While ContainsPattern(result, PATTERN_IDBA) While ContainsPattern(result, PATTERN_IDBA)
Dim indexName As String = GetNextPattern(result, PATTERN_IDBA).Value Dim indexName As String = GetNextPattern(result, PATTERN_IDBA).Value
@@ -567,7 +568,7 @@ Public Class clsPatterns
If oIDBValue IsNot Nothing Or Not IsDBNull(oIDBValue) Then If oIDBValue IsNot Nothing Or Not IsDBNull(oIDBValue) Then
Dim oReplaceValue = "{" + $"#{PATTERN_IDBA}#{indexName}" + "}" Dim oReplaceValue = "{" + $"#{PATTERN_IDBA}#{indexName}" + "}"
If IS_SQL = True Then If IS_SQL = True Then
If LOG_HOTSPOTS Then LOGGER.Debug($"IS_SQL = True - oReplaceValue = [{oReplaceValue}]") LOGGER.Debug($"IS_SQL = True - oReplaceValue = [{oReplaceValue}]")
If indexName <> "ObjectID" And indexName <> "OBJID" And indexName <> "DocID" Then If indexName <> "ObjectID" And indexName <> "OBJID" And indexName <> "DocID" Then
Try Try
oIDBValue = oIDBValue.Replace("'", "''") oIDBValue = oIDBValue.Replace("'", "''")
@@ -577,7 +578,7 @@ Public Class clsPatterns
End Try End Try
End If End If
If LOG_HOTSPOTS Then LOGGER.Debug($"oIDBValue = {oIDBValue}") LOGGER.Debug($"oIDBValue = {oIDBValue}")
End If End If
result = result.Replace(oReplaceValue, oIDBValue) result = result.Replace(oReplaceValue, oIDBValue)
Else Else
@@ -589,7 +590,7 @@ Public Class clsPatterns
' Increase counter by 10 to avoid DDOSing the Database/IDB Service ' Increase counter by 10 to avoid DDOSing the Database/IDB Service
oTryCounter += 10 oTryCounter += 10
End While End While
If LOG_HOTSPOTS Then LOGGER.Debug("sql after ReplaceIDBAttributes: " & input) LOGGER.Debug("sql after ReplaceIDBAttributes: " & input)
Return result Return result
Catch ex As Exception Catch ex As Exception
LOGGER.Error(ex) LOGGER.Error(ex)

View File

@@ -136,12 +136,12 @@ Public Class frmColumn_Detail
CURRENT_DESIGN_TYPE = "SQL_SOURCE_TABLE_COLUMN" CURRENT_DESIGN_TYPE = "SQL_SOURCE_TABLE_COLUMN"
CURRENT_INDEX_ID = GUIDTextBox.Text CURRENT_INDEX_ID = GUIDTextBox.Text
Dim oForm2 As New frmSQLEditor(LOGCONFIG, DatabaseECM) With { Dim oForm2 As New frmSQLEditor(LOGCONFIG, DatabaseECM) With {
.SQLCommand = SQL_COMMANDTextBox.Text, .SQLCommand = SQL_COMMANDTextBox.Text,
.SQLConnection = 1, .SQLConnection = 1,
.PlaceholdersManualPrefix = "CTRL", .PlaceholdersManualPrefix = "CTRL",
.PlaceholdersManualTitle = "Controls", .PlaceholdersManualTitle = "Controls",
.PlaceholdersManual = CURRENT_CONTROL_NAME_LIST.ToDictionary(Function(name) name, Function(name) name) .PlaceholdersManual = CURRENT_CONTROL_NAME_LIST.ToDictionary(Function(name) name, Function(name) name)
} }
If IDB_ACTIVE = False Then If IDB_ACTIVE = False Then
oForm2.ATTRIBUTE_STORE = "WM" oForm2.ATTRIBUTE_STORE = "WM"
oForm2.PlaceholdersWindream = MVSource_AllIndicies oForm2.PlaceholdersWindream = MVSource_AllIndicies
@@ -195,11 +195,18 @@ Public Class frmColumn_Detail
CURRENT_INDEX_ID = GUIDTextBox.Text CURRENT_INDEX_ID = GUIDTextBox.Text
Dim oForm2 As New frmSQLEditor(LOGCONFIG, DatabaseECM) With { Dim oForm2 As New frmSQLEditor(LOGCONFIG, DatabaseECM) With {
.SQLCommand = SQL_COMMANDTextBox.Text, .SQLCommand = SQL_COMMANDTextBox.Text,
.SQLConnection = 0, .SQLConnection = 1,
.PlaceholdersManualPrefix = "CTRL", .PlaceholdersManualPrefix = "CTRL",
.PlaceholdersManualTitle = "Controls", .PlaceholdersManualTitle = "Controls",
.PlaceholdersManual = CURRENT_CONTROL_NAME_LIST.ToDictionary(Function(name) name, Function(name) name) .PlaceholdersManual = CURRENT_CONTROL_NAME_LIST.ToDictionary(Function(name) name, Function(name) name)
} }
If IDB_ACTIVE = False Then
oForm2.ATTRIBUTE_STORE = "WM"
oForm2.PlaceholdersWindream = MVSource_AllIndicies
Else
oForm2.ATTRIBUTE_STORE = "IDB"
End If
oForm2.ShowDialog() oForm2.ShowDialog()
If oForm2.DialogResult = DialogResult.OK Then If oForm2.DialogResult = DialogResult.OK Then
@@ -244,11 +251,17 @@ Public Class frmColumn_Detail
CURRENT_INDEX_ID = GUIDTextBox.Text CURRENT_INDEX_ID = GUIDTextBox.Text
Dim oForm2 As New frmSQLEditor(LOGCONFIG, DatabaseECM) With { Dim oForm2 As New frmSQLEditor(LOGCONFIG, DatabaseECM) With {
.SQLCommand = FORMULA_SQLTextBox.Text, .SQLCommand = FORMULA_SQLTextBox.Text,
.SQLConnection = 0, .SQLConnection = 1,
.PlaceholdersManualPrefix = "CTRL", .PlaceholdersManualPrefix = "CTRL",
.PlaceholdersManualTitle = "Controls", .PlaceholdersManualTitle = "Controls",
.PlaceholdersManual = CURRENT_CONTROL_NAME_LIST.ToDictionary(Function(name) name, Function(name) name) .PlaceholdersManual = CURRENT_CONTROL_NAME_LIST.ToDictionary(Function(name) name, Function(name) name)
} }
If IDB_ACTIVE = False Then
oForm2.ATTRIBUTE_STORE = "WM"
oForm2.PlaceholdersWindream = MVSource_AllIndicies
Else
oForm2.ATTRIBUTE_STORE = "IDB"
End If
oForm2.ShowDialog() oForm2.ShowDialog()
If oForm2.DialogResult = DialogResult.OK Then If oForm2.DialogResult = DialogResult.OK Then

View File

@@ -1,122 +0,0 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class frmControl_Table
Inherits DevExpress.XtraBars.Ribbon.RibbonForm
'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
<System.Diagnostics.DebuggerNonUserCode()> _
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.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmControl_Table))
Me.RibbonControl1 = New DevExpress.XtraBars.Ribbon.RibbonControl()
Me.BarButtonItem1 = New DevExpress.XtraBars.BarButtonItem()
Me.BarButtonItem2 = New DevExpress.XtraBars.BarButtonItem()
Me.rbnPageStart = New DevExpress.XtraBars.Ribbon.RibbonPage()
Me.RibbonPageGroup1 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibbonStatusBar1 = New DevExpress.XtraBars.Ribbon.RibbonStatusBar()
Me.RibbonPage2 = New DevExpress.XtraBars.Ribbon.RibbonPage()
Me.BarButtonItem3 = New DevExpress.XtraBars.BarButtonItem()
CType(Me.RibbonControl1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
'
'RibbonControl1
'
Me.RibbonControl1.ExpandCollapseItem.Id = 0
Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.RibbonControl1.SearchEditItem, Me.BarButtonItem1, Me.BarButtonItem2, Me.BarButtonItem3})
Me.RibbonControl1.Location = New System.Drawing.Point(0, 0)
Me.RibbonControl1.MaxItemId = 5
Me.RibbonControl1.Name = "RibbonControl1"
Me.RibbonControl1.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.rbnPageStart})
Me.RibbonControl1.ShowApplicationButton = DevExpress.Utils.DefaultBoolean.[False]
Me.RibbonControl1.Size = New System.Drawing.Size(800, 158)
Me.RibbonControl1.StatusBar = Me.RibbonStatusBar1
'
'BarButtonItem1
'
Me.BarButtonItem1.Caption = "Daten neu laden"
Me.BarButtonItem1.Id = 1
Me.BarButtonItem1.ImageOptions.SvgImage = CType(resources.GetObject("BarButtonItem1.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
Me.BarButtonItem1.Name = "BarButtonItem1"
'
'BarButtonItem2
'
Me.BarButtonItem2.Caption = "Abbruch"
Me.BarButtonItem2.Id = 3
Me.BarButtonItem2.ImageOptions.SvgImage = CType(resources.GetObject("BarButtonItem2.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
Me.BarButtonItem2.Name = "BarButtonItem2"
'
'rbnPageStart
'
Me.rbnPageStart.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup1})
Me.rbnPageStart.Name = "rbnPageStart"
Me.rbnPageStart.Text = "Start"
'
'RibbonPageGroup1
'
Me.RibbonPageGroup1.ItemLinks.Add(Me.BarButtonItem1)
Me.RibbonPageGroup1.ItemLinks.Add(Me.BarButtonItem2)
Me.RibbonPageGroup1.ItemLinks.Add(Me.BarButtonItem3)
Me.RibbonPageGroup1.Name = "RibbonPageGroup1"
Me.RibbonPageGroup1.Text = "Funktionen"
'
'RibbonStatusBar1
'
Me.RibbonStatusBar1.Location = New System.Drawing.Point(0, 428)
Me.RibbonStatusBar1.Name = "RibbonStatusBar1"
Me.RibbonStatusBar1.Ribbon = Me.RibbonControl1
Me.RibbonStatusBar1.Size = New System.Drawing.Size(800, 22)
'
'RibbonPage2
'
Me.RibbonPage2.Name = "RibbonPage2"
Me.RibbonPage2.Text = "RibbonPage2"
'
'BarButtonItem3
'
Me.BarButtonItem3.Caption = "Layout zurücksetzen"
Me.BarButtonItem3.Id = 4
Me.BarButtonItem3.ImageOptions.SvgImage = CType(resources.GetObject("BarButtonItem3.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
Me.BarButtonItem3.Name = "BarButtonItem3"
'
'frmControl_Table
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(800, 450)
Me.Controls.Add(Me.RibbonStatusBar1)
Me.Controls.Add(Me.RibbonControl1)
Me.IconOptions.SvgImage = CType(resources.GetObject("frmControl_Table.IconOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
Me.Name = "frmControl_Table"
Me.Ribbon = Me.RibbonControl1
Me.StatusBar = Me.RibbonStatusBar1
Me.Text = "frmControl_Table"
CType(Me.RibbonControl1, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False)
Me.PerformLayout()
End Sub
Friend WithEvents RibbonControl1 As DevExpress.XtraBars.Ribbon.RibbonControl
Friend WithEvents rbnPageStart As DevExpress.XtraBars.Ribbon.RibbonPage
Friend WithEvents RibbonPageGroup1 As DevExpress.XtraBars.Ribbon.RibbonPageGroup
Friend WithEvents RibbonStatusBar1 As DevExpress.XtraBars.Ribbon.RibbonStatusBar
Friend WithEvents RibbonPage2 As DevExpress.XtraBars.Ribbon.RibbonPage
Friend WithEvents BarButtonItem1 As DevExpress.XtraBars.BarButtonItem
Friend WithEvents BarButtonItem2 As DevExpress.XtraBars.BarButtonItem
Friend WithEvents BarButtonItem3 As DevExpress.XtraBars.BarButtonItem
End Class

View File

@@ -1,197 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="DevExpress.Data.v21.2" name="DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<data name="BarButtonItem1.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAANYDAAAC77u/
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLlllbGxvd3tmaWxsOiNGRkIxMTU7fQoJ
LlJlZHtmaWxsOiNEMTFDMUM7fQoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9CgkuQmx1ZXtmaWxsOiMxMTc3
RDc7fQoJLldoaXRle2ZpbGw6I0ZGRkZGRjt9CgkuR3JlZW57ZmlsbDojMDM5QzIzO30KCS5zdDB7b3Bh
Y2l0eTowLjc1O30KCS5zdDF7b3BhY2l0eTowLjU7fQoJLnN0MntvcGFjaXR5OjAuMjU7fQoJLnN0M3tm
aWxsOiNGRkIxMTU7fQo8L3N0eWxlPg0KICA8ZyAvPg0KICA8ZyBpZD0iVXBkYXRlIj4NCiAgICA8ZyBj
bGFzcz0ic3QxIj4NCiAgICAgIDxwYXRoIGQ9Ik0xNiw2aC02VjJoNlY2eiBNMTYsOGgtNnY0aDZWOHog
TTI0LDJoLTZ2NGg2VjJ6IE0yNCwxMlY4aC02djRIMjR6IE0yLDZoNlYySDJWNnogTTIsMThoNnYtNEgy
VjE4eiBNMTYsMTQgICAgTDE2LDE0bC02LDB2NGgyLjhDMTMuNSwxNi40LDE0LjYsMTUsMTYsMTR6IE0y
LDEyaDZWOEgyVjEyeiIgY2xhc3M9IkJsYWNrIiAvPg0KICAgIDwvZz4NCiAgICA8cGF0aCBkPSJNMjcu
NywyMGgySDMwdi02bC0yLjMsMi4zQzI2LjIsMTQuOSwyNC4yLDE0LDIyLDE0Yy00LjQsMC04LDMuNi04
LDhjMCw0LjQsMy42LDgsOCw4czgtMy42LDgtOGgtMiAgIGMwLDMuMy0yLjcsNi02LDZzLTYtMi43LTYt
NnMyLjctNiw2LTZjMS43LDAsMy4yLDAuNyw0LjIsMS44TDI0LDIwSDI3Ljd6IiBjbGFzcz0iR3JlZW4i
IC8+DQogIDwvZz4NCjwvc3ZnPgs=
</value>
</data>
<data name="BarButtonItem2.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAPoBAAAC77u/
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
Y2U9InByZXNlcnZlIiBpZD0iQ2xlYXJIZWFkZXJBbmRGb290ZXIiIHN0eWxlPSJlbmFibGUtYmFja2dy
b3VuZDpuZXcgMCAwIDMyIDMyIj4NCiAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5SZWR7ZmlsbDoj
RDExQzFDO30KPC9zdHlsZT4NCiAgPHBhdGggZD0iTTI3LDRINUM0LjUsNCw0LDQuNSw0LDV2MjJjMCww
LjUsMC41LDEsMSwxaDIyYzAuNSwwLDEtMC41LDEtMVY1QzI4LDQuNSwyNy41LDQsMjcsNHogTTIyLDIw
bC0yLDJsLTQtNGwtNCw0ICBsLTItMmw0LTRsLTQtNGwyLTJsNCw0bDQtNGwyLDJsLTQsNEwyMiwyMHoi
IGNsYXNzPSJSZWQiIC8+DQo8L3N2Zz4L
</value>
</data>
<data name="BarButtonItem3.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAPECAAAC77u/
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9Cgku
WWVsbG93e2ZpbGw6I0ZGQjExNTt9CgkuQmx1ZXtmaWxsOiMxMTc3RDc7fQoJLkdyZWVue2ZpbGw6IzAz
OUMyMzt9CgkuUmVke2ZpbGw6I0QxMUMxQzt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh
Y2l0eTowLjc1O30KCS5zdDF7b3BhY2l0eTowLjU7fQoJLnN0MntvcGFjaXR5OjAuMjU7fQo8L3N0eWxl
Pg0KICA8ZyBpZD0iRGVsZXRlTGlzdCI+DQogICAgPHBhdGggZD0iTTYsMjZWNGgxOHYxMy4ybDItMlYz
YzAtMC42LTAuNC0xLTEtMUg1QzQuNCwyLDQsMi40LDQsM3YyNGMwLDAuNiwwLjQsMSwxLDFoOC4ybDIt
Mkg2eiIgY2xhc3M9IkJsYWNrIiAvPg0KICAgIDxwb2x5Z29uIHBvaW50cz0iMjgsMjAgMjYsMTggMjIs
MjIgMTgsMTggMTYsMjAgMjAsMjQgMTYsMjggMTgsMzAgMjIsMjYgMjYsMzAgMjgsMjggMjQsMjQgICIg
Y2xhc3M9IlJlZCIgLz4NCiAgPC9nPg0KPC9zdmc+Cw==
</value>
</data>
<data name="frmControl_Table.IconOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAPoBAAAC77u/
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
Y2U9InByZXNlcnZlIiBpZD0iU2VsZWN0VGFibGUiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcg
MCAwIDMyIDMyIj4NCiAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5CbHVle2ZpbGw6IzExNzdENzt9
Cjwvc3R5bGU+DQogIDxwYXRoIGQ9Ik0xMCwxMEgyVjRoOFYxMHogTTIwLDRoLTh2Nmg4VjR6IE0zMCw0
aC04djZoOFY0eiBNMTAsMTJIMnY2aDhWMTJ6IE0yMCwxMmgtOHY2aDhWMTJ6IE0zMCwxMmgtOHY2aDhW
MTJ6ICAgTTEwLDIwSDJ2Nmg4VjIweiBNMjAsMjBoLTh2Nmg4VjIweiBNMzAsMjBoLTh2Nmg4VjIweiIg
Y2xhc3M9IkJsdWUiIC8+DQo8L3N2Zz4L
</value>
</data>
</root>

View File

@@ -1,607 +0,0 @@
Imports System.Data
Imports System.Globalization
Imports DevExpress.Data
Imports DevExpress.Utils
Imports DevExpress.XtraEditors
Imports DevExpress.XtraExport.Helpers
Imports DevExpress.XtraGrid
Imports DevExpress.XtraGrid.Columns
Imports DevExpress.XtraGrid.Views.Base
Imports DevExpress.XtraGrid.Views.Grid
Imports DevExpress.XtraReports.ReportGeneration
Imports DigitalData.Modules.Logging
Imports DigitalData.Modules.EDMI.API
Public Class frmControl_Table
Private _gridControl As GridControl
Private _gridView As GridView
Private _controlRow As DataRow
Private _dataTable As DataTable
Private _docCurrency As String
Private _profilID As Integer
Private _controlID As Integer
Private _parentValidator As frmValidator
Private _controlCreator As ClassControlCreator
Private ReadOnly MyControlTableLogger As Logger
Private _gridDataLoader As ClassGridDataLoader
Private _isDirty As Boolean = False
' Öffentliche Property für Dirty-Status
Public ReadOnly Property IsDirty As Boolean
Get
Return _isDirty
End Get
End Property
Public Sub New(controlRow As DataRow, dataTable As DataTable, docCurrency As String, parentValidator As frmValidator, controlCreator As ClassControlCreator)
InitializeComponent()
MyControlTableLogger = LOGCONFIG.GetLogger()
_gridDataLoader = New ClassGridDataLoader(DatabaseFallback)
_controlRow = controlRow
_dataTable = dataTable
_docCurrency = docCurrency
_parentValidator = parentValidator
_controlCreator = controlCreator
If controlRow IsNot Nothing Then
_profilID = If(IsDBNull(controlRow("PROFIL_ID")), 0, CInt(controlRow("PROFIL_ID")))
_controlID = If(IsDBNull(controlRow("GUID")), 0, CInt(controlRow("GUID")))
Dim oTitle = $"TABLE.{controlRow("NAME")}.FORMCAPTION"
Dim oCaption = ClassAllgemeineFunktionen.GUI_LANGUAGE_INFO(oTitle)
If IsNothing(oCaption) Then
Me.Text = controlRow("CTRL_TEXT").ToString()
Else
Me.Text = oCaption
End If
End If
End Sub
Private Function GetXML_FormSizeName(pProfilID As Integer, pControlID As Integer)
Dim Filename As String = String.Format($"Formlayout_{pProfilID}-{pControlID}.xml")
Return System.IO.Path.Combine(USER_CONFIG_DIRECTORY, Filename)
End Function
Public Function GetGridControl() As GridControl
Return _gridControl
End Function
Private Sub frmControl_Table_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Try
MyControlTableLogger?.Debug("=== FORM LOAD START ===")
MyControlTableLogger?.Debug($"Form Size: {Me.Size}, Controls vor Grid: {Me.Controls.Count}")
' Grid über ControlCreator erstellen (wie im frmValidator)
CreateGridViaControlCreator()
' WICHTIG: Grid-Daten befüllen
FillGridWithData()
MyControlTableLogger?.Debug($"Nach CreateGrid - Controls im Form: {Me.Controls.Count}")
' GridControl-Status prüfen
If _gridControl IsNot Nothing Then
MyControlTableLogger?.Debug($"GridControl.Visible: {_gridControl.Visible}, Enabled: {_gridControl.Enabled}")
MyControlTableLogger?.Debug($"GridControl.Size: {_gridControl.Size}, Location: {_gridControl.Location}")
MyControlTableLogger?.Debug($"GridControl.Parent: {_gridControl.Parent?.Name}")
End If
' Formular-Größe wiederherstellen
RestoreFormSize()
MyControlTableLogger?.Debug("=== FORM LOAD END ===")
Catch ex As Exception
MyControlTableLogger?.Error($"Fehler beim Laden des Grids: {ex.Message}", ex)
XtraMessageBox.Show($"Fehler beim Laden des Grids: {ex.Message}", "Fehler", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub
''' <summary>
''' Befüllt das Grid mit Daten aus der Datenbank
''' </summary>
Private Sub FillGridWithData()
Try
If _gridControl Is Nothing OrElse _parentValidator Is Nothing Then
MyControlTableLogger?.Warn("FillGridWithData: GridControl oder ParentValidator ist Nothing")
Return
End If
MyControlTableLogger?.Debug("Starte FillGridWithData...")
' ✅ RICHTIG: DT_COLUMNS_GRID (ALLE Spalten mit SPALTENBREITE!)
Dim allColumnDefinitions As DataTable = _parentValidator.DT_COLUMNS_GRID
If allColumnDefinitions Is Nothing Then
MyControlTableLogger?.Warn("Keine Spalten-Definitionen verfügbar (DT_COLUMNS_GRID)")
Return
End If
Dim isIDBActive As Boolean = IDB_ACTIVE
Dim userLanguage As String = USER_LANGUAGE
' GridDataLoader mit der RICHTIGEN Tabelle aufrufen
Dim success As Boolean = _gridDataLoader.FillGridData(
_gridControl,
_controlRow,
allColumnDefinitions, ' ← ALLE Spalten, nicht nur SQL!
_parentValidator
)
If success Then
MyControlTableLogger?.Debug("Grid-Daten erfolgreich befüllt")
_gridControl.RefreshDataSource()
Else
MyControlTableLogger?.Warn("Grid-Daten konnten nicht befüllt werden")
End If
Catch ex As Exception
MyControlTableLogger?.Error($"Fehler in FillGridWithData: {ex.Message}", ex)
End Try
End Sub
Private Sub CreateGridViaControlCreator()
If _controlCreator Is Nothing OrElse _controlRow Is Nothing OrElse _dataTable Is Nothing Then
Throw New InvalidOperationException("ControlCreator, ControlRow oder DataTable fehlen.")
End If
Try
MyControlTableLogger?.Debug($"Starte Grid-Erstellung für Control-ID: {_controlID}, Profil-ID: {_profilID}")
' WICHTIG: PanelControl (DevExpress) statt Panel verwenden!
Dim containerPanel As New DevExpress.XtraEditors.PanelControl()
containerPanel.Dock = DockStyle.Fill
containerPanel.Name = "GridContainerPanel"
containerPanel.BorderStyle = DevExpress.XtraEditors.Controls.BorderStyles.NoBorder
Me.Controls.Add(containerPanel)
MyControlTableLogger?.Debug("Container PanelControl erstellt und zum Form hinzugefügt")
' Grid über ControlCreator erstellen - MIT PanelControl als Parent
_gridControl = _controlCreator.CreateExistingGridControl(_controlRow, _dataTable, False, _docCurrency, containerPanel)
If _gridControl Is Nothing Then
MyControlTableLogger?.Warn("CreateExistingGridControl hat Nothing zurückgegeben")
Throw New InvalidOperationException("Grid konnte nicht erstellt werden.")
End If
MyControlTableLogger?.Debug($"GridControl erstellt: {_gridControl.Name}")
MyControlTableLogger?.Debug($"GridControl.Parent nach Erstellung: {_gridControl.Parent?.Name}")
' GridControl sollte bereits vom ControlCreator hinzugefügt worden sein
' Falls nicht, explizit hinzufügen
If _gridControl.Parent Is Nothing Then
containerPanel.Controls.Add(_gridControl)
MyControlTableLogger?.Debug("GridControl manuell zu Container hinzugefügt")
End If
' GridControl konfigurieren
_gridControl.Dock = DockStyle.Fill
_gridControl.Visible = True
_gridControl.BringToFront()
MyControlTableLogger?.Debug($"GridControl Dock-Style gesetzt, Container.Controls.Count: {containerPanel.Controls.Count}")
' GridView-Referenz holen
If _gridControl.MainView IsNot Nothing AndAlso TypeOf _gridControl.MainView Is GridView Then
_gridView = DirectCast(_gridControl.MainView, GridView)
MyControlTableLogger?.Debug($"GridView gefunden: {_gridView.Name}, Columns: {_gridView.Columns.Count}")
' Events registrieren (wie im frmValidator)
AddHandler _gridView.CellValueChanged, AddressOf GridView_CellValueChanged
AddHandler _gridView.KeyDown, AddressOf GridView_KeyDown
AddHandler _gridView.RowDeleting, AddressOf GridView_RowDeleting
MyControlTableLogger?.Debug("GridView Events registriert")
Else
MyControlTableLogger?.Warn($"Kein GridView gefunden. MainView ist: {_gridControl.MainView?.GetType().Name}")
End If
If _dataTable IsNot Nothing Then
AddHandler _dataTable.RowDeleted, AddressOf GridDataSource_RowDeleted
MyControlTableLogger?.Debug($"DataTable Events registriert. Rows: {_dataTable.Rows.Count}")
End If
' Refresh erzwingen
_gridControl.Refresh()
containerPanel.Refresh()
Me.Refresh()
MyControlTableLogger?.Debug("CreateGridViaControlCreator abgeschlossen")
Catch ex As Exception
MyControlTableLogger?.Error($"Fehler in CreateGridViaControlCreator: {ex.Message}", ex)
MyControlTableLogger?.Error($"StackTrace: {ex.StackTrace}")
Throw
End Try
End Sub
Private Sub GridView_CellValueChanged(sender As Object, e As CellValueChangedEventArgs)
' Markiere als geändert
_isDirty = True
MyControlTableLogger?.Debug("Grid-Daten geändert - IsDirty = True")
' Änderungen an Parent-Validator weitergeben, falls notwendig
If _parentValidator IsNot Nothing Then
' Hier können Sie die gleiche Logik wie im frmValidator implementieren
End If
End Sub
Private Sub GridView_KeyDown(sender As Object, e As KeyEventArgs)
If e.KeyCode = Keys.Delete Then
If _gridView IsNot Nothing AndAlso _gridView.SelectedRowsCount > 0 Then
Dim result = XtraMessageBox.Show("Möchten Sie die ausgewählte(n) Zeile(n) wirklich löschen?",
"Löschen bestätigen",
MessageBoxButtons.YesNo,
MessageBoxIcon.Question)
If result = DialogResult.Yes Then
_gridView.DeleteSelectedRows()
End If
End If
End If
End Sub
Private Sub GridView_RowDeleting(sender As Object, e As RowDeletingEventArgs)
' Markiere als geändert beim Löschen
_isDirty = True
MyControlTableLogger?.Debug("Grid-Zeile gelöscht - IsDirty = True")
End Sub
Private Sub GridDataSource_RowDeleted(sender As Object, e As DataRowChangeEventArgs)
' Cleanup nach dem Löschen
CleanupDeletedRows()
End Sub
Private Sub CleanupDeletedRows()
If _dataTable Is Nothing Then Return
Try
Dim rowsToRemove As New List(Of DataRow)
For Each row As DataRow In _dataTable.Rows
If row.RowState = DataRowState.Deleted OrElse row.RowState = DataRowState.Detached Then
rowsToRemove.Add(row)
End If
Next
For Each row In rowsToRemove
Try
If row.RowState <> DataRowState.Detached Then
_dataTable.Rows.Remove(row)
End If
Catch
' Row bereits entfernt
End Try
Next
Catch ex As Exception
' Fehlerbehandlung
End Try
End Sub
Public Function GetGridData() As DataTable
Return _dataTable
End Function
Public Function ValidateGrid() As Boolean
If _gridView Is Nothing Then Return True
Try
_gridView.CloseEditor()
_gridView.UpdateCurrentRow()
Return _gridView.PostEditor()
Catch ex As Exception
Return False
End Try
End Function
Private Sub frmControl_Table_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing
Try
' Validierung vor dem Schließen
If Not ValidateGrid() Then
Dim result = XtraMessageBox.Show("Es gibt ungespeicherte Änderungen. Trotzdem schließen?",
"Warnung",
MessageBoxButtons.YesNo,
MessageBoxIcon.Warning)
If result = DialogResult.No Then
e.Cancel = True
Return
End If
End If
' Formular-Größe speichern
SaveFormSize()
' Events entfernen
If _gridView IsNot Nothing Then
RemoveHandler _gridView.CellValueChanged, AddressOf GridView_CellValueChanged
RemoveHandler _gridView.KeyDown, AddressOf GridView_KeyDown
RemoveHandler _gridView.RowDeleting, AddressOf GridView_RowDeleting
End If
If _dataTable IsNot Nothing Then
RemoveHandler _dataTable.RowDeleted, AddressOf GridDataSource_RowDeleted
End If
Catch ex As Exception
' Fehlerbehandlung beim Schließen
End Try
End Sub
Private Sub BarButtonItem1_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem1.ItemClick
Try
MyControlTableLogger?.Debug("Daten neu laden angefordert ...")
' Sprachabhängige Texte
Dim title, question, successMessage As String
Select Case USER_LANGUAGE
Case "de-DE"
title = "Daten neu laden"
question = "Möchten Sie die Daten wirklich neu laden?" & vbCrLf & vbCrLf &
"Alle nicht gespeicherten Änderungen gehen verloren!"
successMessage = "Daten wurden erfolgreich neu geladen."
Case "fr-FR"
title = "Recharger les données"
question = "Voulez-vous vraiment recharger les données?" & vbCrLf & vbCrLf &
"Toutes les modifications non enregistrées seront perdues!"
successMessage = "Les données ont été rechargées avec succès."
Case Else ' en-US, en-GB, etc.
title = "Reload Data"
question = "Do you really want to reload the data?" & vbCrLf & vbCrLf &
"All unsaved changes will be lost!"
successMessage = "Data has been successfully reloaded."
End Select
' Benutzer-Bestätigung
Dim result = XtraMessageBox.Show(
question,
title,
MessageBoxButtons.YesNo,
MessageBoxIcon.Question
)
If result = DialogResult.No Then
MyControlTableLogger?.Debug("Reload vom Benutzer abgebrochen")
Return
End If
' GridView zurücksetzen
If _gridView IsNot Nothing Then
_gridView.ClearColumnsFilter()
_gridView.ClearSorting()
_gridView.ClearGrouping()
MyControlTableLogger?.Debug("GridView Filter/Sortierung/Gruppierung gelöscht!")
End If
' Daten neu laden (Spaltenbreiten kommen aus DB!)
FillGridWithData()
' Erfolgs-Meldung
XtraMessageBox.Show(
successMessage,
title,
MessageBoxButtons.OK,
MessageBoxIcon.Information
)
MyControlTableLogger?.Debug("Daten erfolgreich neu geladen")
Catch ex As Exception
MyControlTableLogger?.Error($"Fehler beim Neuladen: {ex.Message}", ex)
' Fehler-Meldung (auch mehrsprachig)
Dim errorTitle As String = If(USER_LANGUAGE = "de-DE", "Fehler", "Error")
Dim errorPrefix As String = If(USER_LANGUAGE = "de-DE", "Fehler beim Neuladen der Daten:", "Error while reloading data:")
XtraMessageBox.Show(
$"{errorPrefix}{vbCrLf}{ex.Message}",
errorTitle,
MessageBoxButtons.OK,
MessageBoxIcon.Error
)
End Try
End Sub
Private Sub BarButtonItem2_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem2.ItemClick
Me.Close()
End Sub
''' <summary>
''' Speichert die aktuelle Formular-Größe und Position in einer XML-Datei
''' </summary>
Private Sub SaveFormSize()
Try
Dim xmlFile As String = GetXML_FormSizeName(_profilID, _controlID)
' XML-Dokument erstellen
Dim xmlDoc As New Xml.XmlDocument()
Dim rootNode As Xml.XmlElement = xmlDoc.CreateElement("FormSize")
xmlDoc.AppendChild(rootNode)
' Größe speichern
Dim widthNode As Xml.XmlElement = xmlDoc.CreateElement("Width")
widthNode.InnerText = Me.Width.ToString()
rootNode.AppendChild(widthNode)
Dim heightNode As Xml.XmlElement = xmlDoc.CreateElement("Height")
heightNode.InnerText = Me.Height.ToString()
rootNode.AppendChild(heightNode)
' Position speichern
Dim leftNode As Xml.XmlElement = xmlDoc.CreateElement("Left")
leftNode.InnerText = Me.Left.ToString()
rootNode.AppendChild(leftNode)
Dim topNode As Xml.XmlElement = xmlDoc.CreateElement("Top")
topNode.InnerText = Me.Top.ToString()
rootNode.AppendChild(topNode)
' WindowState speichern
Dim stateNode As Xml.XmlElement = xmlDoc.CreateElement("WindowState")
stateNode.InnerText = Me.WindowState.ToString()
rootNode.AppendChild(stateNode)
' Verzeichnis erstellen, falls nicht vorhanden
Dim directory As String = System.IO.Path.GetDirectoryName(xmlFile)
If Not String.IsNullOrEmpty(directory) AndAlso Not System.IO.Directory.Exists(directory) Then
System.IO.Directory.CreateDirectory(directory)
End If
' XML speichern
xmlDoc.Save(xmlFile)
MyControlTableLogger?.Debug($"Formular-Größe gespeichert: {xmlFile}")
Catch ex As Exception
MyControlTableLogger?.Error($"Fehler beim Speichern der Formular-Größe: {ex.Message}", ex)
End Try
End Sub
''' <summary>
''' Lädt die gespeicherte Formular-Größe und Position aus der XML-Datei
''' </summary>
Private Sub RestoreFormSize()
Try
Dim xmlFile As String = GetXML_FormSizeName(_profilID, _controlID)
If Not System.IO.File.Exists(xmlFile) Then
MyControlTableLogger?.Debug($"Keine gespeicherte Formular-Größe gefunden: {xmlFile}")
Return
End If
' XML laden
Dim xmlDoc As New Xml.XmlDocument()
xmlDoc.Load(xmlFile)
Dim rootNode As Xml.XmlNode = xmlDoc.SelectSingleNode("FormSize")
If rootNode Is Nothing Then Return
' Größe wiederherstellen
Dim widthNode As Xml.XmlNode = rootNode.SelectSingleNode("Width")
Dim heightNode As Xml.XmlNode = rootNode.SelectSingleNode("Height")
If widthNode IsNot Nothing AndAlso heightNode IsNot Nothing Then
Dim width As Integer = 0
Dim height As Integer = 0
If Integer.TryParse(widthNode.InnerText, width) AndAlso Integer.TryParse(heightNode.InnerText, height) Then
Me.Size = New Size(width, height)
End If
End If
' Position wiederherstellen
Dim leftNode As Xml.XmlNode = rootNode.SelectSingleNode("Left")
Dim topNode As Xml.XmlNode = rootNode.SelectSingleNode("Top")
If leftNode IsNot Nothing AndAlso topNode IsNot Nothing Then
Dim left As Integer = 0
Dim top As Integer = 0
If Integer.TryParse(leftNode.InnerText, left) AndAlso Integer.TryParse(topNode.InnerText, top) Then
Me.Location = New Point(left, top)
End If
End If
' WindowState wiederherstellen
Dim stateNode As Xml.XmlNode = rootNode.SelectSingleNode("WindowState")
If stateNode IsNot Nothing Then
Dim state As FormWindowState
If [Enum].TryParse(Of FormWindowState)(stateNode.InnerText, state) Then
Me.WindowState = state
End If
End If
MyControlTableLogger?.Debug($"Formular-Größe wiederhergestellt: {xmlFile}")
Catch ex As Exception
MyControlTableLogger?.Error($"Fehler beim Wiederherstellen der Formular-Größe: {ex.Message}", ex)
End Try
End Sub
Private Sub BarButtonItem3_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem3.ItemClick
Try
' Sprachabhängige Texte
Dim title, question, successMessage As String
Select Case USER_LANGUAGE
Case "de-DE"
title = "Layout löschen"
question = "Möchten Sie das gespeicherte Layout wirklich löschen?" & vbCrLf & vbCrLf &
"Das Formular wird auf die Standardgröße zurückgesetzt und neu geladen."
successMessage = "Layout wurde erfolgreich gelöscht." & vbCrLf & "Das Formular wird neu geladen..."
Case "fr-FR"
title = "Supprimer la disposition"
question = "Voulez-vous vraiment supprimer la disposition enregistrée?" & vbCrLf & vbCrLf &
"Le formulaire sera réinitialisé à la taille par défaut et rechargé."
successMessage = "La disposition a été supprimée avec succès." & vbCrLf & "Le formulaire va être rechargé..."
Case Else ' en-US, en-GB, etc.
title = "Delete Layout"
question = "Do you really want to delete the saved layout?" & vbCrLf & vbCrLf &
"The form will be reset to the default size and reloaded."
successMessage = "Layout has been successfully deleted." & vbCrLf & "The form will be reloaded..."
End Select
' Benutzer-Bestätigung
Dim result = XtraMessageBox.Show(
question,
title,
MessageBoxButtons.YesNo,
MessageBoxIcon.Question
)
If result = DialogResult.No Then
MyControlTableLogger?.Debug("Layout-Löschung vom Benutzer abgebrochen")
Return
End If
' Layout-Datei löschen
Dim xmlFile As String = GetXML_FormSizeName(_profilID, _controlID)
Dim layoutDeleted As Boolean = False
If System.IO.File.Exists(xmlFile) Then
System.IO.File.Delete(xmlFile)
layoutDeleted = True
MyControlTableLogger?.Debug($"Layout-Datei gelöscht: {xmlFile}")
Else
MyControlTableLogger?.Debug($"Keine Layout-Datei zum Löschen gefunden: {xmlFile}")
End If
' Erfolgs-Meldung
XtraMessageBox.Show(
successMessage,
title,
MessageBoxButtons.OK,
MessageBoxIcon.Information
)
' Formular neu laden
If layoutDeleted Then
MyControlTableLogger?.Debug("Lade Formular nach Layout-Löschung neu...")
' GridView zurücksetzen
If _gridView IsNot Nothing Then
_gridView.ClearColumnsFilter()
_gridView.ClearSorting()
_gridView.ClearGrouping()
MyControlTableLogger?.Debug("GridView Filter/Sortierung/Gruppierung zurückgesetzt")
End If
' Daten neu laden
FillGridWithData()
' Formular auf Standardgröße zurücksetzen
Me.WindowState = FormWindowState.Normal
Me.StartPosition = FormStartPosition.CenterParent
MyControlTableLogger?.Debug("Formular erfolgreich neu geladen")
End If
Catch ex As Exception
MyControlTableLogger?.Error($"Fehler beim Löschen des Layouts: {ex.Message}", ex)
' Fehler-Meldung (mehrsprachig)
Dim errorTitle As String = If(USER_LANGUAGE = "de-DE", "Fehler", If(USER_LANGUAGE = "fr-FR", "Erreur", "Error"))
Dim errorPrefix As String = If(USER_LANGUAGE = "de-DE",
"Fehler beim Löschen des Layouts:",
If(USER_LANGUAGE = "fr-FR",
"Erreur lors de la suppression de la disposition:",
"Error while deleting layout:"))
XtraMessageBox.Show(
$"{errorPrefix}{vbCrLf}{ex.Message}",
errorTitle,
MessageBoxButtons.OK,
MessageBoxIcon.Error
)
End Try
End Sub
End Class

View File

@@ -25,8 +25,6 @@ Partial Class frmFormDesigner
Me.components = New System.ComponentModel.Container() Me.components = New System.ComponentModel.Container()
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmFormDesigner)) Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmFormDesigner))
Me.SplitContainerDesigner = New System.Windows.Forms.SplitContainer() Me.SplitContainerDesigner = New System.Windows.Forms.SplitContainer()
Me.TBPM_CONTROL_TABLEBindingSource = New System.Windows.Forms.BindingSource(Me.components)
Me.DD_DMSLiteDataSet = New taskFLOW.DD_DMSLiteDataSet()
Me.pnldesigner = New DigitalData.Controls.SnapPanel.ClassSnapPanel() Me.pnldesigner = New DigitalData.Controls.SnapPanel.ClassSnapPanel()
Me.Panel1 = New System.Windows.Forms.Panel() Me.Panel1 = New System.Windows.Forms.Panel()
Me.pgControlsNew = New DevExpress.XtraVerticalGrid.PropertyGridControl() Me.pgControlsNew = New DevExpress.XtraVerticalGrid.PropertyGridControl()
@@ -60,6 +58,8 @@ Partial Class frmFormDesigner
Me.RibPGCtrlWidth = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() Me.RibPGCtrlWidth = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibPGCtrlheight = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() Me.RibPGCtrlheight = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibbonStatusBar1 = New DevExpress.XtraBars.Ribbon.RibbonStatusBar() Me.RibbonStatusBar1 = New DevExpress.XtraBars.Ribbon.RibbonStatusBar()
Me.TBPM_CONTROL_TABLEBindingSource = New System.Windows.Forms.BindingSource(Me.components)
Me.DD_DMSLiteDataSet = New taskFLOW.DD_DMSLiteDataSet()
Me.TBPM_PROFILE_CONTROLSBindingSource = New System.Windows.Forms.BindingSource(Me.components) Me.TBPM_PROFILE_CONTROLSBindingSource = New System.Windows.Forms.BindingSource(Me.components)
Me.TBDD_CONNECTIONBindingSource = New System.Windows.Forms.BindingSource(Me.components) Me.TBDD_CONNECTIONBindingSource = New System.Windows.Forms.BindingSource(Me.components)
Me.ToolTip1 = New System.Windows.Forms.ToolTip(Me.components) Me.ToolTip1 = New System.Windows.Forms.ToolTip(Me.components)
@@ -79,11 +79,11 @@ Partial Class frmFormDesigner
Me.SplitContainerDesigner.Panel1.SuspendLayout() Me.SplitContainerDesigner.Panel1.SuspendLayout()
Me.SplitContainerDesigner.Panel2.SuspendLayout() Me.SplitContainerDesigner.Panel2.SuspendLayout()
Me.SplitContainerDesigner.SuspendLayout() Me.SplitContainerDesigner.SuspendLayout()
CType(Me.TBPM_CONTROL_TABLEBindingSource, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.DD_DMSLiteDataSet, System.ComponentModel.ISupportInitialize).BeginInit()
Me.Panel1.SuspendLayout() Me.Panel1.SuspendLayout()
CType(Me.pgControlsNew, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.pgControlsNew, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.RibbonControl1, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.RibbonControl1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.TBPM_CONTROL_TABLEBindingSource, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.DD_DMSLiteDataSet, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.TBPM_PROFILE_CONTROLSBindingSource, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.TBPM_PROFILE_CONTROLSBindingSource, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.TBDD_CONNECTIONBindingSource, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.TBDD_CONNECTIONBindingSource, System.ComponentModel.ISupportInitialize).BeginInit()
Me.GridControlContextMenu.SuspendLayout() Me.GridControlContextMenu.SuspendLayout()
@@ -104,16 +104,6 @@ Partial Class frmFormDesigner
' '
Me.SplitContainerDesigner.Panel2.Controls.Add(Me.Panel1) Me.SplitContainerDesigner.Panel2.Controls.Add(Me.Panel1)
' '
'TBPM_CONTROL_TABLEBindingSource
'
Me.TBPM_CONTROL_TABLEBindingSource.DataMember = "TBPM_CONTROL_TABLE"
Me.TBPM_CONTROL_TABLEBindingSource.DataSource = Me.DD_DMSLiteDataSet
'
'DD_DMSLiteDataSet
'
Me.DD_DMSLiteDataSet.DataSetName = "DD_DMSLiteDataSet"
Me.DD_DMSLiteDataSet.SchemaSerializationMode = System.Data.SchemaSerializationMode.IncludeSchema
'
'pnldesigner 'pnldesigner
' '
resources.ApplyResources(Me.pnldesigner, "pnldesigner") resources.ApplyResources(Me.pnldesigner, "pnldesigner")
@@ -365,6 +355,16 @@ Partial Class frmFormDesigner
Me.RibbonStatusBar1.Name = "RibbonStatusBar1" Me.RibbonStatusBar1.Name = "RibbonStatusBar1"
Me.RibbonStatusBar1.Ribbon = Me.RibbonControl1 Me.RibbonStatusBar1.Ribbon = Me.RibbonControl1
' '
'TBPM_CONTROL_TABLEBindingSource
'
Me.TBPM_CONTROL_TABLEBindingSource.DataMember = "TBPM_CONTROL_TABLE"
Me.TBPM_CONTROL_TABLEBindingSource.DataSource = Me.DD_DMSLiteDataSet
'
'DD_DMSLiteDataSet
'
Me.DD_DMSLiteDataSet.DataSetName = "DD_DMSLiteDataSet"
Me.DD_DMSLiteDataSet.SchemaSerializationMode = System.Data.SchemaSerializationMode.IncludeSchema
'
'TBPM_PROFILE_CONTROLSBindingSource 'TBPM_PROFILE_CONTROLSBindingSource
' '
Me.TBPM_PROFILE_CONTROLSBindingSource.DataMember = "TBPM_PROFILE_CONTROLS" Me.TBPM_PROFILE_CONTROLSBindingSource.DataMember = "TBPM_PROFILE_CONTROLS"
@@ -464,11 +464,11 @@ Partial Class frmFormDesigner
Me.SplitContainerDesigner.Panel2.ResumeLayout(False) Me.SplitContainerDesigner.Panel2.ResumeLayout(False)
CType(Me.SplitContainerDesigner, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.SplitContainerDesigner, System.ComponentModel.ISupportInitialize).EndInit()
Me.SplitContainerDesigner.ResumeLayout(False) Me.SplitContainerDesigner.ResumeLayout(False)
CType(Me.TBPM_CONTROL_TABLEBindingSource, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.DD_DMSLiteDataSet, System.ComponentModel.ISupportInitialize).EndInit()
Me.Panel1.ResumeLayout(False) Me.Panel1.ResumeLayout(False)
CType(Me.pgControlsNew, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.pgControlsNew, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.RibbonControl1, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.RibbonControl1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.TBPM_CONTROL_TABLEBindingSource, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.DD_DMSLiteDataSet, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.TBPM_PROFILE_CONTROLSBindingSource, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.TBPM_PROFILE_CONTROLSBindingSource, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.TBDD_CONNECTIONBindingSource, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.TBDD_CONNECTIONBindingSource, System.ComponentModel.ISupportInitialize).EndInit()
Me.GridControlContextMenu.ResumeLayout(False) Me.GridControlContextMenu.ResumeLayout(False)

View File

@@ -1071,18 +1071,6 @@
<data name="$this.Text" xml:space="preserve"> <data name="$this.Text" xml:space="preserve">
<value>Formular Designer</value> <value>Formular Designer</value>
</data> </data>
<data name="&gt;&gt;TBPM_CONTROL_TABLEBindingSource.Name" xml:space="preserve">
<value>TBPM_CONTROL_TABLEBindingSource</value>
</data>
<data name="&gt;&gt;TBPM_CONTROL_TABLEBindingSource.Type" xml:space="preserve">
<value>System.Windows.Forms.BindingSource, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;DD_DMSLiteDataSet.Name" xml:space="preserve">
<value>DD_DMSLiteDataSet</value>
</data>
<data name="&gt;&gt;DD_DMSLiteDataSet.Type" xml:space="preserve">
<value>taskFLOW.DD_DMSLiteDataSet, DD_DMSLiteDataSet.Designer.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;bbtnItemFinishSQL.Name" xml:space="preserve"> <data name="&gt;&gt;bbtnItemFinishSQL.Name" xml:space="preserve">
<value>bbtnItemFinishSQL</value> <value>bbtnItemFinishSQL</value>
</data> </data>
@@ -1251,6 +1239,18 @@
<data name="&gt;&gt;RibPGCtrlheight.Type" xml:space="preserve"> <data name="&gt;&gt;RibPGCtrlheight.Type" xml:space="preserve">
<value>DevExpress.XtraBars.Ribbon.RibbonPageGroup, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value> <value>DevExpress.XtraBars.Ribbon.RibbonPageGroup, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data> </data>
<data name="&gt;&gt;TBPM_CONTROL_TABLEBindingSource.Name" xml:space="preserve">
<value>TBPM_CONTROL_TABLEBindingSource</value>
</data>
<data name="&gt;&gt;TBPM_CONTROL_TABLEBindingSource.Type" xml:space="preserve">
<value>System.Windows.Forms.BindingSource, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;DD_DMSLiteDataSet.Name" xml:space="preserve">
<value>DD_DMSLiteDataSet</value>
</data>
<data name="&gt;&gt;DD_DMSLiteDataSet.Type" xml:space="preserve">
<value>taskFLOW.DD_DMSLiteDataSet, DD_DMSLiteDataSet.Designer.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;TBPM_PROFILE_CONTROLSBindingSource.Name" xml:space="preserve"> <data name="&gt;&gt;TBPM_PROFILE_CONTROLSBindingSource.Name" xml:space="preserve">
<value>TBPM_PROFILE_CONTROLSBindingSource</value> <value>TBPM_PROFILE_CONTROLSBindingSource</value>
</data> </data>

View File

@@ -298,7 +298,7 @@ Public Class frmFormDesigner
Dim oDTColumnsPerDevExGrid As DataTable = DatabaseFallback.GetDatatableECM(oSQL) ', "FDesignLaodControls") Dim oDTColumnsPerDevExGrid As DataTable = DatabaseFallback.GetDatatableECM(oSQL) ', "FDesignLaodControls")
Dim table = ControlCreator.CreateExistingGridControl(row, oDTColumnsPerDevExGrid, True, "EUR", Panel1) Dim table = ControlCreator.CreateExistingGridControl(row, oDTColumnsPerDevExGrid, True, "EUR")
AddHandler table.MouseClick, AddressOf gridControl_MouseClick AddHandler table.MouseClick, AddressOf gridControl_MouseClick
' AddHandler table.ColumnHeaderMouseClick, AddressOf table_ColumnHeaderMouseClick ' AddHandler table.ColumnHeaderMouseClick, AddressOf table_ColumnHeaderMouseClick
@@ -624,6 +624,7 @@ Public Class frmFormDesigner
obj.Index = ClassAllgemeineFunktionen.NotNullString(row.Item("INDEX_NAME"), "") obj.Index = ClassAllgemeineFunktionen.NotNullString(row.Item("INDEX_NAME"), "")
obj.DefaultValue = ClassAllgemeineFunktionen.NotNullString(row.Item("DEFAULT_VALUE"), Nothing) obj.DefaultValue = ClassAllgemeineFunktionen.NotNullString(row.Item("DEFAULT_VALUE"), Nothing)
obj.TextAlignment = ClassAllgemeineFunktionen.NotNullString(row.Item("TEXT_ALIGNMENT"), "Near") obj.TextAlignment = ClassAllgemeineFunktionen.NotNullString(row.Item("TEXT_ALIGNMENT"), "Near")
' Default value for ConnectionID
Dim oConnectionId = ClassAllgemeineFunktionen.NotNullString(row.Item("CONNECTION_ID"), 0) Dim oConnectionId = ClassAllgemeineFunktionen.NotNullString(row.Item("CONNECTION_ID"), 0)
obj.SQLCommand = New SQLValue(row.Item("SQL_UEBERPRUEFUNG")) obj.SQLCommand = New SQLValue(row.Item("SQL_UEBERPRUEFUNG"))
Return obj Return obj
@@ -745,7 +746,6 @@ Public Class frmFormDesigner
oGridProps.AllowAddNewValues = StrToBool(oRow.Item("VKT_ADD_ITEM")) oGridProps.AllowAddNewValues = StrToBool(oRow.Item("VKT_ADD_ITEM"))
oGridProps.Enable_SQL = New SQLValue(ClassAllgemeineFunktionen.NotNullString(oRow.Item("SQL_ENABLE"), "")) oGridProps.Enable_SQL = New SQLValue(ClassAllgemeineFunktionen.NotNullString(oRow.Item("SQL_ENABLE"), ""))
oGridProps.Enable_SQL_OnLoad = New SQLValue(ClassAllgemeineFunktionen.NotNullString(oRow.Item("SQL_ENABLE_ON_LOAD"), "")) oGridProps.Enable_SQL_OnLoad = New SQLValue(ClassAllgemeineFunktionen.NotNullString(oRow.Item("SQL_ENABLE_ON_LOAD"), ""))
oGridProps.DISPLAY_SEP_FORM = StrToBool(oRow.Item("DISPLAY_IN_SEPERATE_FORM")) ' Hier hinzufügen
props = oGridProps props = oGridProps
ElseIf TypeOf sender Is Button Then ElseIf TypeOf sender Is Button Then
Dim oButton As Button = sender Dim oButton As Button = sender
@@ -908,8 +908,6 @@ Public Class frmFormDesigner
Case "Active" Case "Active"
UpdateSingleValue("CONTROL_ACTIVE", IIf(newValue = True, 1, 0)) UpdateSingleValue("CONTROL_ACTIVE", IIf(newValue = True, 1, 0))
Case "DISPLAY_SEP_FORM"
UpdateSingleValue("DISPLAY_IN_SEPERATE_FORM", IIf(newValue = True, 1, 0))
Case "CtrlImage" Case "CtrlImage"
Dim myPath As ImageValue = newValue Dim myPath As ImageValue = newValue
UpdateImage(myPath.Value) UpdateImage(myPath.Value)
@@ -1023,12 +1021,12 @@ Public Class frmFormDesigner
Dim oSQL = $"SELECT SQL_BTN_FINISH FROM TBPM_PROFILE WHERE GUID = {ProfileId}" Dim oSQL = $"SELECT SQL_BTN_FINISH FROM TBPM_PROFILE WHERE GUID = {ProfileId}"
Dim oldSQL = DatabaseFallback.GetScalarValueECM(oSQL) Dim oldSQL = DatabaseFallback.GetScalarValueECM(oSQL)
Dim oForm As New frmSQLEditor(LOGCONFIG, DatabaseECM) With { Dim oForm As New frmSQLEditor(LOGCONFIG, DatabaseECM) With {
.SQLCommand = oldSQL, .SQLCommand = oldSQL,
.SQLConnection = 1, .SQLConnection = 1,
.PlaceholdersManualPrefix = "CTRL", .PlaceholdersManualPrefix = "CTRL",
.PlaceholdersManualTitle = "Controls", .PlaceholdersManualTitle = "Controls",
.PlaceholdersManual = CURRENT_CONTROL_NAME_LIST.ToDictionary(Function(name) name, Function(name) name) .PlaceholdersManual = CURRENT_CONTROL_NAME_LIST.ToDictionary(Function(name) name, Function(name) name)
} }
If IDB_ACTIVE = False Then If IDB_ACTIVE = False Then
oForm.ATTRIBUTE_STORE = "WM" oForm.ATTRIBUTE_STORE = "WM"
oForm.PlaceholdersWindream = MVSource_AllIndicies oForm.PlaceholdersWindream = MVSource_AllIndicies
@@ -1155,7 +1153,7 @@ Public Class frmFormDesigner
Dim label = ControlCreator.CreateNewLabel(cursorPosition) Dim label = ControlCreator.CreateNewLabel(cursorPosition)
SetMovementHandlers(label) SetMovementHandlers(label)
TBPM_PROFILE_CONTROLSTableAdapter.cmdInsertAnlage(ProfileId, label.Name, "LBL", label.Text, label.Location.X, label.Location.Y, USER_USERNAME, label.Size.Height, label.Size.Width, label.TextAlign, "") TBPM_PROFILE_CONTROLSTableAdapter.cmdInsertAnlage(ProfileId, label.Name, "LBL", label.Text, label.Location.X, label.Location.Y, USER_USERNAME, label.Size.Height, label.Size.Width, label.TextAlign)
CHANGES_FORM_DESIGN = True CHANGES_FORM_DESIGN = True
CurrentControl = label CurrentControl = label
CurrentControl.Tag = New ClassControlCreator.ControlMetadata() With { CurrentControl.Tag = New ClassControlCreator.ControlMetadata() With {
@@ -1169,7 +1167,7 @@ Public Class frmFormDesigner
Dim txt = ControlCreator.CreateNewTextBox(cursorPosition) Dim txt = ControlCreator.CreateNewTextBox(cursorPosition)
SetMovementHandlers(txt) SetMovementHandlers(txt)
TBPM_PROFILE_CONTROLSTableAdapter.cmdInsertAnlage(ProfileId, txt.Name, "TXT", txt.Name, txt.Location.X, txt.Location.Y, USER_USERNAME, txt.Size.Height, txt.Size.Width, txt.Properties.Appearance.TextOptions.HAlignment, "0") TBPM_PROFILE_CONTROLSTableAdapter.cmdInsertAnlage(ProfileId, txt.Name, "TXT", txt.Name, txt.Location.X, txt.Location.Y, USER_USERNAME, txt.Size.Height, txt.Size.Width, txt.Properties.Appearance.TextOptions.HAlignment)
CHANGES_FORM_DESIGN = True CHANGES_FORM_DESIGN = True
CurrentControl = txt CurrentControl = txt
CurrentControl.Tag = New ClassControlCreator.ControlMetadata() With { CurrentControl.Tag = New ClassControlCreator.ControlMetadata() With {
@@ -1183,7 +1181,7 @@ Public Class frmFormDesigner
Dim cmb = ControlCreator.CreateNewCombobox(cursorPosition) Dim cmb = ControlCreator.CreateNewCombobox(cursorPosition)
SetMovementHandlers(cmb) SetMovementHandlers(cmb)
TBPM_PROFILE_CONTROLSTableAdapter.cmdInsertAnlage(ProfileId, cmb.Name, "CMB", cmb.Name, cmb.Location.X, cmb.Location.Y, USER_USERNAME, cmb.Size.Height, cmb.Size.Width, "NONE", "0") TBPM_PROFILE_CONTROLSTableAdapter.cmdInsertAnlage(ProfileId, cmb.Name, "CMB", cmb.Name, cmb.Location.X, cmb.Location.Y, USER_USERNAME, cmb.Size.Height, cmb.Size.Width, "NONE")
CHANGES_FORM_DESIGN = True CHANGES_FORM_DESIGN = True
CurrentControl = cmb CurrentControl = cmb
CurrentControl.Tag = New ClassControlCreator.ControlMetadata() With { CurrentControl.Tag = New ClassControlCreator.ControlMetadata() With {
@@ -1197,7 +1195,7 @@ Public Class frmFormDesigner
Dim dtp = ControlCreator.CreateNewDatetimepicker(cursorPosition) Dim dtp = ControlCreator.CreateNewDatetimepicker(cursorPosition)
SetMovementHandlers(dtp) SetMovementHandlers(dtp)
TBPM_PROFILE_CONTROLSTableAdapter.cmdInsertAnlage(ProfileId, dtp.Name, "DTP", dtp.Name, dtp.Location.X, dtp.Location.Y, USER_USERNAME, dtp.Size.Height, dtp.Size.Width, "NONE", "0") TBPM_PROFILE_CONTROLSTableAdapter.cmdInsertAnlage(ProfileId, dtp.Name, "DTP", dtp.Name, dtp.Location.X, dtp.Location.Y, USER_USERNAME, dtp.Size.Height, dtp.Size.Width, "NONE")
CHANGES_FORM_DESIGN = True CHANGES_FORM_DESIGN = True
CurrentControl = dtp CurrentControl = dtp
CurrentControl.Tag = New ClassControlCreator.ControlMetadata() With { CurrentControl.Tag = New ClassControlCreator.ControlMetadata() With {
@@ -1211,7 +1209,7 @@ Public Class frmFormDesigner
Dim chk = ControlCreator.CreateNewCheckbox(cursorPosition) Dim chk = ControlCreator.CreateNewCheckbox(cursorPosition)
SetMovementHandlers(chk) SetMovementHandlers(chk)
TBPM_PROFILE_CONTROLSTableAdapter.cmdInsertAnlage(ProfileId, chk.Name, "CHK", chk.Text, chk.Location.X, chk.Location.Y, USER_USERNAME, chk.Size.Height, chk.Size.Width, "NONE", "0") TBPM_PROFILE_CONTROLSTableAdapter.cmdInsertAnlage(ProfileId, chk.Name, "CHK", chk.Text, chk.Location.X, chk.Location.Y, USER_USERNAME, chk.Size.Height, chk.Size.Width, "NONE")
CHANGES_FORM_DESIGN = True CHANGES_FORM_DESIGN = True
CurrentControl = chk CurrentControl = chk
CurrentControl.Tag = New ClassControlCreator.ControlMetadata() With { CurrentControl.Tag = New ClassControlCreator.ControlMetadata() With {
@@ -1226,7 +1224,7 @@ Public Class frmFormDesigner
SetMovementHandlers(lc) SetMovementHandlers(lc)
TBPM_PROFILE_CONTROLSTableAdapter.cmdInsertAnlage(ProfileId, lc.Name, "LOOKUP", lc.Name, lc.Location.X, lc.Location.Y, USER_USERNAME, lc.Size.Height, lc.Size.Width, lc.Properties.Appearance.TextOptions.HAlignment, "0") TBPM_PROFILE_CONTROLSTableAdapter.cmdInsertAnlage(ProfileId, lc.Name, "LOOKUP", lc.Name, lc.Location.X, lc.Location.Y, USER_USERNAME, lc.Size.Height, lc.Size.Width, lc.Properties.Appearance.TextOptions.HAlignment)
CHANGES_FORM_DESIGN = True CHANGES_FORM_DESIGN = True
CurrentControl = lc CurrentControl = lc
CurrentControl.Tag = New ClassControlCreator.ControlMetadata() With { CurrentControl.Tag = New ClassControlCreator.ControlMetadata() With {
@@ -1242,7 +1240,7 @@ Public Class frmFormDesigner
SetMovementHandlers(tb) SetMovementHandlers(tb)
AddHandler tb.MouseClick, AddressOf gridControl_MouseClick AddHandler tb.MouseClick, AddressOf gridControl_MouseClick
TBPM_PROFILE_CONTROLSTableAdapter.cmdInsertAnlage(ProfileId, tb.Name, "TABLE", tb.Name, tb.Location.X, tb.Location.Y, USER_USERNAME, tb.Size.Height, tb.Size.Width, "NONE", "") TBPM_PROFILE_CONTROLSTableAdapter.cmdInsertAnlage(ProfileId, tb.Name, "TABLE", tb.Name, tb.Location.X, tb.Location.Y, USER_USERNAME, tb.Size.Height, tb.Size.Width, "NONE")
CHANGES_FORM_DESIGN = True CHANGES_FORM_DESIGN = True
Dim oControlId = GetLastID() Dim oControlId = GetLastID()
@@ -1261,7 +1259,7 @@ Public Class frmFormDesigner
SetMovementHandlers(line) SetMovementHandlers(line)
TBPM_PROFILE_CONTROLSTableAdapter.cmdInsertAnlage(ProfileId, line.Name, "LINE", line.Name, line.Location.X, line.Location.Y, USER_USERNAME, line.Size.Height, line.Size.Width, "NONE", "") TBPM_PROFILE_CONTROLSTableAdapter.cmdInsertAnlage(ProfileId, line.Name, "LINE", line.Name, line.Location.X, line.Location.Y, USER_USERNAME, line.Size.Height, line.Size.Width, "NONE")
CHANGES_FORM_DESIGN = True CHANGES_FORM_DESIGN = True
CurrentControl = line CurrentControl = line
CurrentControl.Tag = New ClassControlCreator.ControlMetadata() With { CurrentControl.Tag = New ClassControlCreator.ControlMetadata() With {
@@ -1276,7 +1274,7 @@ Public Class frmFormDesigner
SetMovementHandlers(oButton) SetMovementHandlers(oButton)
TBPM_PROFILE_CONTROLSTableAdapter.cmdInsertAnlage(ProfileId, oButton.Name, "BUTTON", oButton.Name, oButton.Location.X, oButton.Location.Y, USER_USERNAME, oButton.Size.Height, oButton.Size.Width, "NONE", "") TBPM_PROFILE_CONTROLSTableAdapter.cmdInsertAnlage(ProfileId, oButton.Name, "BUTTON", oButton.Name, oButton.Location.X, oButton.Location.Y, USER_USERNAME, oButton.Size.Height, oButton.Size.Width, "NONE")
CHANGES_FORM_DESIGN = True CHANGES_FORM_DESIGN = True
CurrentControl = oButton CurrentControl = oButton
CurrentControl.Tag = New ClassControlCreator.ControlMetadata() With { CurrentControl.Tag = New ClassControlCreator.ControlMetadata() With {

File diff suppressed because it is too large Load Diff

View File

@@ -195,60 +195,60 @@
<data name="BarButtonItem4.ImageOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="BarButtonItem4.ImageOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAB10RVh0VGl0 iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAB10RVh0VGl0
bGUARXhwb3J0O1hscztFeHBvcnRUb1hscztMoJn+AAACZklEQVQ4T2WTWWsTYRSGszdtg1r/Rk3Tmv4S bGUARXhwb3J0O1hscztFeHBvcnRUb1hscztMoJn+AAACeElEQVQ4T2WTW2sTQRiGJ8lme0Stf6NNDza/
RWhUEAQFJVqLF7FNmqSpXdKqRazQDW/0pimBghKsuMRWaNJ7b70UsWaZJTOTmSSv5/tmGqY68CQzgfc5 RBFMFQRBQYnW4kUPSZu0NT1rECv0hDd605RCQQlW1NZWaNN7b70UsTbZbPaUmd28MrObsNaFh10W3ueb
3zln4qDLSbgIN+Gx8Nrw/QP7zQnAwWCXK7tZKi5vHYGxtFVGdrOMJWJx44goYWG9jIW1Q8yvlZBZLe4z d2eWEEIChJAgISRECJE8wj7kc/B3AQCEw6/g/Prx/uLGCTgLGwXMrxewsF7A3NoJ5taOMbtawOzKEWZW
iV3gyW6U0aEnDn2YdDjtE9ommRffWMpvF3jn1g95SNVaUIiGaiIrBkdSWhAJvdVGamWfpfrsAh+zMoGs jjG1vH/AJX6BNL9WQA1wqdWpCZw6jsvUy2881ewXhDOrRyJkWjYMy4ZuumgGE1QMG6phg9oOUtkDnmr1
moGTEA/KLQgNA3WiabQRf/KFpfpPCVIrX/lxJUWH1NCpmtENMWqyjiqhNdv4cPDjP0HPFFlZnwIFJ3JX C2Ru5QLNdAP1kAhqNso6g6IzVJmDxNIeT7X9I0hlv4rlVgyKik6hGqwR4pQ0iqJGYVUdfDz88Z+gaWxp
MDrfg9E5hg/hxz5cnGV4MTLjxXCaSHkQSroRSrjzTOCPLX7kgpps8HBTNxAmgarpCFO4oerd8PO9JOqi T/QsGwxDueuIzjQhmuHI6H8q48o0J4y+yTB602H0piT0TITQkwxtc0Hz8NwnIShpTISrlKE/0wTTouif
hpqoIphw8SP0TszuoUUTrko6CXzQaJCsskIzGcn4eFvDaQ+vXJc0DE27MUTh4JQliKYKXHBcb/LKLz/P lqGbtBF+sTsBRbVQUk1EkkGxhJah6V3YTg3FCkV0RoZl2WKyYTL0TcmiVm9aEpOVioXu8RC6k0FExjxB
8PDqpzRV9kBsNLvHXnmfRFVQEIy7SeDkgr47ibcwWh38rmu2yl7ILEiVRVkze7YqPy1M47iq4MKkKei/ PJUXglOlKia/+jIpwsuf0+iblKDq1caysx8mUCwbiCRCiIwFhKD1fvIdmF3Db8XyTQ5D48G0BFWz3M7e
PbkLg1b0q6rxgSm0DdazRIIQVRasnp9RsFJTeXj5XRyDj0xB4GZsFzoJflZURN9ctgZm9swqd3uOu6gq 5Gf5cZwWDXSNuoK2e6M7YMzBr6IlPphhuJ0rehU9KQllr/Pz/DjOSqYIL75PoHPEFbTfGd4BZQ5+npmI
w0lhBwZjDr6FwI2Hef6SiLRzgQZWp53z3Ys6KoKOP4JG89F4i/nCd1Z1wP4e+CN3XxevP9jB1fEdsO9r v73mfTC3M5/c6JwIomuUE0DnCEHnMBG70H77ybY4JKrO959C0ai79yrFWZniT9nCqWKJitv573xqh/8c
4zlE7ufoeRuRe3QfNRmLbuPSrVcHlDn1IrG/ci9xhjhLnLMYsHHegt0HCLcpgOMvLlVmbi0MtN8AAAAA NMcevNm/9XgLA4Nb4PebgznEHuUwMLiJ2MMcYnGXG/FNXL37+vD8QeK/cgsh5AIh5CIh5JJHh4/LHvy5
SUVORK5CYII= nf/6dcFfLlVmbk9WkuUAAAAASUVORK5CYII=
</value> </value>
</data> </data>
<data name="BarButtonItem4.ImageOptions.LargeImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="BarButtonItem4.ImageOptions.LargeImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
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
</value> </value>
</data> </data>
<data name="BarButtonItem5.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="BarButtonItem5.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
@@ -290,159 +290,150 @@
<metadata name="TableAdapterManager.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="TableAdapterManager.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>905, 17</value> <value>905, 17</value>
</metadata> </metadata>
<metadata name="VWPM_CHART_TOP5BindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>1078, 17</value>
</metadata>
<data name="colKRED_NAME.ImageOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="colKRED_NAME.ImageOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
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
kmkAAAAASUVORK5CYII=
</value> </value>
</data> </data>
<data name="colANZ_BELEG.ImageOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="colANZ_BELEG.ImageOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
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
</value> </value>
</data> </data>
<data name="colNetto.ImageOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="colNetto.ImageOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
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
</value> </value>
</data> </data>
<data name="colSkonto.ImageOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="colSkonto.ImageOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAhdEVYdFRpdGxlAEV1cm87RG9sbGFyO01vbmV5O0N1 dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAhdEVYdFRpdGxlAEV1cm87RG9sbGFyO01vbmV5O0N1
cnJlbmN5OwBqwi4AAAJUSURBVFhHrZY9bttAEIVVGul8g8BNCpdqXAaBL5AiV7A7ncGdfYEUPoEAt7lB cnJlbmN5OwBqwi4AAAJHSURBVFhHrZc9TgMxEIUpIzpugGgoUr6GEqFcgIIrhG7PQEcuQJETrJSWGyAk
ECCNW1WBr5BKvfw+epcYrt8OGUUCPpLanT/t7jxqtV6ve1yKjdiKndgXeGaMOWyc7+pwOCzCOX8Ud+KP mrSpUK5AlX7Rc+zgPM+sl2Qjfcmynr+1Pc/LBYALhymABkALYANgF+E173GMNuoX6LpuEIUjgGsALwC+
OMyADbb4TOK4ZI6Jk/gsfgiXLAMffMdYLpmjTf5LuARLwHcswiVz1OQs4TG/vIUYw3a4ZI5aAPvoAh4D AXQVaENb+oxSwD2AdyNRDfrQ96wCGODTCD4U+h6K0EQe+bSf8uQKY4Tl0EQeqQCuowY7FcYqEnkwOXdy
sWwyB8k5ydmBexbfohPfw3wLsS6jfQbBaCcXCB6ck8bPG7uWjfNzEIyedkGeq5Ger8VLGf8rshWAbUyS 34ZbA3jKnfi3YZdgrKkm8mAwtpMGSSzUIRZwZdjmNOrjwWDsaQ1A1lnCGYBtvP9TmQHSaiIPBqewaAAy
QXCExQW5wUD3i2a85be4F1/FJ/FBnLWJepAAdZsEbY0csvspbsWVOFoxubwroEAlzN+Escp38UX8t2Jy j8lvjLGcLwCvAB4B3AK4BDDRRB5MQHU7CqpGFgA+ADwDuDtHMc0CIqyE43Nj7A3AwxiKaS6BPq0ypmLy
ebcF8Zc6ZHMyxeTSO4RPISGHkMPHL+f5ZIrJJWvDtv8XKWaxtXOFUTExnBOiB3FRgi5SzAUFwKCYGC4J y9uEqywhNyE3H5+c16MpJr/62lD7f5BiRtvifsZBMWlYE6IFOyEGHaSYAwogQTHTWtQCs9W42/sK5RKF
TKtx2rNC2aKhdSMa48Ncaz8oZi1gbmnp82yrYOgah6aQc+ezqQVA9jpGZHqHFaJqPpZ7naONewVsYwHQ 1pVZ44djah8UMxVQm1r2ed9SkdA1FlHO1Z40qQDSdxxTZLzNSnLVXMoSsI29Atq8gFSENRNUuKJdM7ZZ
ay8UrqeY8BIKuC53t+wtu5i8wna0AoO89gSr4vafd0Z9hzj2bfJI/FN6JuYKADpmchb0lTdnr4j9pOIM AbP4a027stECiPVKRnn1BCthrT/PjHSGWOw0eU7+UjoZUABhxxzthXhyekXsig3jUVmCI6L9isnjtSXn
GWdbMKHYP4nz8uzkHHY2mUPG6SEU43IXe8arfvQK2NpkDhlnbTh2gUPzrIbz21gHh4wzxRz+pBgfPo/C ZFMk8qhtwny6oz3vJ/3wCmiLRB6VNjx0gUWcDfUhTWHsUVHM8JJi+PCzNOzJXojUySNuzJpiBqJ9cV/Y
+bwJUevUQ8ZweimOSTIwFqd/GcUkGRgXMsVcwvR17JI5qkOhp5hz4DMmB5vMEZ0KTjF7YIPtsOwRm8zR S7Em8sha1NKJ/xbwdxhpIg8RK08xh3B8HGsiD9EITzFrlC8kmshDCkjLoYrp4b+SaSIPdcw469/4X518
OgaiYv7jn9L16hWdfBk/Ic3q5wAAAABJRU5ErkJggg== GT/5HgfSAAAAAElFTkSuQmCC
</value> </value>
</data> </data>
<metadata name="VWPM_CHART_TOP5TableAdapter.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 56</value>
</metadata>
<metadata name="SaveFileDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="SaveFileDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>257, 56</value> <value>257, 56</value>
</metadata> </metadata>

View File

@@ -4,7 +4,7 @@ Imports DevExpress.XtraCharts
Imports DevExpress.XtraGrid.Views.Tile Imports DevExpress.XtraGrid.Views.Tile
Imports DigitalData.GUIs.Common Imports DigitalData.GUIs.Common
Public Class frmInvDashboard Partial Public Class frmInvDashboard
Private _selectedChart As ChartControl Private _selectedChart As ChartControl
Private Sub frmInvDashboard_Load(sender As Object, e As EventArgs) Handles MyBase.Load Private Sub frmInvDashboard_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Try Try
@@ -15,26 +15,104 @@ Public Class frmInvDashboard
WithClipboardHandler() WithClipboardHandler()
Try Try
VWPM_CHART_INVOICE_MONITOR_SERIESTableAdapter.Connection.ConnectionString = CONNECTION_STRING_ECM
Me.VWPM_CHART_INVOICE_MONITOR_SERIESTableAdapter.Fill(Me.DD_DMSLiteDataSet.VWPM_CHART_INVOICE_MONITOR_SERIES)
Catch ex As Exception
MsgBox("Error loading form1 - " & ex.Message, MsgBoxStyle.Exclamation, ADDITIONAL_TITLE)
End Try
VWPM_CHART_TOP5TableAdapter.Connection.ConnectionString = CONNECTION_STRING_ECM VWPM_CHART_INVOICE_MONITOR_SERIESTableAdapter.Connection.ConnectionString = CONNECTION_STRING_ECM
Me.VWPM_CHART_TOP5TableAdapter.Fill(Me.DD_DMSLiteDataSet.VWPM_CHART_TOP5) Me.VWPM_CHART_INVOICE_MONITOR_SERIESTableAdapter.Fill(Me.DD_DMSLiteDataSet.VWPM_CHART_INVOICE_MONITOR_SERIES, COCKPIT_CHART_ID)
Catch ex As Exception
MsgBox("Error loading VWPM_CHART_INVOICE_MONITOR_SERIES - " & ex.Message, MsgBoxStyle.Exclamation, ADDITIONAL_TITLE)
LOGGER.Error(ex)
End Try
Try
Dim osql = $"SELECT KRED_NAME, ANZ_BELEG, Netto, Skonto FROM VWPM_CHART_TOP5 WHERE COCKPIT_CHART_ID = {COCKPIT_CHART_ID}"
Dim dtTOP5 As DataTable = DatabaseFallback.GetDatatableECM(osql)
If IsNothing(dtTOP5) OrElse dtTOP5.Rows.Count = 0 Then
LOGGER.Warn("No data for VWPM_CHART_TOP5 - check SQL query or connection!")
GridControlTopKreditoren.DataSource = Nothing
GridControlTopKreditoren.Visible = False
BarButtonItemTKredPdf.Visibility = DevExpress.XtraBars.BarItemVisibility.Never
BarButtonItemTKredExcel.Visibility = DevExpress.XtraBars.BarItemVisibility.Never
Else
GridControlTopKreditoren.DataSource = dtTOP5
GridControlTopKreditoren.Visible = True
BarButtonItemTKredPdf.Visibility = DevExpress.XtraBars.BarItemVisibility.Always
BarButtonItemTKredExcel.Visibility = DevExpress.XtraBars.BarItemVisibility.Always
End If
'VWPM_CHART_TOP5TableAdapter.Connection.ConnectionString = CONNECTION_STRING_ECM
'Me.VWPM_CHART_TOP5TableAdapter.Fill(Me.DD_DMSLiteDataSet.VWPM_CHART_TOP5, COCKPIT_CHART_ID)
Catch ex As Exception
MsgBox("Error loading VWPM_CHART_TOP5 - " & ex.Message, MsgBoxStyle.Exclamation, ADDITIONAL_TITLE)
LOGGER.Error(ex)
End Try
ApplySplitterPosition()
Layout_Dashboard() Layout_Dashboard()
Catch ex As Exception Catch ex As Exception
LOGGER.Error(ex) LOGGER.Error(ex)
MsgBox("Error loading form2 - " & ex.Message, MsgBoxStyle.Exclamation, ADDITIONAL_TITLE) MsgBox("Error loading form2 - " & ex.Message, MsgBoxStyle.Exclamation, ADDITIONAL_TITLE)
End Try End Try
End Sub End Sub
Private Sub frmInvDashboard_FormClosing(sender As Object, e As FormClosingEventArgs) Handles MyBase.FormClosing
SaveSplitterPosition()
End Sub
Private Sub ApplySplitterPosition()
Try
If IsNothing(CONFIG) OrElse IsNothing(CONFIG.Config) Then
Return
End If
If IsNothing(CONFIG.Config.InvDashboardSplitterPositions) Then
CONFIG.Config.InvDashboardSplitterPositions = New List(Of ClassConfig.InvDashboardSplitterPosition)
Return
End If
Dim entry = CONFIG.Config.InvDashboardSplitterPositions.
FirstOrDefault(Function(x) x.CockpitChartId = COCKPIT_CHART_ID)
If entry IsNot Nothing Then
SplitContainerControl1.SplitterPosition = entry.SplitterPosition
End If
Catch ex As Exception
LOGGER.Error(ex)
End Try
End Sub
Private Sub SaveSplitterPosition()
Try
If IsNothing(CONFIG) OrElse IsNothing(CONFIG.Config) Then
Return
End If
If IsNothing(CONFIG.Config.InvDashboardSplitterPositions) Then
CONFIG.Config.InvDashboardSplitterPositions = New List(Of ClassConfig.InvDashboardSplitterPosition)
End If
Dim entry = CONFIG.Config.InvDashboardSplitterPositions.
FirstOrDefault(Function(x) x.CockpitChartId = COCKPIT_CHART_ID)
If entry Is Nothing Then
CONFIG.Config.InvDashboardSplitterPositions.Add(New ClassConfig.InvDashboardSplitterPosition With {
.CockpitChartId = COCKPIT_CHART_ID,
.SplitterPosition = SplitContainerControl1.SplitterPosition
})
Else
entry.SplitterPosition = SplitContainerControl1.SplitterPosition
End If
CONFIG.Save()
Catch ex As Exception
LOGGER.Error(ex)
End Try
End Sub
Sub Layout_Dashboard() Sub Layout_Dashboard()
Try Try
Dim groupCount As Integer Dim groupCount As Integer
Dim charts As List(Of ChartControl) Dim charts As List(Of ChartControl)
Dim oGroups As DataRowCollection = BASEDATA_DT_CHARTS.Rows Dim oGroups As DataRow() = BASEDATA_DT_CHARTS.Select($"COCKPIT_CHART_ID = {COCKPIT_CHART_ID}")
groupCount = oGroups.Count groupCount = oGroups.Count
Configure_Split_Containers(groupCount) Configure_Split_Containers(groupCount)
charts = New List(Of ChartControl) From {ChartTopLeft, ChartTopRight, ChartBottomLeft, ChartBottomRight} charts = New List(Of ChartControl) From {ChartTopLeft, ChartTopRight, ChartBottomLeft, ChartBottomRight}
If groupCount >= 1 Then If groupCount >= 1 Then
@@ -53,7 +131,7 @@ Public Class frmInvDashboard
If groupCount >= 1 Then If groupCount >= 1 Then
LOGGER.Debug($"ChartCreating...Found more than one charts [{groupCount}]") LOGGER.Debug($"ChartCreating...Found more than one charts [{groupCount}]")
For Each gRow As DataRow In oGroups For Each gRow As DataRow In oGroups
Dim oGroupIndex As Integer = oGroups.IndexOf(gRow) Dim oGroupIndex As Integer = Array.IndexOf(oGroups, gRow)
Dim oGroupID As String = gRow.Item("GROUP_ID") Dim oGroupID As String = gRow.Item("GROUP_ID")
Dim groupCharts = BASEDATA_DT_CHARTS.Select(String.Format("GROUP_ID = '{0}'", oGroupID)) Dim groupCharts = BASEDATA_DT_CHARTS.Select(String.Format("GROUP_ID = '{0}'", oGroupID))
@@ -314,8 +392,8 @@ Public Class frmInvDashboard
RibbonPageGroup1.Enabled = False RibbonPageGroup1.Enabled = False
RibbonPageGroup2.Enabled = True RibbonPageGroup2.Enabled = True
BarButtonItem3.Enabled = True BarButtonItem3.Enabled = True
BarButtonItem4.Enabled = False BarButtonItemTKredExcel.Enabled = False
BarButtonItem5.Enabled = False BarButtonItemTKredPdf.Enabled = False
End Sub End Sub
Private Sub BarButtonItem3_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem3.ItemClick Private Sub BarButtonItem3_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem3.ItemClick
@@ -325,25 +403,29 @@ Public Class frmInvDashboard
End If End If
End Sub End Sub
Private Sub BarButtonItem4_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem4.ItemClick Private Sub BarButtonItem4_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItemTKredExcel.ItemClick
SaveFileDialog1.Filter = "Excel Files (*.xlsx*)|*.xlsx" SaveFileDialog1.Filter = "Excel Files (*.xlsx*)|*.xlsx"
If SaveFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then If SaveFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
GridView1.ExportToXlsx(SaveFileDialog1.FileName) GridView1.ExportToXlsx(SaveFileDialog1.FileName)
End If End If
End Sub End Sub
Private Sub BarButtonItem5_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem5.ItemClick Private Sub BarButtonItem5_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItemTKredPdf.ItemClick
SaveFileDialog1.Filter = "PDF Files (*.pdf*)|*.pdf" SaveFileDialog1.Filter = "PDF Files (*.pdf*)|*.pdf"
If SaveFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then If SaveFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
GridView1.ExportToPdf(SaveFileDialog1.FileName) GridView1.ExportToPdf(SaveFileDialog1.FileName)
End If End If
End Sub End Sub
Private Sub GridControl2_Click(sender As Object, e As EventArgs) Handles GridControl2.Click Private Sub GridControl2_Click(sender As Object, e As EventArgs) Handles GridControlTopKreditoren.Click
RibbonPageGroup1.Enabled = False RibbonPageGroup1.Enabled = False
RibbonPageGroup2.Enabled = True RibbonPageGroup2.Enabled = True
BarButtonItem3.Enabled = False BarButtonItem3.Enabled = False
BarButtonItem4.Enabled = True BarButtonItemTKredExcel.Enabled = True
BarButtonItem5.Enabled = True BarButtonItemTKredPdf.Enabled = True
End Sub
Private Sub frmInvDashboard_Shown(sender As Object, e As EventArgs) Handles Me.Shown
Me.BringToFront()
End Sub End Sub
End Class End Class

View File

@@ -24,15 +24,9 @@ Partial Class frmMain
Private Sub InitializeComponent() Private Sub InitializeComponent()
Me.components = New System.ComponentModel.Container() Me.components = New System.ComponentModel.Container()
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmMain)) Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmMain))
Me.ImageListProfile = New System.Windows.Forms.ImageList(Me.components) Me.TreeList_Cockpit = New DevExpress.XtraTreeList.TreeList()
Me.DD_DMSLiteDataSet = New taskFLOW.DD_DMSLiteDataSet()
Me.TableAdapterManager = New taskFLOW.DD_DMSLiteDataSetTableAdapters.TableAdapterManager()
Me.Panel1 = New System.Windows.Forms.Panel()
Me.GridControlWorkflows = New DevExpress.XtraGrid.GridControl()
Me.GridViewWorkflows = New DevExpress.XtraGrid.Views.Grid.GridView()
Me.RibbonControl1 = New DevExpress.XtraBars.Ribbon.RibbonControl() Me.RibbonControl1 = New DevExpress.XtraBars.Ribbon.RibbonControl()
Me.bbtniRefresh = New DevExpress.XtraBars.BarButtonItem() Me.bbtniRefresh = New DevExpress.XtraBars.BarButtonItem()
Me.bbtniMonitor = New DevExpress.XtraBars.BarButtonItem()
Me.bbiProfilverwaltung = New DevExpress.XtraBars.BarButtonItem() Me.bbiProfilverwaltung = New DevExpress.XtraBars.BarButtonItem()
Me.bbiKonfiguration = New DevExpress.XtraBars.BarButtonItem() Me.bbiKonfiguration = New DevExpress.XtraBars.BarButtonItem()
Me.bbtniGrundeinstellung = New DevExpress.XtraBars.BarButtonItem() Me.bbtniGrundeinstellung = New DevExpress.XtraBars.BarButtonItem()
@@ -48,7 +42,6 @@ Partial Class frmMain
Me.bbtniMetadataFile = New DevExpress.XtraBars.BarButtonItem() Me.bbtniMetadataFile = New DevExpress.XtraBars.BarButtonItem()
Me.BarEditItem1 = New DevExpress.XtraBars.BarEditItem() Me.BarEditItem1 = New DevExpress.XtraBars.BarEditItem()
Me.RepositoryItemProgressBar1 = New DevExpress.XtraEditors.Repository.RepositoryItemProgressBar() Me.RepositoryItemProgressBar1 = New DevExpress.XtraEditors.Repository.RepositoryItemProgressBar()
Me.bbtnitDashboardInv = New DevExpress.XtraBars.BarButtonItem()
Me.bsiGeneralInfo = New DevExpress.XtraBars.BarStaticItem() Me.bsiGeneralInfo = New DevExpress.XtraBars.BarStaticItem()
Me.bbtnitmGhostMode = New DevExpress.XtraBars.BarButtonItem() Me.bbtnitmGhostMode = New DevExpress.XtraBars.BarButtonItem()
Me.bsi_GhostMode = New DevExpress.XtraBars.BarStaticItem() Me.bsi_GhostMode = New DevExpress.XtraBars.BarStaticItem()
@@ -84,9 +77,10 @@ Partial Class frmMain
Me.BSIVERSION1 = New DevExpress.XtraBars.BarStaticItem() Me.BSIVERSION1 = New DevExpress.XtraBars.BarStaticItem()
Me.barbtnitmsaveLogfiles = New DevExpress.XtraBars.BarButtonItem() Me.barbtnitmsaveLogfiles = New DevExpress.XtraBars.BarButtonItem()
Me.bsitmCount = New DevExpress.XtraBars.BarStaticItem() Me.bsitmCount = New DevExpress.XtraBars.BarStaticItem()
Me.BarButtonItemCock_refresh = New DevExpress.XtraBars.BarButtonItem()
Me.Bchkitm_load_empty_wf = New DevExpress.XtraBars.BarCheckItem()
Me.RibbonPageStart = New DevExpress.XtraBars.Ribbon.RibbonPage() Me.RibbonPageStart = New DevExpress.XtraBars.Ribbon.RibbonPage()
Me.RibbonPageGroup1 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() Me.RibbonPageGroup1 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibbonPageGroup2 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibbonPageGroup3 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() Me.RibbonPageGroup3 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibbonPageGroupBasicConf = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() Me.RibbonPageGroupBasicConf = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibbonPageGroup7 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() Me.RibbonPageGroup7 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
@@ -99,14 +93,18 @@ Partial Class frmMain
Me.RibbonPageGroup8 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() Me.RibbonPageGroup8 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RepositoryItemTrackBar1 = New DevExpress.XtraEditors.Repository.RepositoryItemTrackBar() Me.RepositoryItemTrackBar1 = New DevExpress.XtraEditors.Repository.RepositoryItemTrackBar()
Me.RibbonStatusBar1 = New DevExpress.XtraBars.Ribbon.RibbonStatusBar() Me.RibbonStatusBar1 = New DevExpress.XtraBars.Ribbon.RibbonStatusBar()
Me.ImageCollection1 = New DevExpress.Utils.ImageCollection(Me.components)
Me.GridControlWorkflows = New DevExpress.XtraGrid.GridControl()
Me.GridViewWorkflows = New DevExpress.XtraGrid.Views.Grid.GridView()
Me.Panel2 = New System.Windows.Forms.Panel() Me.Panel2 = New System.Windows.Forms.Panel()
Me.lblCaptionMainGrid = New System.Windows.Forms.Label() Me.lblCaptionMainGrid = New System.Windows.Forms.Label()
Me.NavBarControl1 = New DevExpress.XtraNavBar.NavBarControl() Me.ImageListProfile = New System.Windows.Forms.ImageList(Me.components)
Me.NavBarGroupProfiles = New DevExpress.XtraNavBar.NavBarGroup() Me.DD_DMSLiteDataSet = New taskFLOW.DD_DMSLiteDataSet()
Me.TableAdapterManager = New taskFLOW.DD_DMSLiteDataSetTableAdapters.TableAdapterManager()
Me.Panel1 = New System.Windows.Forms.Panel()
Me.SplitterControl1 = New DevExpress.XtraEditors.SplitterControl()
Me.cmsNavPane = New System.Windows.Forms.ContextMenuStrip(Me.components) Me.cmsNavPane = New System.Windows.Forms.ContextMenuStrip(Me.components)
Me.tsmiValidationProfil = New System.Windows.Forms.ToolStripMenuItem() Me.tsmiValidationProfil = New System.Windows.Forms.ToolStripMenuItem()
Me.NavBarGroupMore = New DevExpress.XtraNavBar.NavBarGroup()
Me.NavBarItemOverview = New DevExpress.XtraNavBar.NavBarItem()
Me.bindsourcegrid = New System.Windows.Forms.BindingSource(Me.components) Me.bindsourcegrid = New System.Windows.Forms.BindingSource(Me.components)
Me.NotifyIcon1 = New System.Windows.Forms.NotifyIcon(Me.components) Me.NotifyIcon1 = New System.Windows.Forms.NotifyIcon(Me.components)
Me.ContextMenuNotifyIcon = New System.Windows.Forms.ContextMenuStrip(Me.components) Me.ContextMenuNotifyIcon = New System.Windows.Forms.ContextMenuStrip(Me.components)
@@ -194,16 +192,17 @@ Partial Class frmMain
Me.TimerInactivity = New System.Windows.Forms.Timer(Me.components) Me.TimerInactivity = New System.Windows.Forms.Timer(Me.components)
Me.BarButtonItem5 = New DevExpress.XtraBars.BarButtonItem() Me.BarButtonItem5 = New DevExpress.XtraBars.BarButtonItem()
Me.BarButtonItem9 = New DevExpress.XtraBars.BarButtonItem() Me.BarButtonItem9 = New DevExpress.XtraBars.BarButtonItem()
CType(Me.DD_DMSLiteDataSet, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.TreeList_Cockpit, System.ComponentModel.ISupportInitialize).BeginInit()
Me.Panel1.SuspendLayout()
CType(Me.GridControlWorkflows, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.GridViewWorkflows, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.RibbonControl1, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.RibbonControl1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.RepositoryItemProgressBar1, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.RepositoryItemProgressBar1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.cmbGridFontSize, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.cmbGridFontSize, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.RepositoryItemTrackBar1, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.RepositoryItemTrackBar1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.ImageCollection1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.GridControlWorkflows, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.GridViewWorkflows, System.ComponentModel.ISupportInitialize).BeginInit()
Me.Panel2.SuspendLayout() Me.Panel2.SuspendLayout()
CType(Me.NavBarControl1, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.DD_DMSLiteDataSet, System.ComponentModel.ISupportInitialize).BeginInit()
Me.Panel1.SuspendLayout()
Me.cmsNavPane.SuspendLayout() Me.cmsNavPane.SuspendLayout()
CType(Me.bindsourcegrid, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.bindsourcegrid, System.ComponentModel.ISupportInitialize).BeginInit()
Me.ContextMenuNotifyIcon.SuspendLayout() Me.ContextMenuNotifyIcon.SuspendLayout()
@@ -214,88 +213,36 @@ Partial Class frmMain
CType(Me.ApplicationMenu1, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.ApplicationMenu1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout() Me.SuspendLayout()
' '
'ImageListProfile 'TreeList_Cockpit
' '
Me.ImageListProfile.ImageStream = CType(resources.GetObject("ImageListProfile.ImageStream"), System.Windows.Forms.ImageListStreamer) resources.ApplyResources(Me.TreeList_Cockpit, "TreeList_Cockpit")
Me.ImageListProfile.TransparentColor = System.Drawing.Color.Transparent Me.TreeList_Cockpit.ImageIndexFieldName = "ICON_INDEX"
Me.ImageListProfile.Images.SetKeyName(0, "ico2558.ico") Me.TreeList_Cockpit.KeyFieldName = "PK_CFG_COCKPIT_DEFINITION_ID"
Me.ImageListProfile.Images.SetKeyName(1, "ico2591.ico") Me.TreeList_Cockpit.MenuManager = Me.RibbonControl1
' Me.TreeList_Cockpit.Name = "TreeList_Cockpit"
'DD_DMSLiteDataSet Me.TreeList_Cockpit.OptionsBehavior.Editable = False
' Me.TreeList_Cockpit.OptionsBehavior.PopulateServiceColumns = True
Me.DD_DMSLiteDataSet.DataSetName = "DD_DMSLiteDataSet" Me.TreeList_Cockpit.OptionsBehavior.ReadOnly = True
Me.DD_DMSLiteDataSet.SchemaSerializationMode = System.Data.SchemaSerializationMode.IncludeSchema Me.TreeList_Cockpit.OptionsLayout.AddNewColumns = False
' Me.TreeList_Cockpit.OptionsMenu.ShowExpandCollapseItems = False
'TableAdapterManager Me.TreeList_Cockpit.OptionsSelection.EnableAppearanceFocusedCell = False
' Me.TreeList_Cockpit.OptionsView.ShowColumns = False
Me.TableAdapterManager.BackupDataSetBeforeUpdate = False Me.TreeList_Cockpit.OptionsView.ShowFilterPanelMode = DevExpress.XtraTreeList.ShowFilterPanelMode.Never
Me.TableAdapterManager.Connection = Nothing Me.TreeList_Cockpit.OptionsView.ShowFirstLines = False
Me.TableAdapterManager.TBDD_CONNECTIONTableAdapter = Nothing Me.TreeList_Cockpit.OptionsView.ShowHorzLines = False
Me.TableAdapterManager.TBDD_EMAIL_TEMPLATETableAdapter = Nothing Me.TreeList_Cockpit.OptionsView.ShowIndentAsRowStyle = True
Me.TableAdapterManager.TBDD_GUI_LANGUAGE_PHRASETableAdapter = Nothing Me.TreeList_Cockpit.OptionsView.ShowIndicator = False
Me.TableAdapterManager.TBDD_USERTableAdapter = Nothing Me.TreeList_Cockpit.OptionsView.ShowVertLines = False
Me.TableAdapterManager.TBPM_CONTROL_TABLETableAdapter = Nothing Me.TreeList_Cockpit.OptionsView.TreeLineStyle = DevExpress.XtraTreeList.LineStyle.Dark
Me.TableAdapterManager.TBPM_ERROR_LOGTableAdapter = Nothing Me.TreeList_Cockpit.ParentFieldName = "Parent_ID"
Me.TableAdapterManager.TBPM_KONFIGURATIONTableAdapter = Nothing Me.TreeList_Cockpit.SelectImageList = Me.ImageCollection1
Me.TableAdapterManager.TBPM_PROFILE_CONTROLSTableAdapter = Nothing
Me.TableAdapterManager.TBPM_PROFILE_FILESTableAdapter = Nothing
Me.TableAdapterManager.TBPM_PROFILE_FINAL_INDEXINGTableAdapter = Nothing
Me.TableAdapterManager.TBPM_PROFILETableAdapter = Nothing
Me.TableAdapterManager.TBPM_TYPETableAdapter = Nothing
Me.TableAdapterManager.UpdateOrder = taskFLOW.DD_DMSLiteDataSetTableAdapters.TableAdapterManager.UpdateOrderOption.InsertUpdateDelete
'
'Panel1
'
Me.Panel1.BackColor = System.Drawing.Color.Transparent
Me.Panel1.Controls.Add(Me.GridControlWorkflows)
Me.Panel1.Controls.Add(Me.Panel2)
Me.Panel1.Controls.Add(Me.NavBarControl1)
resources.ApplyResources(Me.Panel1, "Panel1")
Me.Panel1.Name = "Panel1"
'
'GridControlWorkflows
'
resources.ApplyResources(Me.GridControlWorkflows, "GridControlWorkflows")
Me.GridControlWorkflows.MainView = Me.GridViewWorkflows
Me.GridControlWorkflows.MenuManager = Me.RibbonControl1
Me.GridControlWorkflows.Name = "GridControlWorkflows"
Me.GridControlWorkflows.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.GridViewWorkflows})
'
'GridViewWorkflows
'
Me.GridViewWorkflows.Appearance.EvenRow.BackColor = System.Drawing.Color.Azure
Me.GridViewWorkflows.Appearance.EvenRow.Options.UseBackColor = True
Me.GridViewWorkflows.Appearance.FooterPanel.Font = CType(resources.GetObject("GridViewWorkflows.Appearance.FooterPanel.Font"), System.Drawing.Font)
Me.GridViewWorkflows.Appearance.FooterPanel.Options.UseFont = True
Me.GridViewWorkflows.Appearance.ViewCaption.Font = CType(resources.GetObject("GridViewWorkflows.Appearance.ViewCaption.Font"), System.Drawing.Font)
Me.GridViewWorkflows.Appearance.ViewCaption.ForeColor = System.Drawing.Color.Black
Me.GridViewWorkflows.Appearance.ViewCaption.Options.UseFont = True
Me.GridViewWorkflows.Appearance.ViewCaption.Options.UseForeColor = True
Me.GridViewWorkflows.Appearance.ViewCaption.Options.UseTextOptions = True
Me.GridViewWorkflows.Appearance.ViewCaption.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Near
Me.GridViewWorkflows.GridControl = Me.GridControlWorkflows
Me.GridViewWorkflows.Name = "GridViewWorkflows"
Me.GridViewWorkflows.OptionsBehavior.AllowAddRows = DevExpress.Utils.DefaultBoolean.[False]
Me.GridViewWorkflows.OptionsBehavior.AllowDeleteRows = DevExpress.Utils.DefaultBoolean.[False]
Me.GridViewWorkflows.OptionsBehavior.AllowFixedGroups = DevExpress.Utils.DefaultBoolean.[True]
Me.GridViewWorkflows.OptionsBehavior.AllowGroupExpandAnimation = DevExpress.Utils.DefaultBoolean.[True]
Me.GridViewWorkflows.OptionsBehavior.Editable = False
Me.GridViewWorkflows.OptionsClipboard.CopyColumnHeaders = DevExpress.Utils.DefaultBoolean.[False]
Me.GridViewWorkflows.OptionsSelection.MultiSelect = True
Me.GridViewWorkflows.OptionsSelection.MultiSelectMode = DevExpress.XtraGrid.Views.Grid.GridMultiSelectMode.CellSelect
Me.GridViewWorkflows.OptionsView.ColumnAutoWidth = False
Me.GridViewWorkflows.OptionsView.EnableAppearanceEvenRow = True
Me.GridViewWorkflows.OptionsView.ShowAutoFilterRow = True
Me.GridViewWorkflows.OptionsView.ShowErrorPanel = DevExpress.Utils.DefaultBoolean.[True]
Me.GridViewWorkflows.OptionsView.ShowHorizontalLines = DevExpress.Utils.DefaultBoolean.[False]
Me.GridViewWorkflows.OptionsView.ShowVerticalLines = DevExpress.Utils.DefaultBoolean.[False]
' '
'RibbonControl1 'RibbonControl1
' '
Me.RibbonControl1.ExpandCollapseItem.Id = 0 Me.RibbonControl1.ExpandCollapseItem.Id = 0
Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.RibbonControl1.SearchEditItem, Me.bbtniRefresh, Me.bbtniMonitor, Me.bbiProfilverwaltung, Me.bbiKonfiguration, Me.bbtniGrundeinstellung, Me.bbtnitemInfo, Me.BarButtonItem1, Me.bsiUser, Me.bsiLicenses, Me.bsiUserLoggedIn, Me.bsiVersion, Me.bsilastsync, Me.bsiDebug, Me.bsiMessage, Me.bbtniMetadataFile, Me.BarEditItem1, Me.bbtnitDashboardInv, Me.bsiGeneralInfo, Me.bbtnitmGhostMode, Me.bsi_GhostMode, Me.BarButtonItemGhostMode, Me.SearchItem1, Me.SearchItem2, Me.BarStaticItemAppServer, Me.bbtniCW, Me.bsiInactivityCheck, Me.BarButtonItem2, Me.BarCheckItemAutofilter, Me.BarCheckItem2, Me.BarButtonItemResetLayout, Me.BarButtonItem4, Me.BarButtonItemExportExcel, Me.BarButtonItem6, Me.BarButtonItem7, Me.BarButtonItemWFSingle, Me.BarButtonItemWFGroup, Me.BarButtonItemFileLink, Me.BarButtonItemMassValidation, Me.BarCheckItemShowSearch, Me.barItemGridFontSize, Me.BarButtonItem8, Me.BbtnitmAHWF1, Me.BbtnitmAHWF2, Me.BbtnitmAHWF3, Me.BbtnitmAHWF4, Me.bbtnitmLanguage_Change, Me.BarButtonItem10, Me.BBtnItmNotfications, Me.BSIVERSION1, Me.barbtnitmsaveLogfiles, Me.bsitmCount}) Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.RibbonControl1.SearchEditItem, Me.bbtniRefresh, Me.bbiProfilverwaltung, Me.bbiKonfiguration, Me.bbtniGrundeinstellung, Me.bbtnitemInfo, Me.BarButtonItem1, Me.bsiUser, Me.bsiLicenses, Me.bsiUserLoggedIn, Me.bsiVersion, Me.bsilastsync, Me.bsiDebug, Me.bsiMessage, Me.bbtniMetadataFile, Me.BarEditItem1, Me.bsiGeneralInfo, Me.bbtnitmGhostMode, Me.bsi_GhostMode, Me.BarButtonItemGhostMode, Me.SearchItem1, Me.SearchItem2, Me.BarStaticItemAppServer, Me.bbtniCW, Me.bsiInactivityCheck, Me.BarButtonItem2, Me.BarCheckItemAutofilter, Me.BarCheckItem2, Me.BarButtonItemResetLayout, Me.BarButtonItem4, Me.BarButtonItemExportExcel, Me.BarButtonItem6, Me.BarButtonItem7, Me.BarButtonItemWFSingle, Me.BarButtonItemWFGroup, Me.BarButtonItemFileLink, Me.BarButtonItemMassValidation, Me.BarCheckItemShowSearch, Me.barItemGridFontSize, Me.BarButtonItem8, Me.BbtnitmAHWF1, Me.BbtnitmAHWF2, Me.BbtnitmAHWF3, Me.BbtnitmAHWF4, Me.bbtnitmLanguage_Change, Me.BarButtonItem10, Me.BBtnItmNotfications, Me.BSIVERSION1, Me.barbtnitmsaveLogfiles, Me.bsitmCount, Me.BarButtonItemCock_refresh, Me.Bchkitm_load_empty_wf})
resources.ApplyResources(Me.RibbonControl1, "RibbonControl1") resources.ApplyResources(Me.RibbonControl1, "RibbonControl1")
Me.RibbonControl1.MaxItemId = 57 Me.RibbonControl1.MaxItemId = 60
Me.RibbonControl1.Name = "RibbonControl1" Me.RibbonControl1.Name = "RibbonControl1"
Me.RibbonControl1.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.RibbonPageStart, Me.RibbonPageTabelle, Me.RibbonPageAktionen}) Me.RibbonControl1.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.RibbonPageStart, Me.RibbonPageTabelle, Me.RibbonPageAktionen})
Me.RibbonControl1.RepositoryItems.AddRange(New DevExpress.XtraEditors.Repository.RepositoryItem() {Me.RepositoryItemProgressBar1, Me.RepositoryItemTrackBar1, Me.cmbGridFontSize}) Me.RibbonControl1.RepositoryItems.AddRange(New DevExpress.XtraEditors.Repository.RepositoryItem() {Me.RepositoryItemProgressBar1, Me.RepositoryItemTrackBar1, Me.cmbGridFontSize})
@@ -313,14 +260,6 @@ Partial Class frmMain
Me.bbtniRefresh.ImageOptions.LargeImage = CType(resources.GetObject("bbtniRefresh.ImageOptions.LargeImage"), System.Drawing.Image) Me.bbtniRefresh.ImageOptions.LargeImage = CType(resources.GetObject("bbtniRefresh.ImageOptions.LargeImage"), System.Drawing.Image)
Me.bbtniRefresh.Name = "bbtniRefresh" Me.bbtniRefresh.Name = "bbtniRefresh"
' '
'bbtniMonitor
'
resources.ApplyResources(Me.bbtniMonitor, "bbtniMonitor")
Me.bbtniMonitor.Id = 2
Me.bbtniMonitor.ImageOptions.Image = CType(resources.GetObject("bbtniMonitor.ImageOptions.Image"), System.Drawing.Image)
Me.bbtniMonitor.ImageOptions.LargeImage = CType(resources.GetObject("bbtniMonitor.ImageOptions.LargeImage"), System.Drawing.Image)
Me.bbtniMonitor.Name = "bbtniMonitor"
'
'bbiProfilverwaltung 'bbiProfilverwaltung
' '
resources.ApplyResources(Me.bbiProfilverwaltung, "bbiProfilverwaltung") resources.ApplyResources(Me.bbiProfilverwaltung, "bbiProfilverwaltung")
@@ -436,13 +375,6 @@ Partial Class frmMain
Me.RepositoryItemProgressBar1.Name = "RepositoryItemProgressBar1" Me.RepositoryItemProgressBar1.Name = "RepositoryItemProgressBar1"
Me.RepositoryItemProgressBar1.ShowTitle = True Me.RepositoryItemProgressBar1.ShowTitle = True
' '
'bbtnitDashboardInv
'
resources.ApplyResources(Me.bbtnitDashboardInv, "bbtnitDashboardInv")
Me.bbtnitDashboardInv.Id = 17
Me.bbtnitDashboardInv.ImageOptions.SvgImage = CType(resources.GetObject("bbtnitDashboardInv.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
Me.bbtnitDashboardInv.Name = "bbtnitDashboardInv"
'
'bsiGeneralInfo 'bsiGeneralInfo
' '
Me.bsiGeneralInfo.Id = 18 Me.bsiGeneralInfo.Id = 18
@@ -732,29 +664,39 @@ Partial Class frmMain
Me.bsitmCount.Name = "bsitmCount" Me.bsitmCount.Name = "bsitmCount"
Me.bsitmCount.Visibility = DevExpress.XtraBars.BarItemVisibility.OnlyInCustomizing Me.bsitmCount.Visibility = DevExpress.XtraBars.BarItemVisibility.OnlyInCustomizing
' '
'BarButtonItemCock_refresh
'
resources.ApplyResources(Me.BarButtonItemCock_refresh, "BarButtonItemCock_refresh")
Me.BarButtonItemCock_refresh.Id = 57
Me.BarButtonItemCock_refresh.ImageOptions.SvgImage = CType(resources.GetObject("BarButtonItemCock_refresh.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
Me.BarButtonItemCock_refresh.Name = "BarButtonItemCock_refresh"
'
'Bchkitm_load_empty_wf
'
Me.Bchkitm_load_empty_wf.BindableChecked = True
resources.ApplyResources(Me.Bchkitm_load_empty_wf, "Bchkitm_load_empty_wf")
Me.Bchkitm_load_empty_wf.Checked = True
Me.Bchkitm_load_empty_wf.Id = 59
Me.Bchkitm_load_empty_wf.ImageOptions.SvgImage = CType(resources.GetObject("Bchkitm_load_empty_wf.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
Me.Bchkitm_load_empty_wf.Name = "Bchkitm_load_empty_wf"
'
'RibbonPageStart 'RibbonPageStart
' '
Me.RibbonPageStart.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup1, Me.RibbonPageGroup2, Me.RibbonPageGroup3, Me.RibbonPageGroupBasicConf, Me.RibbonPageGroup7, Me.RibbonPageGroup4, Me.RibbonPageGroupAHW}) Me.RibbonPageStart.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup1, Me.RibbonPageGroup3, Me.RibbonPageGroupBasicConf, Me.RibbonPageGroup7, Me.RibbonPageGroup4, Me.RibbonPageGroupAHW})
Me.RibbonPageStart.Name = "RibbonPageStart" Me.RibbonPageStart.Name = "RibbonPageStart"
resources.ApplyResources(Me.RibbonPageStart, "RibbonPageStart") resources.ApplyResources(Me.RibbonPageStart, "RibbonPageStart")
' '
'RibbonPageGroup1 'RibbonPageGroup1
' '
Me.RibbonPageGroup1.AllowTextClipping = False Me.RibbonPageGroup1.AllowTextClipping = False
Me.RibbonPageGroup1.ItemLinks.Add(Me.BarButtonItemCock_refresh)
Me.RibbonPageGroup1.ItemLinks.Add(Me.Bchkitm_load_empty_wf)
Me.RibbonPageGroup1.ItemLinks.Add(Me.bbtniRefresh) Me.RibbonPageGroup1.ItemLinks.Add(Me.bbtniRefresh)
Me.RibbonPageGroup1.ItemLinks.Add(Me.BarButtonItemGhostMode) Me.RibbonPageGroup1.ItemLinks.Add(Me.BarButtonItemGhostMode)
Me.RibbonPageGroup1.ItemLinks.Add(Me.BBtnItmNotfications) Me.RibbonPageGroup1.ItemLinks.Add(Me.BBtnItmNotfications)
Me.RibbonPageGroup1.Name = "RibbonPageGroup1" Me.RibbonPageGroup1.Name = "RibbonPageGroup1"
resources.ApplyResources(Me.RibbonPageGroup1, "RibbonPageGroup1") resources.ApplyResources(Me.RibbonPageGroup1, "RibbonPageGroup1")
' '
'RibbonPageGroup2
'
Me.RibbonPageGroup2.Alignment = DevExpress.XtraBars.Ribbon.RibbonPageGroupAlignment.Far
Me.RibbonPageGroup2.ItemLinks.Add(Me.bbtnitDashboardInv)
Me.RibbonPageGroup2.ItemLinks.Add(Me.bbtniMonitor)
Me.RibbonPageGroup2.Name = "RibbonPageGroup2"
resources.ApplyResources(Me.RibbonPageGroup2, "RibbonPageGroup2")
'
'RibbonPageGroup3 'RibbonPageGroup3
' '
Me.RibbonPageGroup3.Alignment = DevExpress.XtraBars.Ribbon.RibbonPageGroupAlignment.Far Me.RibbonPageGroup3.Alignment = DevExpress.XtraBars.Ribbon.RibbonPageGroupAlignment.Far
@@ -863,6 +805,52 @@ Partial Class frmMain
Me.RibbonStatusBar1.Name = "RibbonStatusBar1" Me.RibbonStatusBar1.Name = "RibbonStatusBar1"
Me.RibbonStatusBar1.Ribbon = Me.RibbonControl1 Me.RibbonStatusBar1.Ribbon = Me.RibbonControl1
' '
'ImageCollection1
'
resources.ApplyResources(Me.ImageCollection1, "ImageCollection1")
Me.ImageCollection1.ImageStream = CType(resources.GetObject("ImageCollection1.ImageStream"), DevExpress.Utils.ImageCollectionStreamer)
Me.ImageCollection1.Images.SetKeyName(0, "Overview_small_001.png")
Me.ImageCollection1.Images.SetKeyName(1, "Profile_small_001.png")
Me.ImageCollection1.Images.SetKeyName(2, "Monitor_small_001.png")
Me.ImageCollection1.Images.SetKeyName(3, "Dashboard_small_001.png")
'
'GridControlWorkflows
'
resources.ApplyResources(Me.GridControlWorkflows, "GridControlWorkflows")
Me.GridControlWorkflows.MainView = Me.GridViewWorkflows
Me.GridControlWorkflows.MenuManager = Me.RibbonControl1
Me.GridControlWorkflows.Name = "GridControlWorkflows"
Me.GridControlWorkflows.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.GridViewWorkflows})
'
'GridViewWorkflows
'
Me.GridViewWorkflows.Appearance.EvenRow.BackColor = System.Drawing.Color.Azure
Me.GridViewWorkflows.Appearance.EvenRow.Options.UseBackColor = True
Me.GridViewWorkflows.Appearance.FooterPanel.Font = CType(resources.GetObject("GridViewWorkflows.Appearance.FooterPanel.Font"), System.Drawing.Font)
Me.GridViewWorkflows.Appearance.FooterPanel.Options.UseFont = True
Me.GridViewWorkflows.Appearance.ViewCaption.Font = CType(resources.GetObject("GridViewWorkflows.Appearance.ViewCaption.Font"), System.Drawing.Font)
Me.GridViewWorkflows.Appearance.ViewCaption.ForeColor = System.Drawing.Color.Black
Me.GridViewWorkflows.Appearance.ViewCaption.Options.UseFont = True
Me.GridViewWorkflows.Appearance.ViewCaption.Options.UseForeColor = True
Me.GridViewWorkflows.Appearance.ViewCaption.Options.UseTextOptions = True
Me.GridViewWorkflows.Appearance.ViewCaption.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Near
Me.GridViewWorkflows.GridControl = Me.GridControlWorkflows
Me.GridViewWorkflows.Name = "GridViewWorkflows"
Me.GridViewWorkflows.OptionsBehavior.AllowAddRows = DevExpress.Utils.DefaultBoolean.[False]
Me.GridViewWorkflows.OptionsBehavior.AllowDeleteRows = DevExpress.Utils.DefaultBoolean.[False]
Me.GridViewWorkflows.OptionsBehavior.AllowFixedGroups = DevExpress.Utils.DefaultBoolean.[True]
Me.GridViewWorkflows.OptionsBehavior.AllowGroupExpandAnimation = DevExpress.Utils.DefaultBoolean.[True]
Me.GridViewWorkflows.OptionsBehavior.Editable = False
Me.GridViewWorkflows.OptionsClipboard.CopyColumnHeaders = DevExpress.Utils.DefaultBoolean.[False]
Me.GridViewWorkflows.OptionsSelection.MultiSelect = True
Me.GridViewWorkflows.OptionsSelection.MultiSelectMode = DevExpress.XtraGrid.Views.Grid.GridMultiSelectMode.CellSelect
Me.GridViewWorkflows.OptionsView.ColumnAutoWidth = False
Me.GridViewWorkflows.OptionsView.EnableAppearanceEvenRow = True
Me.GridViewWorkflows.OptionsView.ShowAutoFilterRow = True
Me.GridViewWorkflows.OptionsView.ShowErrorPanel = DevExpress.Utils.DefaultBoolean.[True]
Me.GridViewWorkflows.OptionsView.ShowHorizontalLines = DevExpress.Utils.DefaultBoolean.[False]
Me.GridViewWorkflows.OptionsView.ShowVerticalLines = DevExpress.Utils.DefaultBoolean.[False]
'
'Panel2 'Panel2
' '
Me.Panel2.Controls.Add(Me.lblCaptionMainGrid) Me.Panel2.Controls.Add(Me.lblCaptionMainGrid)
@@ -874,26 +862,51 @@ Partial Class frmMain
resources.ApplyResources(Me.lblCaptionMainGrid, "lblCaptionMainGrid") resources.ApplyResources(Me.lblCaptionMainGrid, "lblCaptionMainGrid")
Me.lblCaptionMainGrid.Name = "lblCaptionMainGrid" Me.lblCaptionMainGrid.Name = "lblCaptionMainGrid"
' '
'NavBarControl1 'ImageListProfile
' '
Me.NavBarControl1.ActiveGroup = Me.NavBarGroupProfiles Me.ImageListProfile.ImageStream = CType(resources.GetObject("ImageListProfile.ImageStream"), System.Windows.Forms.ImageListStreamer)
Me.NavBarControl1.ContextMenuStrip = Me.cmsNavPane Me.ImageListProfile.TransparentColor = System.Drawing.Color.Transparent
resources.ApplyResources(Me.NavBarControl1, "NavBarControl1") Me.ImageListProfile.Images.SetKeyName(0, "ico2558.ico")
Me.NavBarControl1.Groups.AddRange(New DevExpress.XtraNavBar.NavBarGroup() {Me.NavBarGroupMore, Me.NavBarGroupProfiles}) Me.ImageListProfile.Images.SetKeyName(1, "ico2591.ico")
Me.NavBarControl1.Items.AddRange(New DevExpress.XtraNavBar.NavBarItem() {Me.NavBarItemOverview})
Me.NavBarControl1.Name = "NavBarControl1"
Me.NavBarControl1.OptionsNavPane.ExpandedWidth = CType(resources.GetObject("resource.ExpandedWidth"), Integer)
Me.NavBarControl1.PaintStyleKind = DevExpress.XtraNavBar.NavBarViewKind.NavigationPane
Me.NavBarControl1.ShowIcons = DevExpress.Utils.DefaultBoolean.[True]
Me.NavBarControl1.View = New DevExpress.XtraNavBar.ViewInfo.StandardSkinExplorerBarViewInfoRegistrator("Office 2019 White")
' '
'NavBarGroupProfiles 'DD_DMSLiteDataSet
' '
resources.ApplyResources(Me.NavBarGroupProfiles, "NavBarGroupProfiles") Me.DD_DMSLiteDataSet.DataSetName = "DD_DMSLiteDataSet"
Me.NavBarGroupProfiles.Expanded = True Me.DD_DMSLiteDataSet.SchemaSerializationMode = System.Data.SchemaSerializationMode.IncludeSchema
Me.NavBarGroupProfiles.GroupStyle = DevExpress.XtraNavBar.NavBarGroupStyle.LargeIconsText '
Me.NavBarGroupProfiles.ImageOptions.LargeImage = CType(resources.GetObject("NavBarGroupProfiles.ImageOptions.LargeImage"), System.Drawing.Image) 'TableAdapterManager
Me.NavBarGroupProfiles.Name = "NavBarGroupProfiles" '
Me.TableAdapterManager.BackupDataSetBeforeUpdate = False
Me.TableAdapterManager.Connection = Nothing
Me.TableAdapterManager.TBDD_CONNECTIONTableAdapter = Nothing
Me.TableAdapterManager.TBDD_EMAIL_TEMPLATETableAdapter = Nothing
Me.TableAdapterManager.TBDD_GUI_LANGUAGE_PHRASETableAdapter = Nothing
Me.TableAdapterManager.TBDD_USERTableAdapter = Nothing
Me.TableAdapterManager.TBPM_CONTROL_TABLETableAdapter = Nothing
Me.TableAdapterManager.TBPM_ERROR_LOGTableAdapter = Nothing
Me.TableAdapterManager.TBPM_KONFIGURATIONTableAdapter = Nothing
Me.TableAdapterManager.TBPM_PROFILE_CONTROLSTableAdapter = Nothing
Me.TableAdapterManager.TBPM_PROFILE_FILESTableAdapter = Nothing
Me.TableAdapterManager.TBPM_PROFILE_FINAL_INDEXINGTableAdapter = Nothing
Me.TableAdapterManager.TBPM_PROFILETableAdapter = Nothing
Me.TableAdapterManager.TBPM_TYPETableAdapter = Nothing
Me.TableAdapterManager.UpdateOrder = taskFLOW.DD_DMSLiteDataSetTableAdapters.TableAdapterManager.UpdateOrderOption.InsertUpdateDelete
'
'Panel1
'
Me.Panel1.BackColor = System.Drawing.Color.Transparent
Me.Panel1.Controls.Add(Me.GridControlWorkflows)
Me.Panel1.Controls.Add(Me.Panel2)
Me.Panel1.Controls.Add(Me.SplitterControl1)
Me.Panel1.Controls.Add(Me.TreeList_Cockpit)
resources.ApplyResources(Me.Panel1, "Panel1")
Me.Panel1.Name = "Panel1"
'
'SplitterControl1
'
resources.ApplyResources(Me.SplitterControl1, "SplitterControl1")
Me.SplitterControl1.Name = "SplitterControl1"
Me.SplitterControl1.TabStop = False
' '
'cmsNavPane 'cmsNavPane
' '
@@ -908,25 +921,6 @@ Partial Class frmMain
Me.tsmiValidationProfil.Name = "tsmiValidationProfil" Me.tsmiValidationProfil.Name = "tsmiValidationProfil"
resources.ApplyResources(Me.tsmiValidationProfil, "tsmiValidationProfil") resources.ApplyResources(Me.tsmiValidationProfil, "tsmiValidationProfil")
' '
'NavBarGroupMore
'
resources.ApplyResources(Me.NavBarGroupMore, "NavBarGroupMore")
Me.NavBarGroupMore.Expanded = True
Me.NavBarGroupMore.GroupStyle = DevExpress.XtraNavBar.NavBarGroupStyle.LargeIconsText
Me.NavBarGroupMore.ImageOptions.LargeImage = CType(resources.GetObject("NavBarGroupMore.ImageOptions.LargeImage"), System.Drawing.Image)
Me.NavBarGroupMore.ItemLinks.AddRange(New DevExpress.XtraNavBar.NavBarItemLink() {New DevExpress.XtraNavBar.NavBarItemLink(Me.NavBarItemOverview)})
Me.NavBarGroupMore.Name = "NavBarGroupMore"
'
'NavBarItemOverview
'
Me.NavBarItemOverview.Appearance.Image = CType(resources.GetObject("NavBarItemOverview.Appearance.Image"), System.Drawing.Image)
Me.NavBarItemOverview.Appearance.Options.UseImage = True
resources.ApplyResources(Me.NavBarItemOverview, "NavBarItemOverview")
Me.NavBarItemOverview.ImageOptions.AllowGlyphSkinning = DevExpress.Utils.DefaultBoolean.[False]
Me.NavBarItemOverview.ImageOptions.LargeImage = CType(resources.GetObject("NavBarItemOverview.ImageOptions.LargeImage"), System.Drawing.Image)
Me.NavBarItemOverview.Name = "NavBarItemOverview"
Me.NavBarItemOverview.Tag = "OVERVIEW"
'
'NotifyIcon1 'NotifyIcon1
' '
Me.NotifyIcon1.BalloonTipIcon = System.Windows.Forms.ToolTipIcon.Info Me.NotifyIcon1.BalloonTipIcon = System.Windows.Forms.ToolTipIcon.Info
@@ -1619,17 +1613,18 @@ Partial Class frmMain
Me.Name = "frmMain" Me.Name = "frmMain"
Me.Ribbon = Me.RibbonControl1 Me.Ribbon = Me.RibbonControl1
Me.StatusBar = Me.RibbonStatusBar1 Me.StatusBar = Me.RibbonStatusBar1
CType(Me.DD_DMSLiteDataSet, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.TreeList_Cockpit, System.ComponentModel.ISupportInitialize).EndInit()
Me.Panel1.ResumeLayout(False)
CType(Me.GridControlWorkflows, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.GridViewWorkflows, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.RibbonControl1, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.RibbonControl1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.RepositoryItemProgressBar1, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.RepositoryItemProgressBar1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.cmbGridFontSize, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.cmbGridFontSize, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.RepositoryItemTrackBar1, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.RepositoryItemTrackBar1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.ImageCollection1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.GridControlWorkflows, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.GridViewWorkflows, System.ComponentModel.ISupportInitialize).EndInit()
Me.Panel2.ResumeLayout(False) Me.Panel2.ResumeLayout(False)
Me.Panel2.PerformLayout() Me.Panel2.PerformLayout()
CType(Me.NavBarControl1, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.DD_DMSLiteDataSet, System.ComponentModel.ISupportInitialize).EndInit()
Me.Panel1.ResumeLayout(False)
Me.cmsNavPane.ResumeLayout(False) Me.cmsNavPane.ResumeLayout(False)
CType(Me.bindsourcegrid, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.bindsourcegrid, System.ComponentModel.ISupportInitialize).EndInit()
Me.ContextMenuNotifyIcon.ResumeLayout(False) Me.ContextMenuNotifyIcon.ResumeLayout(False)
@@ -1648,10 +1643,6 @@ Partial Class frmMain
Friend WithEvents NotifyIcon1 As System.Windows.Forms.NotifyIcon Friend WithEvents NotifyIcon1 As System.Windows.Forms.NotifyIcon
Friend WithEvents TimerRefresh As System.Windows.Forms.Timer Friend WithEvents TimerRefresh As System.Windows.Forms.Timer
Friend WithEvents TimerReminder As System.Windows.Forms.Timer Friend WithEvents TimerReminder As System.Windows.Forms.Timer
Friend WithEvents NavBarControl1 As DevExpress.XtraNavBar.NavBarControl
Friend WithEvents NavBarGroupProfiles As DevExpress.XtraNavBar.NavBarGroup
Friend WithEvents NavBarGroupMore As DevExpress.XtraNavBar.NavBarGroup
Friend WithEvents NavBarItemOverview As DevExpress.XtraNavBar.NavBarItem
Friend WithEvents cmsNavPane As ContextMenuStrip Friend WithEvents cmsNavPane As ContextMenuStrip
Friend WithEvents tsmiValidationProfil As ToolStripMenuItem Friend WithEvents tsmiValidationProfil As ToolStripMenuItem
Friend WithEvents bindsourcegrid As BindingSource Friend WithEvents bindsourcegrid As BindingSource
@@ -1733,7 +1724,6 @@ Partial Class frmMain
Friend WithEvents PrintPreviewBarCheckItem17 As DevExpress.XtraPrinting.Preview.PrintPreviewBarCheckItem Friend WithEvents PrintPreviewBarCheckItem17 As DevExpress.XtraPrinting.Preview.PrintPreviewBarCheckItem
Friend WithEvents PrintPreviewBarCheckItem18 As DevExpress.XtraPrinting.Preview.PrintPreviewBarCheckItem Friend WithEvents PrintPreviewBarCheckItem18 As DevExpress.XtraPrinting.Preview.PrintPreviewBarCheckItem
Friend WithEvents PrintPreviewBarCheckItem19 As DevExpress.XtraPrinting.Preview.PrintPreviewBarCheckItem Friend WithEvents PrintPreviewBarCheckItem19 As DevExpress.XtraPrinting.Preview.PrintPreviewBarCheckItem
Friend WithEvents Panel1 As Panel
Friend WithEvents OutOfRangePMFixierenToolStripMenuItem As ToolStripMenuItem Friend WithEvents OutOfRangePMFixierenToolStripMenuItem As ToolStripMenuItem
Friend WithEvents ToolStripSeparator1 As ToolStripSeparator Friend WithEvents ToolStripSeparator1 As ToolStripSeparator
Friend WithEvents XtraSaveFileDialog1 As DevExpress.XtraEditors.XtraSaveFileDialog Friend WithEvents XtraSaveFileDialog1 As DevExpress.XtraEditors.XtraSaveFileDialog
@@ -1742,7 +1732,6 @@ Partial Class frmMain
Friend WithEvents BarButtonItem9 As DevExpress.XtraBars.BarButtonItem Friend WithEvents BarButtonItem9 As DevExpress.XtraBars.BarButtonItem
Friend WithEvents RibbonControl1 As DevExpress.XtraBars.Ribbon.RibbonControl Friend WithEvents RibbonControl1 As DevExpress.XtraBars.Ribbon.RibbonControl
Friend WithEvents bbtniRefresh As DevExpress.XtraBars.BarButtonItem Friend WithEvents bbtniRefresh As DevExpress.XtraBars.BarButtonItem
Friend WithEvents bbtniMonitor As DevExpress.XtraBars.BarButtonItem
Friend WithEvents bbiProfilverwaltung As DevExpress.XtraBars.BarButtonItem Friend WithEvents bbiProfilverwaltung As DevExpress.XtraBars.BarButtonItem
Friend WithEvents bbiKonfiguration As DevExpress.XtraBars.BarButtonItem Friend WithEvents bbiKonfiguration As DevExpress.XtraBars.BarButtonItem
Friend WithEvents bbtniGrundeinstellung As DevExpress.XtraBars.BarButtonItem Friend WithEvents bbtniGrundeinstellung As DevExpress.XtraBars.BarButtonItem
@@ -1758,7 +1747,6 @@ Partial Class frmMain
Friend WithEvents bbtniMetadataFile As DevExpress.XtraBars.BarButtonItem Friend WithEvents bbtniMetadataFile As DevExpress.XtraBars.BarButtonItem
Friend WithEvents BarEditItem1 As DevExpress.XtraBars.BarEditItem Friend WithEvents BarEditItem1 As DevExpress.XtraBars.BarEditItem
Friend WithEvents RepositoryItemProgressBar1 As DevExpress.XtraEditors.Repository.RepositoryItemProgressBar Friend WithEvents RepositoryItemProgressBar1 As DevExpress.XtraEditors.Repository.RepositoryItemProgressBar
Friend WithEvents bbtnitDashboardInv As DevExpress.XtraBars.BarButtonItem
Friend WithEvents bsiGeneralInfo As DevExpress.XtraBars.BarStaticItem Friend WithEvents bsiGeneralInfo As DevExpress.XtraBars.BarStaticItem
Friend WithEvents bbtnitmGhostMode As DevExpress.XtraBars.BarButtonItem Friend WithEvents bbtnitmGhostMode As DevExpress.XtraBars.BarButtonItem
Friend WithEvents bsi_GhostMode As DevExpress.XtraBars.BarStaticItem Friend WithEvents bsi_GhostMode As DevExpress.XtraBars.BarStaticItem
@@ -1793,7 +1781,6 @@ Partial Class frmMain
Friend WithEvents BBtnItmNotfications As DevExpress.XtraBars.BarButtonItem Friend WithEvents BBtnItmNotfications As DevExpress.XtraBars.BarButtonItem
Friend WithEvents RibbonPageStart As DevExpress.XtraBars.Ribbon.RibbonPage Friend WithEvents RibbonPageStart As DevExpress.XtraBars.Ribbon.RibbonPage
Friend WithEvents RibbonPageGroup1 As DevExpress.XtraBars.Ribbon.RibbonPageGroup Friend WithEvents RibbonPageGroup1 As DevExpress.XtraBars.Ribbon.RibbonPageGroup
Friend WithEvents RibbonPageGroup2 As DevExpress.XtraBars.Ribbon.RibbonPageGroup
Friend WithEvents RibbonPageGroup3 As DevExpress.XtraBars.Ribbon.RibbonPageGroup Friend WithEvents RibbonPageGroup3 As DevExpress.XtraBars.Ribbon.RibbonPageGroup
Friend WithEvents RibbonPageGroupBasicConf As DevExpress.XtraBars.Ribbon.RibbonPageGroup Friend WithEvents RibbonPageGroupBasicConf As DevExpress.XtraBars.Ribbon.RibbonPageGroup
Friend WithEvents RibbonPageGroup7 As DevExpress.XtraBars.Ribbon.RibbonPageGroup Friend WithEvents RibbonPageGroup7 As DevExpress.XtraBars.Ribbon.RibbonPageGroup
@@ -1805,11 +1792,17 @@ Partial Class frmMain
Friend WithEvents RibbonPageAktionen As DevExpress.XtraBars.Ribbon.RibbonPage Friend WithEvents RibbonPageAktionen As DevExpress.XtraBars.Ribbon.RibbonPage
Friend WithEvents RibbonPageGroup8 As DevExpress.XtraBars.Ribbon.RibbonPageGroup Friend WithEvents RibbonPageGroup8 As DevExpress.XtraBars.Ribbon.RibbonPageGroup
Friend WithEvents RepositoryItemTrackBar1 As DevExpress.XtraEditors.Repository.RepositoryItemTrackBar Friend WithEvents RepositoryItemTrackBar1 As DevExpress.XtraEditors.Repository.RepositoryItemTrackBar
Friend WithEvents Panel2 As Panel
Friend WithEvents lblCaptionMainGrid As Label Friend WithEvents lblCaptionMainGrid As Label
Friend WithEvents GridControlWorkflows As DevExpress.XtraGrid.GridControl Friend WithEvents GridControlWorkflows As DevExpress.XtraGrid.GridControl
Friend WithEvents GridViewWorkflows As DevExpress.XtraGrid.Views.Grid.GridView Friend WithEvents GridViewWorkflows As DevExpress.XtraGrid.Views.Grid.GridView
Friend WithEvents BSIVERSION1 As DevExpress.XtraBars.BarStaticItem Friend WithEvents BSIVERSION1 As DevExpress.XtraBars.BarStaticItem
Friend WithEvents barbtnitmsaveLogfiles As DevExpress.XtraBars.BarButtonItem Friend WithEvents barbtnitmsaveLogfiles As DevExpress.XtraBars.BarButtonItem
Friend WithEvents bsitmCount As DevExpress.XtraBars.BarStaticItem Friend WithEvents bsitmCount As DevExpress.XtraBars.BarStaticItem
Friend WithEvents TreeList_Cockpit As DevExpress.XtraTreeList.TreeList
Friend WithEvents ImageCollection1 As DevExpress.Utils.ImageCollection
Friend WithEvents Panel2 As Panel
Friend WithEvents Panel1 As Panel
Friend WithEvents SplitterControl1 As DevExpress.XtraEditors.SplitterControl
Friend WithEvents BarButtonItemCock_refresh As DevExpress.XtraBars.BarButtonItem
Friend WithEvents Bchkitm_load_empty_wf As DevExpress.XtraBars.BarCheckItem
End Class End Class

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -354,7 +354,7 @@ Public Class frmMassValidator
LOGGER.Debug("Versuch Tabelle zu laden") LOGGER.Debug("Versuch Tabelle zu laden")
Dim oDTMyColumns As DataTable = DatabaseFallback.GetDatatableECM($"SELECT * FROM TBPM_CONTROL_TABLE WHERE CONTROL_ID = {oControlRow.Item("GUID")} ORDER BY SEQUENCE") ', "MV_LoadControls1") Dim oDTMyColumns As DataTable = DatabaseFallback.GetDatatableECM($"SELECT * FROM TBPM_CONTROL_TABLE WHERE CONTROL_ID = {oControlRow.Item("GUID")} ORDER BY SEQUENCE") ', "MV_LoadControls1")
oControl = ControlCreator.CreateExistingGridControl(oControlRow, oDTMyColumns, False, CURRENT_DOC_CURRENCY, pnldesigner) oControl = ControlCreator.CreateExistingGridControl(oControlRow, oDTMyColumns, False, CURRENT_DOC_CURRENCY)
End Select End Select
If oControl IsNot Nothing AndAlso TypeOf oControl IsNot Label Then If oControl IsNot Nothing AndAlso TypeOf oControl IsNot Label Then

View File

@@ -18,8 +18,16 @@ Public Class frmMonitor
Private _GridBuilder As GridBuilder Private _GridBuilder As GridBuilder
Private _ActiveGrid As GridControl = Nothing Private _ActiveGrid As GridControl = Nothing
' Public Property für die Monitor-ID
Public Property MonitorID As Integer
' Private _frmDocView As frmDocView 'You need a reference to Form1 ' Private _frmDocView As frmDocView 'You need a reference to Form1
Dim FormShown As Boolean = False Dim FormShown As Boolean = False
' Konstruktor mit optionalem Parameter
Public Sub New(Optional pMonitorID As Integer = 0)
InitializeComponent()
MonitorID = pMonitorID
End Sub
Private Sub GridView1_FocusedRowChanged(sender As Object, e As DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs) Handles GridView1.FocusedRowChanged Private Sub GridView1_FocusedRowChanged(sender As Object, e As DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs) Handles GridView1.FocusedRowChanged
If FormShown = False Then Exit Sub If FormShown = False Then Exit Sub
Load_Detail() Load_Detail()
@@ -194,7 +202,7 @@ Public Class frmMonitor
End Sub End Sub
Private Async Sub frmMonitor_Load(sender As Object, e As EventArgs) Handles Me.Load Private Async Sub frmMonitor_Load(sender As Object, e As EventArgs) Handles Me.Load
SplitContainerControlMain.Collapsed = True SplitContainerControlMain.Collapsed = True
Me.Text = COCKPIT_MONITOR_CAPTION
Dim _GridList As New List(Of GridView) From { Dim _GridList As New List(Of GridView) From {
GridView1, GridView1,
GridView2, GridView2,
@@ -211,20 +219,20 @@ Public Class frmMonitor
Select Case DT_MONITOR_KONFIG.Rows.Count Select Case DT_MONITOR_KONFIG.Rows.Count
Case 2 Case 2
LoadGrid1Layout() LoadGridLayout(1)
LoadGrid2Layout() LoadGridLayout(2)
SplitContainerControl1.SplitterPosition = CONFIG.Config.MonitorSplitter1_Distance SplitContainerControl1.SplitterPosition = CONFIG.Config.MonitorSplitter1_Distance
Case 3 Case 3
LoadGrid1Layout() LoadGridLayout(1)
LoadGrid2Layout() LoadGridLayout(2)
LoadGrid3Layout() LoadGridLayout(3)
SplitContainerControl1.SplitterPosition = CONFIG.Config.MonitorSplitter1_Distance SplitContainerControl1.SplitterPosition = CONFIG.Config.MonitorSplitter1_Distance
SplitContainerControl2.SplitterPosition = CONFIG.Config.MonitorSplitter2_Distance SplitContainerControl2.SplitterPosition = CONFIG.Config.MonitorSplitter2_Distance
Case 4 Case 4
LoadGrid1Layout() LoadGridLayout(1)
LoadGrid2Layout() LoadGridLayout(2)
LoadGrid3Layout() LoadGridLayout(3)
LoadGrid4Layout() LoadGridLayout(4)
SplitContainerControl1.SplitterPosition = CONFIG.Config.MonitorSplitter1_Distance SplitContainerControl1.SplitterPosition = CONFIG.Config.MonitorSplitter1_Distance
SplitContainerControl2.SplitterPosition = CONFIG.Config.MonitorSplitter2_Distance SplitContainerControl2.SplitterPosition = CONFIG.Config.MonitorSplitter2_Distance
SplitContainerControl3.SplitterPosition = CONFIG.Config.MonitorSplitter3_Distance SplitContainerControl3.SplitterPosition = CONFIG.Config.MonitorSplitter3_Distance
@@ -243,212 +251,140 @@ Public Class frmMonitor
Async Function Load_Grid_Data() As Threading.Tasks.Task Async Function Load_Grid_Data() As Threading.Tasks.Task
Try Try
FormShown = False FormShown = False
Dim oSQL = "SELECT * FROM TBPM_MONITOR_KONFIG" Dim oSQL = $"SELECT * FROM TBPM_MONITOR_KONFIG (NOLOCK) WHERE COCKPIT_ID = {COCKPIT_MONITOR_ID}"
DT_MONITOR_KONFIG = DatabaseFallback.GetDatatableECM(oSQL) ', "Monitor-Load_Grid_Data1") DT_MONITOR_KONFIG = DatabaseFallback.GetDatatableECM(oSQL) ', "Monitor-Load_Grid_Data1")
If Not IsNothing(DT_MONITOR_KONFIG) Then If DT_MONITOR_KONFIG Is Nothing OrElse DT_MONITOR_KONFIG.Rows.Count = 0 Then
If DT_MONITOR_KONFIG.Rows.Count >= 1 Then MsgBox("No configuration found for this monitor cockpit. Please contact your administrator.", MsgBoxStyle.Critical, "No Configuration")
oSQL = DT_MONITOR_KONFIG.Rows(0).Item("GRID_SQL") Me.Close()
GridView1.Columns.Clear()
Dim oDTGRID1 As DataTable = Await DatabaseFallback.GetDatatableECMAsync(oSQL) ', "Monitor-Load_Grid_Data2")
GridControl1.DataSource = oDTGRID1
GRID1_TITLE = DT_MONITOR_KONFIG.Rows(0).Item("GRID_TITLE")
GridView1.ViewCaption = GRID1_TITLE
Format_Datetime_Columns(GridView1, "Grid 1")
Try
'GridView1.Columns.Item("FULL_FILE_PATH").Visible = False
Catch ex As Exception
LOGGER.Info($"Attention: No Column FULL_FILE_PATH in GridView1")
End Try
Select Case DT_MONITOR_KONFIG.Rows.Count
Case 2
SplitContainerControl2.Collapsed = True
Case 3
SplitContainerControl3.Collapsed = True
Case Else
SplitContainerControl2.Collapsed = False
SplitContainerControl3.Collapsed = False
End Select
If DT_MONITOR_KONFIG.Rows.Count > 1 Then
GRID2_TITLE = DT_MONITOR_KONFIG.Rows(1).Item("GRID_TITLE")
GRID2_SQL = DT_MONITOR_KONFIG.Rows(1).Item("GRID_SQL")
GridView2.ViewCaption = GRID2_TITLE
Select Case DT_MONITOR_KONFIG.Rows.Count
Case 3
GRID3_TITLE = DT_MONITOR_KONFIG.Rows(2).Item("GRID_TITLE")
GRID3_SQL = DT_MONITOR_KONFIG.Rows(2).Item("GRID_SQL")
GridView3.ViewCaption = GRID3_TITLE
Case 4
GRID3_TITLE = DT_MONITOR_KONFIG.Rows(2).Item("GRID_TITLE")
GRID3_SQL = DT_MONITOR_KONFIG.Rows(2).Item("GRID_SQL")
GridView3.ViewCaption = GRID3_TITLE
GRID4_TITLE = DT_MONITOR_KONFIG.Rows(3).Item("GRID_TITLE")
GRID4_SQL = DT_MONITOR_KONFIG.Rows(3).Item("GRID_SQL")
GridView4.ViewCaption = GRID4_TITLE
End Select
End If
End If
End If End If
oSQL = DT_MONITOR_KONFIG.Rows(0).Item("GRID_SQL")
GridView1.Columns.Clear()
Dim oDTGRID1 As DataTable = Await DatabaseFallback.GetDatatableECMAsync(oSQL) ', "Monitor-Load_Grid_Data2")
GridControl1.DataSource = oDTGRID1
GRID1_TITLE = DT_MONITOR_KONFIG.Rows(0).Item("GRID_TITLE")
GridView1.ViewCaption = GRID1_TITLE
Format_Datetime_Columns(GridView1, "Grid 1")
Try
'GridView1.Columns.Item("FULL_FILE_PATH").Visible = False
Catch ex As Exception
LOGGER.Info($"Attention: No Column FULL_FILE_PATH in GridView1")
End Try
Select Case DT_MONITOR_KONFIG.Rows.Count
Case 2
SplitContainerControl2.Collapsed = True
Case 3
SplitContainerControl3.Collapsed = True
Case Else
SplitContainerControl2.Collapsed = False
SplitContainerControl3.Collapsed = False
End Select
If DT_MONITOR_KONFIG.Rows.Count > 1 Then
GRID2_TITLE = DT_MONITOR_KONFIG.Rows(1).Item("GRID_TITLE")
GRID2_SQL = DT_MONITOR_KONFIG.Rows(1).Item("GRID_SQL")
GridView2.ViewCaption = GRID2_TITLE
Select Case DT_MONITOR_KONFIG.Rows.Count
Case 3
GRID3_TITLE = DT_MONITOR_KONFIG.Rows(2).Item("GRID_TITLE")
GRID3_SQL = DT_MONITOR_KONFIG.Rows(2).Item("GRID_SQL")
GridView3.ViewCaption = GRID3_TITLE
Case 4
GRID3_TITLE = DT_MONITOR_KONFIG.Rows(2).Item("GRID_TITLE")
GRID3_SQL = DT_MONITOR_KONFIG.Rows(2).Item("GRID_SQL")
GridView3.ViewCaption = GRID3_TITLE
GRID4_TITLE = DT_MONITOR_KONFIG.Rows(3).Item("GRID_TITLE")
GRID4_SQL = DT_MONITOR_KONFIG.Rows(3).Item("GRID_SQL")
GridView4.ViewCaption = GRID4_TITLE
End Select
End If
Catch ex As Exception Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error in Load_Grid_Data:") MsgBox(ex.Message, MsgBoxStyle.Critical, "Error in Load_Grid_Data:")
Finally Finally
FormShown = True FormShown = True
End Try End Try
End Function End Function
Sub LoadGrid1Layout() Private Function GetGridLayoutPath(pGridNumber As Integer) As String
Dim oFilename As String = $"DevExpressGridViewMonitor_UserLayout_Grid{pGridNumber}_Cockpit{COCKPIT_MONITOR_ID}.xml"
Return System.IO.Path.Combine(USER_CONFIG_DIRECTORY, oFilename)
End Function
Private Sub SaveGridLayout(pGridNumber As Integer)
Try Try
Dim Filename As String = String.Format("DevExpressGridViewMonitor_UserLayout_Grid1.xml") Dim oGridView As GridView = Nothing
Dim xml As String = System.IO.Path.Combine(USER_CONFIG_DIRECTORY, Filename) Select Case pGridNumber
If File.Exists(xml) Then Case 1 : oGridView = GridView1
GridView1.RestoreLayoutFromXml(xml, OptionsLayoutBase.FullLayout) Case 2 : oGridView = GridView2
Case 3 : oGridView = GridView3
Case 4 : oGridView = GridView4
Case Else
LOGGER.Warn($"SaveGridLayout: Invalid grid number [{pGridNumber}]")
Exit Sub
End Select
oGridView.SaveLayoutToXml(GetGridLayoutPath(pGridNumber), OptionsLayoutBase.FullLayout)
LOGGER.Debug($"SaveGridLayout: Grid{pGridNumber} layout saved for Cockpit [{COCKPIT_MONITOR_ID}]")
Catch ex As Exception
LOGGER.Error(ex)
LOGGER.Info($"Error while saving Grid{pGridNumber}Layout: {ex.Message}")
End Try
End Sub
Private Sub LoadGridLayout(pGridNumber As Integer)
Try
Dim oXml As String = GetGridLayoutPath(pGridNumber)
If Not File.Exists(oXml) Then Exit Sub
Dim oGridView As GridView = Nothing
Select Case pGridNumber
Case 1 : oGridView = GridView1
Case 2 : oGridView = GridView2
Case 3 : oGridView = GridView3
Case 4 : oGridView = GridView4
Case Else
LOGGER.Warn($"LoadGridLayout: Invalid grid number [{pGridNumber}]")
Exit Sub
End Select
oGridView.RestoreLayoutFromXml(oXml, OptionsLayoutBase.FullLayout)
LOGGER.Debug($"LoadGridLayout: Grid{pGridNumber} layout restored for Cockpit [{COCKPIT_MONITOR_ID}]")
Catch ex As Exception
LOGGER.Error(ex)
LOGGER.Info($"Error while restoring Grid{pGridNumber}Layout: {ex.Message}")
End Try
End Sub
Private Sub RemoveGridLayout(pGridNumber As Integer)
Try
Dim oXml As String = GetGridLayoutPath(pGridNumber)
If File.Exists(oXml) Then
IO.File.Delete(oXml)
LOGGER.Debug($"RemoveGridLayout: Grid{pGridNumber} layout removed for Cockpit [{COCKPIT_MONITOR_ID}]")
End If End If
Catch ex As Exception Catch ex As Exception
LOGGER.Error(ex) LOGGER.Error(ex)
LOGGER.Info("Error while restoring layout 1: " & ex.Message) LOGGER.Info($"Error while removing Grid{pGridNumber}Layout: {ex.Message}")
End Try End Try
End Sub End Sub
Sub LoadGrid2Layout()
Try
Dim Filename As String = String.Format("DevExpressGridViewMonitor_UserLayout_Grid2.xml")
Dim xml As String = System.IO.Path.Combine(USER_CONFIG_DIRECTORY, Filename)
If File.Exists(xml) Then
GridView2.RestoreLayoutFromXml(xml, OptionsLayoutBase.FullLayout)
End If
Catch ex As Exception
LOGGER.Error(ex)
LOGGER.Info("Error while restoring layout 2: " & ex.Message)
End Try
End Sub
Sub LoadGrid3Layout()
Try
Dim Filename As String = String.Format("DevExpressGridViewMonitor_UserLayout_Grid3.xml")
Dim xml As String = System.IO.Path.Combine(USER_CONFIG_DIRECTORY, Filename)
If File.Exists(xml) Then
GridView3.RestoreLayoutFromXml(xml, OptionsLayoutBase.FullLayout)
End If
Catch ex As Exception
LOGGER.Error(ex)
LOGGER.Info("Error while restoring layout 3: " & ex.Message)
End Try
End Sub
Sub LoadGrid4Layout()
Try
Dim Filename As String = String.Format("DevExpressGridViewMonitor_UserLayout_Grid4.xml")
Dim xml As String = System.IO.Path.Combine(USER_CONFIG_DIRECTORY, Filename)
If File.Exists(xml) Then
GridView4.RestoreLayoutFromXml(xml, OptionsLayoutBase.FullLayout)
End If
Catch ex As Exception
LOGGER.Error(ex)
LOGGER.Info("Error while restoring layout 4: " & ex.Message)
End Try
End Sub
Sub SaveGrid1layout()
Try
Dim o = USER_CONFIG_DIRECTORY
Dim Filename As String = String.Format("DevExpressGridViewMonitor_UserLayout_Grid1.xml")
Dim xml As String = System.IO.Path.Combine(USER_CONFIG_DIRECTORY, Filename)
GridView1.SaveLayoutToXml(xml, OptionsLayoutBase.FullLayout)
Catch ex As Exception
LOGGER.Error(ex)
LOGGER.Info("Error while saving Grid1Layout: " & ex.Message)
End Try
End Sub
Sub RemoveLayout()
Try
Dim Filename As String = String.Format("DevExpressGridViewMonitor_UserLayout_Grid1.xml")
Dim xml As String = System.IO.Path.Combine(USER_CONFIG_DIRECTORY, Filename)
IO.File.Delete(xml)
Catch ex As Exception
LOGGER.Error(ex)
LOGGER.Info("Error while saving RemoveLayout1: " & ex.Message)
End Try
End Sub
Sub SaveGrid2layout()
Try
Dim Filename As String = String.Format("DevExpressGridViewMonitor_UserLayout_Grid2.xml")
Dim xml As String = System.IO.Path.Combine(USER_CONFIG_DIRECTORY, Filename)
GridView2.SaveLayoutToXml(xml, OptionsLayoutBase.FullLayout)
Catch ex As Exception
LOGGER.Error(ex)
LOGGER.Info("Error while saving Grid2Layout: " & ex.Message)
End Try
End Sub
Sub RemoveLayout2()
Try
Dim Filename As String = String.Format("DevExpressGridViewMonitor_UserLayout_Grid2.xml")
Dim xml As String = System.IO.Path.Combine(USER_CONFIG_DIRECTORY, Filename)
IO.File.Delete(xml)
Catch ex As Exception
LOGGER.Error(ex)
LOGGER.Info("Error while saving RemoveLayout2: " & ex.Message)
End Try
End Sub
Sub SaveGrid3layout()
Try
Dim Filename As String = String.Format("DevExpressGridViewMonitor_UserLayout_Grid3.xml")
Dim xml As String = System.IO.Path.Combine(USER_CONFIG_DIRECTORY, Filename)
GridView3.SaveLayoutToXml(xml, OptionsLayoutBase.FullLayout)
Catch ex As Exception
LOGGER.Error(ex)
LOGGER.Info("Error while saving Grid3Layout: " & ex.Message)
End Try
End Sub
Sub RemoveLayout3()
Try
Dim Filename As String = String.Format("DevExpressGridViewMonitor_UserLayout_Grid3.xml")
Dim xml As String = System.IO.Path.Combine(USER_CONFIG_DIRECTORY, Filename)
IO.File.Delete(xml)
Catch ex As Exception
LOGGER.Error(ex)
LOGGER.Info("Error while saving RemoveLayout3: " & ex.Message)
End Try
End Sub
Sub SaveGrid4layout()
Try
Dim Filename As String = String.Format("DevExpressGridViewMonitor_UserLayout_Grid4.xml")
Dim xml As String = System.IO.Path.Combine(USER_CONFIG_DIRECTORY, Filename)
GridView4.SaveLayoutToXml(xml, OptionsLayoutBase.FullLayout)
Catch ex As Exception
LOGGER.Error(ex)
LOGGER.Info("Error while saving Grid4Layout: " & ex.Message)
End Try
End Sub
Sub RemoveLayout4()
Try
Dim Filename As String = String.Format("DevExpressGridViewMonitor_UserLayout_Grid4.xml")
Dim xml As String = System.IO.Path.Combine(USER_CONFIG_DIRECTORY, Filename)
IO.File.Delete(xml)
Catch ex As Exception
LOGGER.Error(ex)
LOGGER.Info("Error while saving RemoveLayout4: " & ex.Message)
End Try
End Sub
Private Sub frmMonitor_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing Private Sub frmMonitor_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing
Select Case DT_MONITOR_KONFIG.Rows.Count Select Case DT_MONITOR_KONFIG.Rows.Count
Case 2 Case 2
SaveGrid1layout() SaveGridLayout(1)
SaveGrid2layout() SaveGridLayout(2)
Case 3 Case 3
SaveGrid1layout() SaveGridLayout(1)
SaveGrid2layout() SaveGridLayout(2)
SaveGrid3layout() SaveGridLayout(3)
CONFIG.Config.MonitorSplitter1_Distance = SplitContainerControl1.SplitterPosition CONFIG.Config.MonitorSplitter1_Distance = SplitContainerControl1.SplitterPosition
CONFIG.Config.MonitorSplitter2_Distance = SplitContainerControl2.SplitterPosition CONFIG.Config.MonitorSplitter2_Distance = SplitContainerControl2.SplitterPosition
Case 4 Case 4
SaveGrid1layout() SaveGridLayout(1)
SaveGrid2layout() SaveGridLayout(2)
SaveGrid3layout() SaveGridLayout(3)
SaveGrid4layout() SaveGridLayout(4)
CONFIG.Config.MonitorSplitter1_Distance = SplitContainerControl1.SplitterPosition CONFIG.Config.MonitorSplitter1_Distance = SplitContainerControl1.SplitterPosition
CONFIG.Config.MonitorSplitter2_Distance = SplitContainerControl2.SplitterPosition CONFIG.Config.MonitorSplitter2_Distance = SplitContainerControl2.SplitterPosition
CONFIG.Config.MonitorSplitter3_Distance = SplitContainerControl3.SplitterPosition CONFIG.Config.MonitorSplitter3_Distance = SplitContainerControl3.SplitterPosition
@@ -465,6 +401,7 @@ Public Class frmMonitor
Private Sub frmMonitor_Shown(sender As Object, e As EventArgs) Handles Me.Shown Private Sub frmMonitor_Shown(sender As Object, e As EventArgs) Handles Me.Shown
FormShown = True FormShown = True
Load_Detail() Load_Detail()
Me.BringToFront()
End Sub End Sub
Private Sub BarButtonItem1_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem1.ItemClick Private Sub BarButtonItem1_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem1.ItemClick
@@ -549,17 +486,17 @@ Public Class frmMonitor
Private Async Sub BarButtonItem4_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem4.ItemClick Private Async Sub BarButtonItem4_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem4.ItemClick
Select Case DT_MONITOR_KONFIG.Rows.Count Select Case DT_MONITOR_KONFIG.Rows.Count
Case 2 Case 2
RemoveLayout() RemoveGridLayout(1)
RemoveLayout2() RemoveGridLayout(2)
Case 3 Case 3
RemoveLayout() RemoveGridLayout(1)
RemoveLayout2() RemoveGridLayout(2)
RemoveLayout3() RemoveGridLayout(3)
Case 4 Case 4
RemoveLayout() RemoveGridLayout(1)
RemoveLayout2() RemoveGridLayout(2)
RemoveLayout3() RemoveGridLayout(3)
RemoveLayout4() RemoveGridLayout(4)
End Select End Select
GridView1.ShowLoadingPanel() GridView1.ShowLoadingPanel()

View File

@@ -616,7 +616,7 @@
<value>DocumentViewer1</value> <value>DocumentViewer1</value>
</data> </data>
<data name="&gt;&gt;DocumentViewer1.Type" xml:space="preserve"> <data name="&gt;&gt;DocumentViewer1.Type" xml:space="preserve">
<value>DigitalData.Controls.DocumentViewer.DocumentViewer, DigitalData.Controls.DocumentViewer, Version=2.7.2.0, Culture=neutral, PublicKeyToken=null</value> <value>DigitalData.Controls.DocumentViewer.DocumentViewer, DigitalData.Controls.DocumentViewer, Version=2.7.0.0, Culture=neutral, PublicKeyToken=null</value>
</data> </data>
<data name="&gt;&gt;DocumentViewer1.Parent" xml:space="preserve"> <data name="&gt;&gt;DocumentViewer1.Parent" xml:space="preserve">
<value>SplitContainer1.Panel2</value> <value>SplitContainer1.Panel2</value>

View File

@@ -4,7 +4,6 @@ Imports System.Data.Entity.Core.Common.CommandTrees
'Imports System.Data.SqlClient 'Imports System.Data.SqlClient
Imports System.Globalization Imports System.Globalization
Imports System.IO Imports System.IO
Imports System.Linq
Imports System.Reflection Imports System.Reflection
Imports System.Runtime.InteropServices Imports System.Runtime.InteropServices
Imports System.Text.RegularExpressions Imports System.Text.RegularExpressions
@@ -28,7 +27,6 @@ Imports DigitalData.Controls.LookupGrid
Imports DigitalData.GUIs.Common Imports DigitalData.GUIs.Common
Imports DigitalData.GUIs.Common.DocumentResultList Imports DigitalData.GUIs.Common.DocumentResultList
Imports DigitalData.Modules.Base Imports DigitalData.Modules.Base
Imports DigitalData.Modules.EDMI.API
Imports DigitalData.Modules.EDMI.API.Constants Imports DigitalData.Modules.EDMI.API.Constants
Imports DigitalData.Modules.EDMI.API.DatabaseWithFallback Imports DigitalData.Modules.EDMI.API.DatabaseWithFallback
Imports DigitalData.Modules.Interfaces Imports DigitalData.Modules.Interfaces
@@ -38,6 +36,7 @@ Imports DigitalData.Modules.ZooFlow.Constants
'Imports System.Windows.Forms.VisualStyles.VisualStyleElement 'Imports System.Windows.Forms.VisualStyles.VisualStyleElement
'Imports System.Windows.Forms.VisualStyles.VisualStyleElement.TextBox 'Imports System.Windows.Forms.VisualStyles.VisualStyleElement.TextBox
Imports WINDREAMLib Imports WINDREAMLib
Imports System.Linq
Public Class frmValidator Public Class frmValidator
Public Event CustomColumnDisplayText As CustomColumnDisplayTextEventHandler Public Event CustomColumnDisplayText As CustomColumnDisplayTextEventHandler
@@ -50,12 +49,12 @@ Public Class frmValidator
''' <summary> ''' <summary>
''' Contains all grid columns for the current profile ''' Contains all grid columns for the current profile
''' </summary> ''' </summary>
Public Property DT_COLUMNS_GRID As DataTable Private Property DT_COLUMNS_GRID As DataTable
Private Property GIT_TEST As Boolean = False Private Property GIT_TEST As Boolean = False
''' <summary> ''' <summary>
''' Contains all grid columns for the current profile which have an sql but don't have a reference to a control ''' Contains all grid columns for the current profile which have an sql but don't have a reference to a control
''' </summary> ''' </summary>
Public Property DT_COLUMNS_GRID_WITH_SQL As DataTable Private Property DT_COLUMNS_GRID_WITH_SQL As DataTable
''' <summary> ''' <summary>
''' Contains all grid columns for the current profile which have an sql and have a reference to a control ''' Contains all grid columns for the current profile which have an sql and have a reference to a control
@@ -137,16 +136,14 @@ Public Class frmValidator
Private _CachedControlsByGuid As Dictionary(Of Integer, Control) Private _CachedControlsByGuid As Dictionary(Of Integer, Control)
Private _isUpdatingLookup As Boolean = False Private _isUpdatingLookup As Boolean = False
Private _suppressLookupEvents As Boolean = False Private _suppressLookupEvents As Boolean = False
Private _isShowingErrorDialog As Boolean = False Private _isShowingErrorDialog As Boolean = False ' ← NEU: Klassenvariable oben hinzufügen
Private _overlayHandle As Object = Nothing Private _overlayHandle As Object = Nothing ' ← NEU: Klassenvariable
Private _overlayRefCount As Integer = 0 'Zähler für verschachtelte Calls Private _overlayRefCount As Integer = 0 ' ← NEU: Zähler für verschachtelte Calls
Private _overlayLock As New Object() 'Thread-Safe Lock Private _overlayLock As New Object() ' ← NEU: Thread-Safe Lock
Private _documentPathHandler As DocumentPathHandler Private _documentPathHandler As DocumentPathHandler
Private _isLoadingAdditionalSearches As Boolean = False Private _isLoadingAdditionalSearches As Boolean = False
Private _gridDataLoader As ClassGridDataLoader
Private _separateGridDataCache As New Dictionary(Of String, DataTable)
' Bei den anderen Private-Deklarationen:
Private _separateGridControlCache As New Dictionary(Of String, GridControl)
Private Class Translation_Strings Private Class Translation_Strings
Inherits My.Resources.frmValidator_Strings Inherits My.Resources.frmValidator_Strings
End Class End Class
@@ -410,7 +407,7 @@ Public Class frmValidator
Catch ex As Exception Catch ex As Exception
MyValidationLogger.Error(ex) MyValidationLogger.Error(ex)
MsgBox("Error LOADING profile-data(" & _step.ToString & "):" & vbCrLf & ex.Message, MsgBoxStyle.Critical, "Attention:") MsgBox("Error LOADING profile-data(" & _step.ToString & "):" & vbcrlf & ex.Message, MsgBoxStyle.Critical, "Attention:")
MyValidationLogger.Info(">> Error in LOADING profile-data: " & ex.Message, True) MyValidationLogger.Info(">> Error in LOADING profile-data: " & ex.Message, True)
Me.Close() Me.Close()
End Try End Try
@@ -546,7 +543,7 @@ Public Class frmValidator
Catch ex As Exception Catch ex As Exception
MyValidationLogger.Error(ex) MyValidationLogger.Error(ex)
MsgBox("Error loading final profile text:" & vbCrLf & ex.Message, MsgBoxStyle.Critical, "Attention:") MsgBox("Error loading final profile text:" & vbcrlf & ex.Message, MsgBoxStyle.Critical, "Attention:")
MyValidationLogger.Info(">> Error loading final profile text: " & ex.Message, True) MyValidationLogger.Info(">> Error loading final profile text: " & ex.Message, True)
End Try End Try
@@ -681,7 +678,7 @@ Public Class frmValidator
Catch ex As Exception Catch ex As Exception
MyValidationLogger.Error(ex) MyValidationLogger.Error(ex)
MsgBox("Error LOADING Profile-Data1:" & vbCrLf & ex.Message, MsgBoxStyle.Critical, "Attention:") MsgBox("Error LOADING Profile-Data1:" & vbcrlf & ex.Message, MsgBoxStyle.Critical, "Attention:")
MyValidationLogger.Info("Unexpected error in LOADING Profile-Data1: " & ex.Message) MyValidationLogger.Info("Unexpected error in LOADING Profile-Data1: " & ex.Message)
End Try End Try
End Sub End Sub
@@ -736,20 +733,20 @@ Public Class frmValidator
Try Try
If LOG_HOTSPOTS Then If LOG_HOTSPOTS Then
' ========== DIAGNOSE: Wer schließt die Form? ========== ' ========== DIAGNOSE: Wer schließt die Form? ==========
MyValidationLogger.Debug($"frmValidator_FormClosing aufgerufen!") MyValidationLogger.Debug($"LOG_HOTSPOTS - frmValidator_FormClosing aufgerufen!")
MyValidationLogger.Debug($"CloseReason: {e.CloseReason}") MyValidationLogger.Debug($"LOG_HOTSPOTS - CloseReason: {e.CloseReason}")
MyValidationLogger.Debug($"Cancel: {e.Cancel}") MyValidationLogger.Debug($"LOG_HOTSPOTS - Cancel: {e.Cancel}")
Try Try
MyValidationLogger?.Debug($"StackTrace: {System.Environment.StackTrace}") MyValidationLogger?.Debug($"LOG_HOTSPOTS - StackTrace NO ERROR: {System.Environment.StackTrace}")
Catch ex As Exception Catch ex As Exception
MyValidationLogger?.Debug($"StackTrace konnte nicht ermittelt werden: {ex.Message}") MyValidationLogger?.Debug($"LOG_HOTSPOTS - StackTrace konnte nicht ermittelt werden: {ex.Message}")
End Try End Try
' Zusätzliche Diagnostik ' Zusätzliche Diagnostik
MyValidationLogger.Debug($"_FormClosing-Flag: {_FormClosing}") MyValidationLogger.Debug($"LOG_HOTSPOTS - _FormClosing-Flag: {_FormClosing}")
MyValidationLogger.Debug($"CURRENT_DOC_GUID: {CURRENT_DOC_GUID}") MyValidationLogger.Debug($"LOG_HOTSPOTS - CURRENT_DOC_GUID: {CURRENT_DOC_GUID}")
MyValidationLogger.Debug($"CURRENT_ProfilGUID: {CURRENT_ProfilGUID}") MyValidationLogger.Debug($"LOG_HOTSPOTS - CURRENT_ProfilGUID: {CURRENT_ProfilGUID}")
' ========== ENDE DIAGNOSE ========== ' ========== ENDE DIAGNOSE ==========
End If End If
@@ -758,7 +755,7 @@ Public Class frmValidator
If LOG_HOTSPOTS Then If LOG_HOTSPOTS Then
perfStart = DateTime.Now perfStart = DateTime.Now
perfLastCheck = perfStart perfLastCheck = perfStart
MyValidationLogger.Info("[PERF frmValidation_FormClosing] START") MyValidationLogger.Info("LOG_HOTSPOTS - [PERF frmValidation_FormClosing] START")
End If End If
_FormClosing = True _FormClosing = True
@@ -774,7 +771,7 @@ Public Class frmValidator
End If End If
If LOG_HOTSPOTS Then If LOG_HOTSPOTS Then
MyValidationLogger.Info($"[PERF frmValidation_FormClosing] nach Messages-Close: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms") MyValidationLogger.Info($"[LOG_HOTSPOTS - frmValidation_FormClosing] nach Messages-Close: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms")
perfLastCheck = DateTime.Now perfLastCheck = DateTime.Now
End If End If
@@ -792,7 +789,7 @@ Public Class frmValidator
End If End If
If LOG_HOTSPOTS Then If LOG_HOTSPOTS Then
MyValidationLogger.Info($"[PERF frmValidation_FormClosing] nach Settings.Save: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms") MyValidationLogger.Info($"[LOG_HOTSPOTS - frmValidation_FormClosing] nach Settings.Save: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms")
perfLastCheck = DateTime.Now perfLastCheck = DateTime.Now
End If End If
@@ -805,7 +802,7 @@ Public Class frmValidator
End If End If
If LOG_HOTSPOTS Then If LOG_HOTSPOTS Then
MyValidationLogger.Info($"[PERF frmValidation_FormClosing] nach Timer-Reset: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms") MyValidationLogger.Info($"[LOG_HOTSPOTS - frmValidation_FormClosing] nach Timer-Reset: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms")
perfLastCheck = DateTime.Now perfLastCheck = DateTime.Now
End If End If
@@ -821,18 +818,18 @@ Public Class frmValidator
DatabaseFallback.ExecuteNonQueryECM(oSQL) DatabaseFallback.ExecuteNonQueryECM(oSQL)
Catch ex As Exception Catch ex As Exception
MyValidationLogger.Error(ex) MyValidationLogger.Error(ex)
MsgBox("Error in delete jumped files:" & vbCrLf & ex.Message, MsgBoxStyle.Critical) MsgBox("Error in delete jumped files:" & vbcrlf & ex.Message, MsgBoxStyle.Critical)
End Try End Try
If LOG_HOTSPOTS Then If LOG_HOTSPOTS Then
MyValidationLogger.Info($"[PERF frmValidation_FormClosing] nach DB-Cleanup: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms") MyValidationLogger.Info($"[LOG_HOTSPOTS - frmValidation_FormClosing] nach DB-Cleanup: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms")
perfLastCheck = DateTime.Now perfLastCheck = DateTime.Now
End If End If
Reset_CurrentReferences() Reset_CurrentReferences()
If LOG_HOTSPOTS Then If LOG_HOTSPOTS Then
MyValidationLogger.Info($"[PERF frmValidation_FormClosing] nach Reset_CurrentReferences: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms") MyValidationLogger.Info($"[LOG_HOTSPOTS - frmValidation_FormClosing] nach Reset_CurrentReferences: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms")
perfLastCheck = DateTime.Now perfLastCheck = DateTime.Now
End If End If
@@ -847,7 +844,7 @@ Public Class frmValidator
If LOG_HOTSPOTS Then If LOG_HOTSPOTS Then
MyValidationLogger.Info($"[PERF frmValidation_FormClosing] nach DocumentViewer.Done: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms") MyValidationLogger.Info($"[LOG_HOTSPOTS - frmValidation_FormClosing] nach DocumentViewer.Done: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms")
perfLastCheck = DateTime.Now perfLastCheck = DateTime.Now
End If End If
@@ -861,14 +858,14 @@ Public Class frmValidator
If LOG_HOTSPOTS Then If LOG_HOTSPOTS Then
MyValidationLogger.Info($"[PERF frmValidation_FormClosing] nach ValidatorSearch.Close: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms") MyValidationLogger.Info($"[LOG_HOTSPOTS - frmValidation_FormClosing] nach ValidatorSearch.Close: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms")
perfLastCheck = DateTime.Now perfLastCheck = DateTime.Now
End If End If
' ========== NEU: Temp-Ordner bereinigen ========== ' ========== NEU: Temp-Ordner bereinigen ==========
Try Try
If COPY_WMFILE_2TEMP = True Then If COPY_WMFILE_2TEMP = True Then
MyValidationLogger.Debug("🗑️ Bereinige Temp-Ordner beim Schließen...") MyValidationLogger.Debug("🗑️ Bereinige Temp-Ordner beim Schließen...")
_documentPathHandler.CleanupTempFolder() CleanupTempFolder()
End If End If
Catch cleanupEx As Exception Catch cleanupEx As Exception
MyValidationLogger.Warn($"⚠️ Fehler beim Bereinigen des Temp-Ordners: {cleanupEx.Message}") MyValidationLogger.Warn($"⚠️ Fehler beim Bereinigen des Temp-Ordners: {cleanupEx.Message}")
@@ -887,7 +884,7 @@ Public Class frmValidator
End If End If
If LOG_HOTSPOTS Then If LOG_HOTSPOTS Then
MyValidationLogger.Info($"[PERF frmValidation_FormClosing] GESAMT: {(DateTime.Now - perfStart).TotalMilliseconds}ms") MyValidationLogger.Info($"[LOG_HOTSPOTS - frmValidation_FormClosing] GESAMT: {(DateTime.Now - perfStart).TotalMilliseconds}ms")
End If End If
@@ -904,7 +901,52 @@ Public Class frmValidator
End If End If
End Sub End Sub
Private Sub CleanupTempFolder()
Try
If String.IsNullOrEmpty(TEMP_DOCUMENT_FOLDER) Then
MyValidationLogger.Debug("TEMP_DOCUMENT_FOLDER ist nicht gesetzt → Kein Cleanup erforderlich")
Return
End If
If Not System.IO.Directory.Exists(TEMP_DOCUMENT_FOLDER) Then
MyValidationLogger.Debug($"Temp-Ordner [{TEMP_DOCUMENT_FOLDER}] existiert nicht → Kein Cleanup erforderlich")
Return
End If
' Alle Dateien im Ordner ermitteln
Dim files As String() = System.IO.Directory.GetFiles(TEMP_DOCUMENT_FOLDER)
If files.Length = 0 Then
MyValidationLogger.Debug($"Temp-Ordner [{TEMP_DOCUMENT_FOLDER}] ist bereits leer")
Return
End If
' Alle Dateien löschen
Dim deletedCount As Integer = 0
Dim errorCount As Integer = 0
For Each filePath As String In files
Try
System.IO.File.Delete(filePath)
deletedCount += 1
MyValidationLogger.Debug($"Datei gelöscht: [{System.IO.Path.GetFileName(filePath)}]")
Catch fileEx As Exception
errorCount += 1
MyValidationLogger.Warn($"⚠️ Datei konnte nicht gelöscht werden: [{System.IO.Path.GetFileName(filePath)}] - {fileEx.Message}")
End Try
Next
If errorCount = 0 Then
MyValidationLogger.Debug($"✓ Temp-Ordner bereinigt: {deletedCount} Datei(en) gelöscht")
Else
MyValidationLogger.Warn($"⚠️ Temp-Ordner teilweise bereinigt: {deletedCount} gelöscht, {errorCount} Fehler")
End If
Catch ex As Exception
MyValidationLogger.Error($"❌ Fehler beim Bereinigen des Temp-Ordners: {ex.Message}")
MyValidationLogger.Error(ex)
End Try
End Sub
Public Function Test_Additional_Data_Searches_Exist() As Boolean Public Function Test_Additional_Data_Searches_Exist() As Boolean
If DT_FILTERED_PROFILE_SEARCHES_DATA.Rows.Count > 0 Then If DT_FILTERED_PROFILE_SEARCHES_DATA.Rows.Count > 0 Then
@@ -976,8 +1018,6 @@ Public Class frmValidator
MyValidationLogger.Debug($"Current_Document: Id={Current_Document?.Id}, Path={Current_Document?.FullPath}") MyValidationLogger.Debug($"Current_Document: Id={Current_Document?.Id}, Path={Current_Document?.FullPath}")
MyValidationLogger.Debug("========================================") MyValidationLogger.Debug("========================================")
DT_AdditionalSearches_Resultset_Docs = Nothing
Dim allSQLSearches As DataTable = DT_FILTERED_PROFILE_SEARCHES_DATA Dim allSQLSearches As DataTable = DT_FILTERED_PROFILE_SEARCHES_DATA
Dim allDocSearches As DataTable = DT_FILTERED_PROFILE_SEARCHES_DOC Dim allDocSearches As DataTable = DT_FILTERED_PROFILE_SEARCHES_DOC
@@ -1008,7 +1048,6 @@ Public Class frmValidator
MyValidationLogger.Debug("--- Ergebnisse werden geprüft (DATA/DOC) ---") MyValidationLogger.Debug("--- Ergebnisse werden geprüft (DATA/DOC) ---")
Dim validSQLSearches As DataTable = allSQLSearches.Clone() Dim validSQLSearches As DataTable = allSQLSearches.Clone()
Dim validDocSearches As DataTable = allDocSearches.Clone() Dim validDocSearches As DataTable = allDocSearches.Clone()
Dim aggregatedDocResults As DataTable = Nothing
If hasDATASearches Then If hasDATASearches Then
For i As Integer = 0 To allSQLSearches.Rows.Count - 1 For i As Integer = 0 To allSQLSearches.Rows.Count - 1
@@ -1052,12 +1091,6 @@ Public Class frmValidator
If IsValidDocSearchResult(testDT) Then If IsValidDocSearchResult(testDT) Then
validDocSearches.ImportRow(searchRow) validDocSearches.ImportRow(searchRow)
MyValidationLogger.Info($"✓ Doc-Search '{tabTitle}': {testDT.Rows.Count} Dokumente gefunden") MyValidationLogger.Info($"✓ Doc-Search '{tabTitle}': {testDT.Rows.Count} Dokumente gefunden")
If aggregatedDocResults Is Nothing Then
aggregatedDocResults = testDT.Clone()
End If
For Each resultRow As DataRow In testDT.Rows
aggregatedDocResults.ImportRow(resultRow)
Next
Else Else
MyValidationLogger.Warn($"⚠️ Doc-Search '{tabTitle}' liefert kein Dokument-Schema (DocID/FULL_FILENAME) und wird übersprungen.") MyValidationLogger.Warn($"⚠️ Doc-Search '{tabTitle}' liefert kein Dokument-Schema (DocID/FULL_FILENAME) und wird übersprungen.")
End If End If
@@ -1069,10 +1102,6 @@ Public Class frmValidator
End Try End Try
Next Next
End If End If
DT_AdditionalSearches_Resultset_Docs = aggregatedDocResults
If DT_AdditionalSearches_Resultset_Docs IsNot Nothing Then
MyValidationLogger.Debug($"Zusätzliche Doc-Results gecached: {DT_AdditionalSearches_Resultset_Docs.Rows.Count} Rows")
End If
AdditionalDataResultsExist = validSQLSearches.Rows.Count > 0 AdditionalDataResultsExist = validSQLSearches.Rows.Count > 0
AdditionalDocResultsExist = validDocSearches.Rows.Count > 0 AdditionalDocResultsExist = validDocSearches.Rows.Count > 0
@@ -1665,7 +1694,9 @@ Public Class frmValidator
Case "TABLE" Case "TABLE"
If LOG_PERF Then PerformanceLogger.Info("Create_Controls/Table") If LOG_PERF Then PerformanceLogger.Info("Create_Controls/Table")
oControlInfo = "TABLE#" & oControlInfo oControlInfo = "TABLE#" & oControlInfo
Dim oFilteredDatatable As DataTable = DT_COLUMNS_GRID.Clone() Dim oFilteredDatatable As DataTable = DT_COLUMNS_GRID.Clone()
Dim oExpression = $"CONTROL_ID = {oControlRow.Item("GUID")}" Dim oExpression = $"CONTROL_ID = {oControlRow.Item("GUID")}"
DT_COLUMNS_GRID.Select(oExpression, "SEQUENCE").CopyToDataTable(oFilteredDatatable, LoadOption.PreserveChanges) DT_COLUMNS_GRID.Select(oExpression, "SEQUENCE").CopyToDataTable(oFilteredDatatable, LoadOption.PreserveChanges)
@@ -1676,58 +1707,13 @@ Public Class frmValidator
Continue For Continue For
End If End If
Dim displayInSeparateForm As Boolean = False Dim oGrid = ControlCreator.CreateExistingGridControl(oControlRow, oFilteredDatatable, False, DocCurrency)
If Not IsDBNull(oControlRow("DISPLAY_IN_SEPERATE_FORM")) Then oMyControl = oGrid
displayInSeparateForm = CBool(oControlRow("DISPLAY_IN_SEPERATE_FORM")) ' NEU: GridView Event registrieren
End If AddHandler DirectCast(oGrid.MainView, GridView).CellValueChanged, AddressOf GridView_CellValueChanged
AddHandler DirectCast(oGrid.DataSource, DataTable).RowDeleted, AddressOf GridDataSource_RowDeleted
If displayInSeparateForm Then AddHandler DirectCast(oGrid.MainView, GridView).KeyDown, AddressOf GridView_KeyDown
MyValidationLogger.Debug($"[{oControlInfo}] - DisplayInSeparateForm is True. Creating a separate form for the grid.") AddHandler DirectCast(oGrid.MainView, GridView).RowDeleting, AddressOf GridView_RowDeleting
' Button erstellen statt Grid
Dim btnShowGrid As New DevExpress.XtraEditors.SimpleButton()
btnShowGrid.Name = "BTNDYN_GRID_" + oControlRow("NAME").ToString()
Dim oTitle = "TABLE." + oControlRow("NAME").ToString()
Dim oCaption = ClassAllgemeineFunktionen.GUI_LANGUAGE_INFO(oTitle)
If IsNothing(oCaption) Then
btnShowGrid.Text = oControlRow("CTRL_TEXT").ToString()
Else
btnShowGrid.Text = oCaption
End If
btnShowGrid.Font = New Font("Segoe UI", 10.0F, FontStyle.Bold)
' Button-Position aus oControlRow setzen
If Not IsDBNull(oControlRow("X_LOC")) Then
btnShowGrid.Left = CInt(oControlRow("X_LOC"))
End If
If Not IsDBNull(oControlRow("Y_LOC")) Then
btnShowGrid.Top = CInt(oControlRow("Y_LOC"))
End If
' Dynamische Breite basierend auf Textlänge berechnen
Using g As Graphics = btnShowGrid.CreateGraphics()
Dim textSize As SizeF = g.MeasureString(btnShowGrid.Text, btnShowGrid.Font)
btnShowGrid.Width = CInt(textSize.Width) + 20 ' +20 für Padding (links/rechts)
End Using
btnShowGrid.Height = 30
' Click-Event für Button
AddHandler btnShowGrid.Click, Sub(sender, e)
OpenGridInSeparateForm(oControlRow, oFilteredDatatable)
End Sub
PanelValidatorControl.Controls.Add(btnShowGrid)
Else
MyValidationLogger.Debug($"[{oControlInfo}] - DisplayInSeparateForm is False. Creating an embedded grid.")
Dim oGrid = ControlCreator.CreateExistingGridControl(oControlRow, oFilteredDatatable, False, DocCurrency, PanelValidatorControl)
oMyControl = oGrid
' NEU: GridView Event registrieren
AddHandler DirectCast(oGrid.MainView, GridView).CellValueChanged, AddressOf GridView_CellValueChanged
AddHandler DirectCast(oGrid.DataSource, DataTable).RowDeleted, AddressOf GridDataSource_RowDeleted
AddHandler DirectCast(oGrid.MainView, GridView).KeyDown, AddressOf GridView_KeyDown
AddHandler DirectCast(oGrid.MainView, GridView).RowDeleting, AddressOf GridView_RowDeleting
End If
Case "LINE" Case "LINE"
oMyControl = ControlCreator.CreateExistingLine(oControlRow, False) oMyControl = ControlCreator.CreateExistingLine(oControlRow, False)
@@ -1785,9 +1771,6 @@ Public Class frmValidator
Sub Clear_all_Input() Sub Clear_all_Input()
For Each inctrl As Control In Me.PanelValidatorControl.Controls For Each inctrl As Control In Me.PanelValidatorControl.Controls
If inctrl.Name.StartsWith("BTNDYN_GRID") Then
Continue For
End If
Dim Type As Type = inctrl.GetType Dim Type As Type = inctrl.GetType
Select Case True Select Case True
Case Type = GetType(DevExpress.XtraEditors.TextEdit) Or Type = GetType(MemoEdit) Case Type = GetType(DevExpress.XtraEditors.TextEdit) Or Type = GetType(MemoEdit)
@@ -2123,77 +2106,6 @@ Public Class frmValidator
End Sub End Sub
Private Sub OpenGridInSeparateForm(controlRow As DataRow, dataTable As DataTable)
Try
MyValidationLogger?.Debug($"Öffne Grid in separatem Fenster für Control: {controlRow("NAME")}")
Dim controlName As String = controlRow("NAME").ToString()
' Erstelle das separate Formular
Dim frmTable As New frmControl_Table(
controlRow,
dataTable,
DocCurrency,
Me,
ControlCreator
)
' Modal anzeigen
Dim dialogResult = frmTable.ShowDialog(Me)
' Nach dem Schließen: IsDirty-Status und GridControl übertragen
If frmTable.IsDirty Then
MyValidationLogger?.Debug("Separate Grid-Form wurde als 'Dirty' markiert - übertrage Status und GridControl")
' 1. GridControl aus separatem Formular holen
Dim separateGrid As GridControl = frmTable.GetGridControl()
If separateGrid IsNot Nothing Then
' 2. GridControl in Cache speichern für Check_UpdateIndexe
If _separateGridDataCache.ContainsKey(controlName) Then
' Ersetze DataTable durch GridControl-Referenz
_separateGridDataCache(controlName) = TryCast(separateGrid.DataSource, DataTable)
Else
_separateGridDataCache.Add(controlName, TryCast(separateGrid.DataSource, DataTable))
End If
' ODER BESSER: Speichere das GridControl selbst
' Dafür neues Dictionary verwenden
If _separateGridControlCache.ContainsKey(controlName) Then
_separateGridControlCache(controlName) = separateGrid
Else
_separateGridControlCache.Add(controlName, separateGrid)
End If
MyValidationLogger?.Debug($"GridControl für '{controlName}' gecacht")
End If
' 3. IsDirty für dieses Control setzen
If Not listofControls.Contains(controlName) Then
listofControls.Add(controlName)
MyValidationLogger?.Debug($"Control '{controlName}' zu listofControls hinzugefügt (IsDirty)")
End If
' Status-Label aktualisieren
SetStatusLabel("Tabellendaten wurden geändert", "Orange")
Else
MyValidationLogger?.Debug("Separate Grid-Form wurde NICHT geändert (IsDirty = False)")
End If
' WICHTIG: Formular NICHT disposen, da wir das GridControl noch brauchen!
' frmTable.Dispose() ← NICHT aufrufen!
Catch ex As Exception
MyValidationLogger?.Error($"Fehler beim Öffnen des separaten Grid-Fensters: {ex.Message}", ex)
XtraMessageBox.Show(
$"Fehler beim Öffnen des separaten Fensters:{vbCrLf}{ex.Message}",
"Fehler",
MessageBoxButtons.OK,
MessageBoxIcon.Error
)
End Try
End Sub
Public Sub onDGVRowValidating(ByVal sender As Object, ByVal e As DataGridViewCellCancelEventArgs) Public Sub onDGVRowValidating(ByVal sender As Object, ByVal e As DataGridViewCellCancelEventArgs)
Dim dgv As DataGridView = sender Dim dgv As DataGridView = sender
Try Try
@@ -4049,14 +3961,14 @@ Public Class frmValidator
If COPY_WMFILE_2TEMP = True Then If COPY_WMFILE_2TEMP = True Then
' Optionen konfigurieren ' Optionen konfigurieren
Dim options As New DocumentPathHandler.DocumentPathOptions With { Dim options As New DocumentPathHandler.DocumentPathOptions With {
.EnableMapping = True, .EnableMapping = True,
.WMSuffix = WMSUFFIX, .WMSuffix = WMSUFFIX,
.SpecificDrive = If(Len(MAP_SHARE_DRIVE) = 1, MAP_SHARE_DRIVE, ""), .SpecificDrive = If(Len(MAP_SHARE_DRIVE) = 1, MAP_SHARE_DRIVE, ""),
.DriveBlacklist = MAP_BLACKLIST, .DriveBlacklist = MAP_BLACKLIST,
.CopyToTemp = True, .CopyToTemp = True,
.TempFolder = TEMP_DOCUMENT_FOLDER, .TempFolder = TEMP_DOCUMENT_FOLDER,
.UnmapAfterCopy = True .UnmapAfterCopy = True
} }
' Verarbeiten ' Verarbeiten
Dim result = _documentPathHandler.ProcessDocumentPath(oFilePath_from_DB, options) Dim result = _documentPathHandler.ProcessDocumentPath(oFilePath_from_DB, options)
@@ -4069,7 +3981,6 @@ Public Class frmValidator
DocPathWindows = result.FinalPath DocPathWindows = result.FinalPath
WMDocPathWindows = oFilePath_from_DB WMDocPathWindows = oFilePath_from_DB
MyValidationLogger.Info($"✓ Dokument verarbeitet: [{Path.GetFileName(result.FinalPath)}]") MyValidationLogger.Info($"✓ Dokument verarbeitet: [{Path.GetFileName(result.FinalPath)}]")
Else Else
MyValidationLogger.Warn($"⚠️ Dokumentpfad-Verarbeitung fehlgeschlagen: {result.ErrorMessage}") MyValidationLogger.Warn($"⚠️ Dokumentpfad-Verarbeitung fehlgeschlagen: {result.ErrorMessage}")
MyValidationLogger.Warn($"⚠️ Fallback auf Originalpfad: [{oFilePath_from_DB}]") MyValidationLogger.Warn($"⚠️ Fallback auf Originalpfad: [{oFilePath_from_DB}]")
@@ -4083,7 +3994,6 @@ Public Class frmValidator
Return False Return False
End If End If
End If End If
CURRENT_DOC_PATH = WMDocPathWindows
Else Else
DocPathWindows = oFilePath_from_DB DocPathWindows = oFilePath_from_DB
MyValidationLogger.Info($"📄 Verwende Originalpfad: [{oFilePath_from_DB}]") MyValidationLogger.Info($"📄 Verwende Originalpfad: [{oFilePath_from_DB}]")
@@ -4135,11 +4045,11 @@ Public Class frmValidator
Sub Load_Next_Document(first As Boolean) Sub Load_Next_Document(first As Boolean)
If LOG_HOTSPOTS Then If LOG_HOTSPOTS Then
' ========== DIAGNOSE START ========== ' ========== DIAGNOSE START ==========
MyValidationLogger.Info($"[INFO] Load_Next_Document START - first: {first}") MyValidationLogger.Info($"LOG_HOTSPOTS - Load_Next_Document START - first: {first}")
MyValidationLogger.Info($" frmValidator.IsDisposed: {Me.IsDisposed}") MyValidationLogger.Info($"LOG_HOTSPOTS - frmValidator.IsDisposed: {Me.IsDisposed}")
MyValidationLogger.Info($" frmValidator.Visible: {Me.Visible}") MyValidationLogger.Info($"LOG_HOTSPOTS - frmValidator.Visible: {Me.Visible}")
MyValidationLogger.Info($" _FormClosing: {_FormClosing}") MyValidationLogger.Info($"LOG_HOTSPOTS - _FormClosing: {_FormClosing}")
MyValidationLogger.Info($" CURRENT_DOC_GUID: {CURRENT_DOC_GUID}") MyValidationLogger.Info($"LOG_HOTSPOTS - CURRENT_DOC_GUID: {CURRENT_DOC_GUID}")
' ========== ENDE DIAGNOSE ========== ' ========== ENDE DIAGNOSE ==========
End If End If
@@ -4150,13 +4060,11 @@ Public Class frmValidator
If LOG_HOTSPOTS Then If LOG_HOTSPOTS Then
perfStart = DateTime.Now perfStart = DateTime.Now
perfLastCheck = perfStart perfLastCheck = perfStart
MyValidationLogger.Info("[PERF LND] Load_Next_Document START") MyValidationLogger.Info("LOG_HOTSPOTS - Load_Next_Document START")
End If End If
_CachedSqlDataCache.Clear() _CachedSqlDataCache.Clear()
_CachedSqlScalarCache.Clear() _CachedSqlScalarCache.Clear()
_separateGridDataCache.Clear()
_separateGridControlCache.Clear()
_CachedSqlControlsByGuid = Nothing _CachedSqlControlsByGuid = Nothing
CURRENT_WMFILE = Nothing CURRENT_WMFILE = Nothing
activate_controls(False) activate_controls(False)
@@ -4198,7 +4106,7 @@ Public Class frmValidator
End If End If
If LOG_HOTSPOTS Then If LOG_HOTSPOTS Then
MyValidationLogger.Info($"[PERF LND] Nach Get_Next_GUID: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms") MyValidationLogger.Info($"LOG_HOTSPOTS - Nach Get_Next_GUID: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms")
perfLastCheck = DateTime.Now perfLastCheck = DateTime.Now
End If End If
@@ -4209,7 +4117,7 @@ Public Class frmValidator
End If End If
If LOG_HOTSPOTS Then If LOG_HOTSPOTS Then
MyValidationLogger.Info($"[PERF LND] Nach GetDocPathWindows: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms") MyValidationLogger.Info($"LOG_HOTSPOTS - Nach GetDocPathWindows: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms")
perfLastCheck = DateTime.Now perfLastCheck = DateTime.Now
End If End If
@@ -4221,7 +4129,7 @@ Public Class frmValidator
Load_IDB_DOC_DATA() Load_IDB_DOC_DATA()
If LOG_HOTSPOTS Then If LOG_HOTSPOTS Then
MyValidationLogger.Info($"[PERF LND] Nach Load_IDB_DOC_DATA: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms") MyValidationLogger.Info($"LOG_HOTSPOTS - Nach Load_IDB_DOC_DATA: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms")
perfLastCheck = DateTime.Now perfLastCheck = DateTime.Now
End If End If
If IsNothing(IDB_DT_DOC_DATA) Then If IsNothing(IDB_DT_DOC_DATA) Then
@@ -4235,12 +4143,12 @@ Public Class frmValidator
End If End If
If LOG_HOTSPOTS Then If LOG_HOTSPOTS Then
MyValidationLogger.Info($"[PERF LND] Nach CreateWMObject/Load_IDB_DOC_DATA: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms") MyValidationLogger.Info($"LOG_HOTSPOTS - Nach CreateWMObject/Load_IDB_DOC_DATA: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms")
perfLastCheck = DateTime.Now perfLastCheck = DateTime.Now
End If End If
PRTF_PROFILE_FILES_WORK("InWork") PRTF_PROFILE_FILES_WORK("InWork")
If LOG_HOTSPOTS Then If LOG_HOTSPOTS Then
MyValidationLogger.Info($"[PERF LND] Nach IN_WORK-UPDATE: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms") MyValidationLogger.Info($"LOG_HOTSPOTS - Nach IN_WORK-UPDATE: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms")
perfLastCheck = DateTime.Now perfLastCheck = DateTime.Now
End If End If
@@ -4268,7 +4176,7 @@ Public Class frmValidator
End If End If
If LOG_HOTSPOTS Then If LOG_HOTSPOTS Then
MyValidationLogger.Info($"[PERF LND] Nach Windream_get_Doc_info: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms") MyValidationLogger.Info($"LOG_HOTSPOTS - Nach Windream_get_Doc_info: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms")
perfLastCheck = DateTime.Now perfLastCheck = DateTime.Now
End If End If
@@ -4285,9 +4193,9 @@ Public Class frmValidator
If LOG_HOTSPOTS Then If LOG_HOTSPOTS Then
oMilliseconts = (DateTime.Now - perfLastCheck).TotalMilliseconds oMilliseconts = (DateTime.Now - perfLastCheck).TotalMilliseconds
If oMilliseconts > 6000 Then If oMilliseconts > 6000 Then
MyValidationLogger.Warn($"[PERF LND] ⚠️ LoadDocument_DDViewer lasted far to long: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms") MyValidationLogger.Warn($"LOG_HOTSPOTS - ⚠️ LoadDocument_DDViewer lasted far to long: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms")
Else Else
MyValidationLogger.Info($"[PERF LND] Nach LoadDocument_DDViewer: {oMilliseconts}ms") MyValidationLogger.Info($"LOG_HOTSPOTS - Nach LoadDocument_DDViewer: {oMilliseconts}ms")
End If End If
perfLastCheck = DateTime.Now perfLastCheck = DateTime.Now
End If End If
@@ -4319,9 +4227,6 @@ Public Class frmValidator
DocCurrency = oCurrency DocCurrency = oCurrency
MyValidationLogger.Info($"[FINAL] DocCurrency = [{DocCurrency}]") MyValidationLogger.Info($"[FINAL] DocCurrency = [{DocCurrency}]")
taskFLOW.ControlCreator.GridControl.ClearDynamicEditorCache()
taskFLOW.ControlCreator.GridControl.ResetCurrencySymbolCache()
Catch ex As Exception Catch ex As Exception
MyValidationLogger.Error($"Währungsladung fehlgeschlagen: {ex.Message}") MyValidationLogger.Error($"Währungsladung fehlgeschlagen: {ex.Message}")
DocCurrency = "EUR" DocCurrency = "EUR"
@@ -4336,9 +4241,9 @@ Public Class frmValidator
If LOG_HOTSPOTS Then If LOG_HOTSPOTS Then
oMilliseconts = (DateTime.Now - perfLastCheck).TotalMilliseconds oMilliseconts = (DateTime.Now - perfLastCheck).TotalMilliseconds
If oMilliseconts > 6000 Then If oMilliseconts > 6000 Then
MyValidationLogger.Warn($"[PERF LND] ⚠️ FillIndexValues lasted far to long: {oMilliseconts}ms") MyValidationLogger.Warn($"LOG_HOTSPOTS - ⚠️ FillIndexValues lasted far to long: {oMilliseconts}ms")
Else Else
MyValidationLogger.Info($"[PERF LND] Nach FillIndexValues: {oMilliseconts}ms") MyValidationLogger.Info($"LOG_HOTSPOTS - Nach FillIndexValues: {oMilliseconts}ms")
End If End If
perfLastCheck = DateTime.Now perfLastCheck = DateTime.Now
@@ -4359,9 +4264,6 @@ Public Class frmValidator
Next Next
For Each oControl As Control In PanelValidatorControl.Controls For Each oControl As Control In PanelValidatorControl.Controls
If oControl.Name.StartsWith("BTNDYN_GRID") Then
Continue For
End If
Dim controlId = DirectCast(oControl.Tag, ClassControlCreator.ControlMetadata).Guid Dim controlId = DirectCast(oControl.Tag, ClassControlCreator.ControlMetadata).Guid
If sqlControlIds.Contains(controlId) Then If sqlControlIds.Contains(controlId) Then
LoadSQLData(oControl, controlId) LoadSQLData(oControl, controlId)
@@ -4370,7 +4272,7 @@ Public Class frmValidator
End If End If
If LOG_HOTSPOTS Then If LOG_HOTSPOTS Then
MyValidationLogger.Info($"[PERF LND] Nach LoadSQLData-Loop: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms") MyValidationLogger.Info($"LOG_HOTSPOTS - Nach LoadSQLData-Loop: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms")
perfLastCheck = DateTime.Now perfLastCheck = DateTime.Now
End If End If
@@ -4409,9 +4311,6 @@ Public Class frmValidator
End If End If
For Each oControl As Control In PanelValidatorControl.Controls For Each oControl As Control In PanelValidatorControl.Controls
Try Try
If oControl.Name.StartsWith("BTNDYN_GRID") Then
Continue For
End If
If TypeOf oControl Is GridControl Then If TypeOf oControl Is GridControl Then
Dim oGrid As GridControl = DirectCast(oControl, GridControl) Dim oGrid As GridControl = DirectCast(oControl, GridControl)
Dim oControlMeta = DirectCast(oControl.Tag, ClassControlCreator.ControlMetadata) Dim oControlMeta = DirectCast(oControl.Tag, ClassControlCreator.ControlMetadata)
@@ -4452,7 +4351,7 @@ Public Class frmValidator
End Try End Try
If LOG_HOTSPOTS Then If LOG_HOTSPOTS Then
MyValidationLogger.Info($"[PERF LND] Nach Currency-Format: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms") MyValidationLogger.Info($"LOG_HOTSPOTS - Nach Currency-Format: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms")
perfLastCheck = DateTime.Now perfLastCheck = DateTime.Now
End If End If
@@ -4464,9 +4363,9 @@ Public Class frmValidator
If LOG_HOTSPOTS Then If LOG_HOTSPOTS Then
oMilliseconts = (DateTime.Now - perfLastCheck).TotalMilliseconds oMilliseconts = (DateTime.Now - perfLastCheck).TotalMilliseconds
If oMilliseconts > 6000 Then If oMilliseconts > 6000 Then
MyValidationLogger.Warn($"[PERF LND] ⚠️ Show_WF_Messages lasted far to long: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms") MyValidationLogger.Warn($"LOG_HOTSPOTS - ⚠️ Show_WF_Messages lasted far to long: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms")
Else Else
MyValidationLogger.Info($"[PERF LND] Nach Show_WF_Messages: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms") MyValidationLogger.Info($"LOG_HOTSPOTS - Nach Show_WF_Messages: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms")
End If End If
perfLastCheck = DateTime.Now perfLastCheck = DateTime.Now
@@ -4480,7 +4379,7 @@ Public Class frmValidator
Controls2B_EnDisabled_onLoad() Controls2B_EnDisabled_onLoad()
If LOG_HOTSPOTS Then If LOG_HOTSPOTS Then
MyValidationLogger.Info($"[PERF LND] Nach Controls2B_EnDisabled: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms") MyValidationLogger.Info($"LOG_HOTSPOTS - Nach Controls2B_EnDisabled: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms")
perfLastCheck = DateTime.Now perfLastCheck = DateTime.Now
End If End If
MyValidationLogger.Debug("frmValidator: LoadNextDocument finished!") MyValidationLogger.Debug("frmValidator: LoadNextDocument finished!")
@@ -4500,11 +4399,11 @@ Public Class frmValidator
CloseOverlaySafe() CloseOverlaySafe()
If LOG_HOTSPOTS Then If LOG_HOTSPOTS Then
' ========== DIAGNOSE ENDE ========== ' ========== DIAGNOSE ENDE ==========
MyValidationLogger.Info($"[INFO] Load_Next_Document ENDE") MyValidationLogger.Info($"LOG_HOTSPOTS - Load_Next_Document ENDE")
MyValidationLogger.Info($" frmValidator.IsDisposed: {Me.IsDisposed}") MyValidationLogger.Info($"LOG_HOTSPOTS - frmValidator.IsDisposed: {Me.IsDisposed}")
MyValidationLogger.Info($" frmValidator.Visible: {Me.Visible}") MyValidationLogger.Info($"LOG_HOTSPOTS - frmValidator.Visible: {Me.Visible}")
' ========== ENDE DIAGNOSE ========== ' ========== ENDE DIAGNOSE ==========
MyValidationLogger.Info($"[PERF LND] Load_Next_Document GESAMT: {(DateTime.Now - perfStart).TotalMilliseconds}ms") MyValidationLogger.Info($"LOG_HOTSPOTS - Load_Next_Document GESAMT: {(DateTime.Now - perfStart).TotalMilliseconds}ms")
End If End If
End Try End Try
End Sub End Sub
@@ -4580,7 +4479,7 @@ Public Class frmValidator
End If End If
' GridControl-Helper erstellen und Währungsformat aktualisieren ' GridControl-Helper erstellen und Währungsformat aktualisieren
Dim oGridControlHelper As New ControlCreator.GridControl(LOGCONFIG, ControlCreator.GridTables, currencySymbol, PanelValidatorControl) Dim oGridControlHelper As New ControlCreator.GridControl(LOGCONFIG, ControlCreator.GridTables, currencySymbol)
oGridControlHelper.UpdateCurrencyFormat(oColumnTable, oView, oGrid, currencySymbol) oGridControlHelper.UpdateCurrencyFormat(oColumnTable, oView, oGrid, currencySymbol)
MyValidationLogger.Info("[UpdateGridCurrencyFormats] ✓ Updated GridControl [{0}] to currency [{1}]", oGrid.Name, DocCurrency) MyValidationLogger.Info("[UpdateGridCurrencyFormats] ✓ Updated GridControl [{0}] to currency [{1}]", oGrid.Name, DocCurrency)
@@ -5042,7 +4941,7 @@ Public Class frmValidator
End Function End Function
Public Function GetVariableValuefromSource(oSourceIndexName As String, Optional oIDBTyp As Integer = 0, Optional FromIDB As Boolean = False) As Object Private Function GetVariableValuefromSource(oSourceIndexName As String, Optional oIDBTyp As Integer = 0, Optional FromIDB As Boolean = False) As Object
Try Try
Dim oValuefromSource Dim oValuefromSource
If IDB_ACTIVE = False Then If IDB_ACTIVE = False Then
@@ -5113,9 +5012,6 @@ Public Class frmValidator
_CachedControlsByGuid = New Dictionary(Of Integer, Control)() _CachedControlsByGuid = New Dictionary(Of Integer, Control)()
For Each ctrl As Control In PanelValidatorControl.Controls For Each ctrl As Control In PanelValidatorControl.Controls
Try Try
If ctrl.Name.StartsWith("BTNDYN_GRID") Then
Continue For
End If
Dim meta = DirectCast(ctrl.Tag, ClassControlCreator.ControlMetadata) Dim meta = DirectCast(ctrl.Tag, ClassControlCreator.ControlMetadata)
_CachedControlsByGuid(meta.Guid) = ctrl _CachedControlsByGuid(meta.Guid) = ctrl
Catch Catch
@@ -5142,9 +5038,6 @@ Public Class frmValidator
If DTVWCONTROL_INDEX.Rows.Count > 0 Then If DTVWCONTROL_INDEX.Rows.Count > 0 Then
Dim oCount As Integer = 0 Dim oCount As Integer = 0
For Each oControl As Control In Me.PanelValidatorControl.Controls For Each oControl As Control In Me.PanelValidatorControl.Controls
If oControl.Name.StartsWith("BTNDYN_GRID") Then
Continue For
End If
Dim oValueFromSource Dim oValueFromSource
Dim oFormattedValue As String = "" Dim oFormattedValue As String = ""
@@ -5362,6 +5255,9 @@ Public Class frmValidator
oControlType = "DevExpress.XtraGrid.GridControl" oControlType = "DevExpress.XtraGrid.GridControl"
Dim oMyGridControl As GridControl = oControl Dim oMyGridControl As GridControl = oControl
' ========== OPTIMIERUNG 6: Dictionary-Lookup statt Select() ==========
' VORHER: DT_COLUMNS_GRID.Select($"CONTROL_ID = {oControlId}") → O(n) pro Grid
' NACHHER: Dictionary.TryGetValue() → O(1)
Dim oDTColumnsPerDevExGrid As DataTable = Nothing Dim oDTColumnsPerDevExGrid As DataTable = Nothing
If columnsByControl IsNot Nothing AndAlso columnsByControl.TryGetValue(oControlId, oDTColumnsPerDevExGrid) Then If columnsByControl IsNot Nothing AndAlso columnsByControl.TryGetValue(oControlId, oDTColumnsPerDevExGrid) Then
MyValidationLogger.Debug($"Grid [{oControl.Name}]: {oDTColumnsPerDevExGrid.Rows.Count} Spalten aus Cache geladen") MyValidationLogger.Debug($"Grid [{oControl.Name}]: {oDTColumnsPerDevExGrid.Rows.Count} Spalten aus Cache geladen")
@@ -5369,6 +5265,7 @@ Public Class frmValidator
oDTColumnsPerDevExGrid = DT_COLUMNS_GRID.Clone() oDTColumnsPerDevExGrid = DT_COLUMNS_GRID.Clone()
MyValidationLogger.Warn($"⚠️ Grid [{oControl.Name}]: Keine Spalten-Definition gefunden!") MyValidationLogger.Warn($"⚠️ Grid [{oControl.Name}]: Keine Spalten-Definition gefunden!")
End If End If
' ========== ENDE OPTIMIERUNG 6 ==========
Try Try
If oSourceIndexName = "" Then If oSourceIndexName = "" Then
@@ -5913,30 +5810,26 @@ Public Class frmValidator
Dim oAdvancedLookup = oRow.Item("ADVANCED_LOOKUP") Dim oAdvancedLookup = oRow.Item("ADVANCED_LOOKUP")
oSqlCommand = clsPatterns.ReplaceAllValues(oSqlCommand, PanelValidatorControl, True) oSqlCommand = clsPatterns.ReplaceAllValues(oSqlCommand, PanelValidatorControl, True)
' Prüfen ob Platzhalter enthalten sind
If Not ContainsTableColumnPlaceholder(oSqlCommand?.ToString()) Then
Try
Dim oDTRESULT_FOR_COLUMN As DataTable = GetCachedDatatable(oSqlCommand, oCONNID)
If Not IsNothing(oDTRESULT_FOR_COLUMN) Then Try
MyValidationLogger.Debug($"Trying to create a DropDown(FIV) for CONTROL-ID [{oDEPENDING_CTRL_ID}] - RowCount: [{oDTRESULT_FOR_COLUMN.Rows.Count}] ") Dim oDTRESULT_FOR_COLUMN As DataTable = GetCachedDatatable(oSqlCommand, oCONNID)
' Dictionary-Lookup statt Loop If Not IsNothing(oDTRESULT_FOR_COLUMN) Then
Dim oControl As Control = Nothing MyValidationLogger.Debug($"Trying to create a DropDown(FIV) for CONTROL-ID [{oDEPENDING_CTRL_ID}] - RowCount: [{oDTRESULT_FOR_COLUMN.Rows.Count}] ")
If _CachedControlsByGuid.TryGetValue(oDEPENDING_CTRL_ID, oControl) Then
ControlCreator.GridTables_CacheDatatableForColumn(oDEPENDING_CTRL_ID, oDEPENDING_COLUMN, oSqlCommand, oCONNID, oAdvancedLookup) ' Dictionary-Lookup statt Loop
Else Dim oControl As Control = Nothing
MyValidationLogger.Warn($"⚠️ Control mit ID {oDEPENDING_CTRL_ID} nicht gefunden!") If _CachedControlsByGuid.TryGetValue(oDEPENDING_CTRL_ID, oControl) Then
End If ControlCreator.GridTables_CacheDatatableForColumn(oDEPENDING_CTRL_ID, oDEPENDING_COLUMN, oSqlCommand, oCONNID, oAdvancedLookup)
Else Else
MyValidationLogger.Warn($"⚠️ FillIndexValues - oDTRESULT_FOR_COLUMN is nothing!") MyValidationLogger.Warn($"⚠️ Control mit ID {oDEPENDING_CTRL_ID} nicht gefunden!")
End If End If
Catch ex As Exception Else
MyValidationLogger.Warn($"⚠️ FillIndexValues - Unexpected error in creating Grid-Dropdown-Column [{oDEPENDING_COLUMN}] for CONTROL-ID [{oDEPENDING_CTRL_ID}]: " & ex.Message) MyValidationLogger.Warn($"⚠️ FillIndexValues - oDTRESULT_FOR_COLUMN is nothing!")
End Try End If
Else Catch ex As Exception
MyValidationLogger.Debug($"⚠️ FillIndexValues - SQL-Command for Grid-Dropdown-Column contains #CTRL# placeholder, skipping dropdown creation for CONTROL-ID [{oDEPENDING_CTRL_ID}] - Column [{oDEPENDING_COLUMN}]") MyValidationLogger.Warn($"⚠️ FillIndexValues - Unexpected error in creating Grid-Dropdown-Column [{oDEPENDING_COLUMN}] for CONTROL-ID [{oDEPENDING_CTRL_ID}]: " & ex.Message)
End If End Try
Next Next
Catch ex As Exception Catch ex As Exception
MyValidationLogger.Warn($"⚠️ FillIndexValues - Unexpected error in creating dropdown for Grid: " & ex.Message) MyValidationLogger.Warn($"⚠️ FillIndexValues - Unexpected error in creating dropdown for Grid: " & ex.Message)
@@ -6074,19 +5967,7 @@ Public Class frmValidator
End If End If
End Try End Try
End Sub End Sub
''' <summary>
''' Prüft, ob ein SQL-Command Grid-Spalten-Platzhalter enthält
''' </summary>
''' <param name="sqlCommand">Der zu prüfende SQL-Command</param>
''' <returns>True wenn Platzhalter enthalten sind, sonst False</returns>
Private Function ContainsTableColumnPlaceholder(sqlCommand As String) As Boolean
If String.IsNullOrWhiteSpace(sqlCommand) Then
Return False
End If
' Prüft auf #TBCOL# Platzhalter (case-insensitive)
Return sqlCommand.IndexOf("#TBCOL#", StringComparison.OrdinalIgnoreCase) >= 0
End Function
Private Sub ApplyCurrencyMask(pTextEdit As TextEdit) Private Sub ApplyCurrencyMask(pTextEdit As TextEdit)
If pTextEdit Is Nothing Then Return If pTextEdit Is Nothing Then Return
Try Try
@@ -6123,7 +6004,7 @@ Public Class frmValidator
MyValidationLogger.Info("[PERF] frmValidation_Shown START") MyValidationLogger.Info("[PERF] frmValidation_Shown START")
End If End If
Try Try
_gridDataLoader = New ClassGridDataLoader(DatabaseFallback)
' Refresh_FileList() ' Refresh_FileList()
Load_Next_Document(True) Load_Next_Document(True)
If LOG_HOTSPOTS Then If LOG_HOTSPOTS Then
@@ -6641,9 +6522,6 @@ Public Class frmValidator
If IsNumeric(CTRL_ID) Then If IsNumeric(CTRL_ID) Then
For Each oControl As Control In Me.PanelValidatorControl.Controls For Each oControl As Control In Me.PanelValidatorControl.Controls
Try Try
If oControl.Name.StartsWith("BTNDYN_GRID") Then
Continue For
End If
If IsNothing(DirectCast(oControl.Tag, ClassControlCreator.ControlMetadata).Guid) Then If IsNothing(DirectCast(oControl.Tag, ClassControlCreator.ControlMetadata).Guid) Then
Continue For Continue For
End If End If
@@ -6989,9 +6867,6 @@ Public Class frmValidator
' ========== ENDE BATCH START ========== ' ========== ENDE BATCH START ==========
' ========== OPTIMIERUNG: Nur geänderte Controls durchlaufen ========== ' ========== OPTIMIERUNG: Nur geänderte Controls durchlaufen ==========
For Each oControl As Control In Me.PanelValidatorControl.Controls For Each oControl As Control In Me.PanelValidatorControl.Controls
If oControl.Name.StartsWith("BTNDYN_GRID") Then
Continue For
End If
Dim oMeta As ClassControlCreator.ControlMetadata = Nothing Dim oMeta As ClassControlCreator.ControlMetadata = Nothing
Try Try
oMeta = DirectCast(oControl.Tag, ClassControlCreator.ControlMetadata) oMeta = DirectCast(oControl.Tag, ClassControlCreator.ControlMetadata)
@@ -7845,65 +7720,6 @@ Public Class frmValidator
Next ' End For Each oControl Next ' End For Each oControl
' ========== TEIL 2: Separate Grids aus Cache verarbeiten ==========
' Nach dem Ende der "For Each oControl As Control In Me.PanelValidatorControl.Controls" Schleife
If _separateGridControlCache.Count > 0 Then
MyValidationLogger?.Debug($"Verarbeite {_separateGridControlCache.Count} separate Grid(s) aus Cache")
For Each kvp As KeyValuePair(Of String, GridControl) In _separateGridControlCache
Dim controlName As String = kvp.Key
Dim oGrid As GridControl = kvp.Value
' Nur verarbeiten, wenn Control als "dirty" markiert ist
If Not listofControls.Contains(controlName) Then
MyValidationLogger?.Debug($"Separate Grid '{controlName}' wurde nicht geändert - überspringe")
Continue For
End If
MyValidationLogger?.Debug($"[4] Separates GridControl verarbeiten: [{controlName}]")
' Control-Metadaten holen (EXAKT wie bei normalem Grid)
Dim oControlRow As DataRow = GetControlMetaBySql($"NAME='{controlName}'").Rows(0)
Dim oGUID = oControlRow("GUID")
Dim oControlRow1 = (From form In DTVWCONTROL_INDEX.AsEnumerable()
Where form.Item("GUID") = oGUID).SingleOrDefault()
Dim oIndexName As String = If(IsDBNull(oControlRow1("INDEX_NAME")), "", oControlRow1("INDEX_NAME").ToString())
Dim oIsRequired As Boolean = True
Dim oIDBTyp As Integer = If(IsDBNull(oControlRow1("IDB_TYP")), 0, CInt(oControlRow1("IDB_TYP")))
' Cleanup (wie bei normalem Grid)
CleanupDeletedRows(oGrid)
' Settings erstellen (EXAKT wie bei normalem Grid)
Dim oSettings = New ControlSettings() With {
.IndexName = oIndexName,
.ControlType = GetType(GridControl).ToString,
.Name = controlName,
.IsRequired = oIsRequired,
.IDBAttributeType = oIDBTyp
}
' Spalten-Definition holen (EXAKT wie bei normalem Grid)
Dim oGridColumnDefinition As DataTable = DT_COLUMNS_GRID.Clone()
Dim oExpression = $"CONTROL_ID = {oGUID}"
Dim selectedRows() As DataRow = DT_COLUMNS_GRID.Select(oExpression, "SEQUENCE")
If selectedRows.Length > 0 Then
selectedRows.CopyToDataTable(oGridColumnDefinition, LoadOption.PreserveChanges)
End If
' WICHTIG: DEINE BESTEHENDE ValidateGridControl Funktion verwenden!
Dim oResult = ValidateGridControl(oGrid, oSettings, oGridColumnDefinition, oMissing, oErrMsgMissingInput)
If oResult = False Then
MyValidationLogger?.Warn($"⚠️ Validierung fehlgeschlagen für separates Grid [{controlName}] → Exit For")
Exit For
End If
Next
End If
' ========== BATCH: Gesammelte Statements abfeuern ========== ' ========== BATCH: Gesammelte Statements abfeuern ==========
If IDB_ACTIVE Then If IDB_ACTIVE Then
If oMissing = False Then If oMissing = False Then
@@ -8762,9 +8578,9 @@ Public Class frmValidator
oFilenameOnly = Path.GetFileName(DocPathWindows) oFilenameOnly = Path.GetFileName(DocPathWindows)
oExtension = Path.GetExtension(DocPathWindows) oExtension = Path.GetExtension(DocPathWindows)
oSQLGetFilename = $"DECLARE @Filename Varchar(512) " & vbCrLf & oSQLGetFilename = $"DECLARE @Filename Varchar(512) " & vbcrlf &
$"EXEC dbo.PRPM_GETFILENAME_EXPORT {CURRENT_DOC_ID}, 1, @Outputfilename = @Filename OUTPUT;" & vbCrLf & $"EXEC dbo.PRPM_GETFILENAME_EXPORT {CURRENT_DOC_ID}, 1, @Outputfilename = @Filename OUTPUT;" & vbcrlf &
"SELECT @Filename" "SELECT @Filename"
Dim oExportFilename = DatabaseFallback.GetScalarValueECM(oSQLGetFilename) Dim oExportFilename = DatabaseFallback.GetScalarValueECM(oSQLGetFilename)
If Not IsNothing(oExportFilename) Then If Not IsNothing(oExportFilename) Then
@@ -8815,39 +8631,16 @@ Public Class frmValidator
Dim oFileCount As Integer = 1 Dim oFileCount As Integer = 1
If Not IsNothing(DT_AdditionalSearches_Resultset_Docs) Then If Not IsNothing(DT_AdditionalSearches_Resultset_Docs) Then
For Each oFileRecord As DataRow In DT_AdditionalSearches_Resultset_Docs.Rows For Each oFileRecord As DataRow In DT_AdditionalSearches_Resultset_Docs.Rows
Dim oFromFilename = oFileRecord.Item("FULL_FILENAME")?.ToString() Dim oFromFilename = oFileRecord.Item("FULL_FILENAME")
Dim oDocID = oFileRecord.Item("DocID") Dim oDocID = oFileRecord.Item("DocID")
If File.Exists(oFromFilename) Then
' COPY_WMFILE_2TEMP: Pfad analog zu GetDocPathWindows() auflösen MyValidationLogger.Debug($"Found additional document for export: [{oFromFilename}] with DocID [{oDocID}]")
Dim oResolvedFilename As String = oFromFilename
If COPY_WMFILE_2TEMP = True AndAlso Not String.IsNullOrWhiteSpace(oFromFilename) Then
Dim options As New DocumentPathHandler.DocumentPathOptions With {
.EnableMapping = True,
.WMSuffix = WMSUFFIX,
.SpecificDrive = If(Len(MAP_SHARE_DRIVE) = 1, MAP_SHARE_DRIVE, ""),
.DriveBlacklist = MAP_BLACKLIST,
.CopyToTemp = True,
.TempFolder = TEMP_DOCUMENT_FOLDER,
.UnmapAfterCopy = True
}
Dim result = _documentPathHandler.ProcessDocumentPath(oFromFilename, options)
If result.Success AndAlso Not String.IsNullOrWhiteSpace(result.FinalPath) AndAlso File.Exists(result.FinalPath) Then
MyValidationLogger.Info($"✓ Zusatzdokument via Temp aufgelöst: [{result.FinalPath}]")
oResolvedFilename = result.FinalPath
Else
MyValidationLogger.Warn($"⚠️ Temp-Auflösung fehlgeschlagen für [{oFromFilename}]: {result.ErrorMessage} - Fallback auf Originalpfad")
oResolvedFilename = oFromFilename
End If
End If
If File.Exists(oResolvedFilename) Then
MyValidationLogger.Debug($"Found additional document for export: [{oResolvedFilename}] (WM: [{oFromFilename}]) with DocID [{oDocID}]")
oFileCount += 1 oFileCount += 1
oSQLGetFilename = $"DECLARE @Filename Varchar(512) " & vbCrLf & oSQLGetFilename = $"DECLARE @Filename Varchar(512) " & vbCrLf &
$"EXEC dbo.PRPM_GETFILENAME_EXPORT {oDocID}, {oFileCount}, @Outputfilename = @Filename OUTPUT;" & vbCrLf & $"EXEC dbo.PRPM_GETFILENAME_EXPORT {oDocID}, {oFileCount}, @Outputfilename = @Filename OUTPUT;" & vbCrLf &
"SELECT @Filename" "SELECT @Filename"
oExportFilename = DatabaseFallback.GetScalarValueECM(oSQLGetFilename) oExportFilename = DatabaseFallback.GetScalarValueECM(oSQLGetFilename)
oExtension = Path.GetExtension(oResolvedFilename) oExtension = Path.GetExtension(oFromFilename)
If Not IsNothing(oExportFilename) Then If Not IsNothing(oExportFilename) Then
If IsDBNull(oExportFilename) Then If IsDBNull(oExportFilename) Then
MyValidationLogger.Info($"#### ATTENTION: oExportFilename is DBNULL - SQL: {oSQLGetFilename}") MyValidationLogger.Info($"#### ATTENTION: oExportFilename is DBNULL - SQL: {oSQLGetFilename}")
@@ -8855,8 +8648,8 @@ Public Class frmValidator
End If End If
If oExportFilename <> String.Empty Then If oExportFilename <> String.Empty Then
oTargetPath = FolderBrowserDialog1.SelectedPath & "\" & oExportFilename & oExtension oTargetPath = FolderBrowserDialog1.SelectedPath & "\" & oExportFilename & oExtension
File.Copy(oResolvedFilename, oTargetPath) File.Copy(oFromFilename, oTargetPath)
MyValidationLogger.Info($"Additional file [{oResolvedFilename}] exported successfully to [{oTargetPath}]") LOGGER.Info($"Additional file [{oFromFilename}] exported successfully to [{oTargetPath}]")
oCount += 1 oCount += 1
Else Else
Dim omsg = $"Error encountered while extracting ATTACHMENT-Export-Filename DocID [{oDocID}]!" Dim omsg = $"Error encountered while extracting ATTACHMENT-Export-Filename DocID [{oDocID}]!"
@@ -8868,8 +8661,9 @@ Public Class frmValidator
MyValidationLogger.Info($"#### ATTENTION: {omsg} SQL: {oSQLGetFilename}") MyValidationLogger.Info($"#### ATTENTION: {omsg} SQL: {oSQLGetFilename}")
MsgBox(omsg & vbCrLf & "Please inform Admin-Team!", MsgBoxStyle.Critical, ADDITIONAL_TITLE) MsgBox(omsg & vbCrLf & "Please inform Admin-Team!", MsgBoxStyle.Critical, ADDITIONAL_TITLE)
End If End If
'oFilenameOnly = Path.GetFileName(oFromFilename)
Else Else
MyValidationLogger.Warn($"⚠️ Additional file for export not found: [{oResolvedFilename}] (WM: [{oFromFilename}]) with DocID [{oDocID}]") MyValidationLogger.Warn($"⚠️ Additional file for export not found: [{oFromFilename}] with DocID [{oDocID}]")
End If End If
Next Next
Else Else
@@ -8882,7 +8676,7 @@ Public Class frmValidator
Catch ex As Exception Catch ex As Exception
MyValidationLogger.Error(ex) MyValidationLogger.Error(ex)
MsgBox("Could not move file to target: " & vbCrLf & ex.Message, MsgBoxStyle.Critical, ADDITIONAL_TITLE) MsgBox("Could not move file to target: " & vbcrlf & ex.Message, MsgBoxStyle.Critical, ADDITIONAL_TITLE)
End Try End Try
End Sub End Sub
@@ -9016,8 +8810,4 @@ Public Class frmValidator
CONFIG.Config.NOTES_ONCLICK = bchkitmNotes.Checked CONFIG.Config.NOTES_ONCLICK = bchkitmNotes.Checked
CONFIG.Save() CONFIG.Save()
End Sub End Sub
Private Sub frmValidator_SizeChanged(sender As Object, e As EventArgs) Handles Me.SizeChanged
End Sub
End Class End Class

File diff suppressed because it is too large Load Diff

View File

@@ -465,7 +465,6 @@
<Compile Include="ClassFinalIndex.vb" /> <Compile Include="ClassFinalIndex.vb" />
<Compile Include="ClassFinalizeDoc.vb" /> <Compile Include="ClassFinalizeDoc.vb" />
<Compile Include="ClassFormat.vb" /> <Compile Include="ClassFormat.vb" />
<Compile Include="ClassGridDataLoader.vb" />
<Compile Include="ClassIDBData.vb" /> <Compile Include="ClassIDBData.vb" />
<Compile Include="ClassImageSelector.vb" /> <Compile Include="ClassImageSelector.vb" />
<Compile Include="ClassImageValue.vb" /> <Compile Include="ClassImageValue.vb" />
@@ -557,12 +556,6 @@
<Compile Include="frmColumn_Detail.vb"> <Compile Include="frmColumn_Detail.vb">
<SubType>Form</SubType> <SubType>Form</SubType>
</Compile> </Compile>
<Compile Include="frmControl_Table.Designer.vb">
<DependentUpon>frmControl_Table.vb</DependentUpon>
</Compile>
<Compile Include="frmControl_Table.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="frmDesignerLayout.Designer.vb"> <Compile Include="frmDesignerLayout.Designer.vb">
<DependentUpon>frmDesignerLayout.vb</DependentUpon> <DependentUpon>frmDesignerLayout.vb</DependentUpon>
</Compile> </Compile>
@@ -826,9 +819,6 @@
<DependentUpon>frmColumn_Detail.vb</DependentUpon> <DependentUpon>frmColumn_Detail.vb</DependentUpon>
<SubType>Designer</SubType> <SubType>Designer</SubType>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="frmControl_Table.resx">
<DependentUpon>frmControl_Table.vb</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="frmDesignerLayout.resx"> <EmbeddedResource Include="frmDesignerLayout.resx">
<DependentUpon>frmDesignerLayout.vb</DependentUpon> <DependentUpon>frmDesignerLayout.vb</DependentUpon>
<SubType>Designer</SubType> <SubType>Designer</SubType>
@@ -1379,35 +1369,6 @@
</Target> </Target>
<Import Project="..\packages\EntityFramework.6.4.4\build\EntityFramework.targets" Condition="Exists('..\packages\EntityFramework.6.4.4\build\EntityFramework.targets')" /> <Import Project="..\packages\EntityFramework.6.4.4\build\EntityFramework.targets" Condition="Exists('..\packages\EntityFramework.6.4.4\build\EntityFramework.targets')" />
<Import Project="..\packages\GdPicture.runtimes.windows.14.4.4\build\net462\GdPicture.runtimes.windows.targets" Condition="Exists('..\packages\GdPicture.runtimes.windows.14.4.4\build\net462\GdPicture.runtimes.windows.targets')" /> <Import Project="..\packages\GdPicture.runtimes.windows.14.4.4\build\net462\GdPicture.runtimes.windows.targets" Condition="Exists('..\packages\GdPicture.runtimes.windows.14.4.4\build\net462\GdPicture.runtimes.windows.targets')" />
<PropertyGroup>
<PostBuildEvent>@echo off
echo ========================================
echo GdPicture DLL Copy Script
echo ========================================
for /d %25%25p in ("$(SolutionDir)packages\GdPicture.runtimes.windows.*") do (
echo [*] Paket: %25%25~nxp
echo Von: %25%25p\runtimes\win-x64\native
echo Nach: $(TargetDir)
echo.
xcopy /Y /I /F "%25%25p\runtimes\win-x64\native\*.dll" "$(TargetDir)" | find ".dll"
echo.
echo [*] Designer-Cache:
for /d %25%25d in ("%25LOCALAPPDATA%25\Microsoft\VisualStudio\17.0_*\ProjectAssemblies") do (
echo %25%25d
xcopy /Y /Q "%25%25p\runtimes\win-x64\native\*.dll" "%25%25d\" 2&gt;nul
xcopy /Y /Q "$(TargetDir)GdPicture*.dll" "%25%25d\" 2&gt;nul
echo [OK] Aktualisiert
)
)
echo.
echo [OK] Fertig - Dateien in Target:
dir "$(TargetDir)GdPicture.NET.14.*.dll" /B 2&gt;nul
echo ========================================</PostBuildEvent>
</PropertyGroup>
<!-- To modify your build process, add your task inside one of the targets below and uncomment it. <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets. Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild"> <Target Name="BeforeBuild">