38 Commits

Author SHA1 Message Date
Developer01
703df0adc3 Neue Funktionen und Optimierungen hinzugefügt
- Zwei neue DLL-Dateien in `Product.wxs` hinzugefügt und eine aktualisiert.
- Neues Feld `CFG_SEQUENCE` für Cockpit-Definitionen eingeführt.
- Verbesserte SQL-Statements und Logging-Nachrichten in mehreren Dateien.
- GUI-Elemente in `frmAdministration` und `frmCockpitConfig` angepasst.
- Neue Referenz für `GdPicture.NET.14.WinForms` in `taskFLOW.vbproj` hinzugefügt.
- Assembly-Version auf `3.5.1.0` aktualisiert.
- Verbesserte Handhabung von Benutzern und Gruppen in der Cockpit-Konfiguration.
- Inaktivitäts-Logout-Logik für offene Cockpit-Konfiguration deaktiviert.
2026-09-21 11:56:54 +02:00
Developer01
4ba29ce57b Verbesserung der Datenvalidierung und Fehlerbehandlung
In `ClassCockpit.vb` wurden mehrere Sicherheitsprüfungen und
Normalisierungen in der Methode `CreateCockpit` hinzugefügt,
einschließlich der Überprüfung auf leere Tabellen, fehlende
Spalten und ungültige Primärschlüssel. Duplikate und ungültige
`PARENT_ID`-Referenzen werden nun entfernt oder korrigiert.

In `frmMonitor.vb` wurde die Fehlerbehandlung beim Laden von
Dokumenten verbessert, einschließlich Validierung des Dateipfads
und lokalisierter Fehlermeldungen.

Ein neues Feld `CFG_SEQUENCE` wurde in `frmCockpitConfig.vb`
hinzugefügt, und ein Aufruf zu `AppendCountsToTreeAsync()` wurde
in `frmMain.vb` integriert.

Neue Ressourcen- und Projektdateien (`ClassCockpit.vb`,
`frmMain.aa.resx`) wurden in `taskFLOW.vbproj` hinzugefügt.
2026-09-04 09:28:11 +02:00
Developer01
c638ab71a0 Version 3.5.0.0: UI-Verbesserungen und neue Funktionen
Die Änderungen umfassen:
- Aktualisierung der Assembly-Version auf 3.5.0.0.
- SQL-Abfrage in `ClassInit.vb` verallgemeinert.
- Neue Steuerelemente und Methoden in `frmAdministration` und `frmCockpitConfig` hinzugefügt.
- Veraltete Elemente wie `PRIORITYNumericUpDown` entfernt.
- Einführung der Klasse `ClassCockpit` und Refactoring von `Load_TreeView_CONFIG`.
- Neue Ressourcen und Lokalisierungseinträge für Labels und Steuerelemente.
- Layout-Optimierungen und Unterstützung neuer DevExpress-Komponenten.
- Neue Funktion "Speichern und Schließen" in `frmColumn_Detail` implementiert.

Die Änderungen verbessern die Benutzerfreundlichkeit, erweitern die Funktionalität und optimieren die Codebasis.
2026-09-03 09:43:12 +02:00
Developer01
2f4b55ea18 UI-Verbesserungen und neue Reload-Methode hinzugefügt
Die Benutzeroberfläche wurde durch Anpassungen der Größen von UI-Elementen (z. B. Ribbon, Grids, Labels) und Textänderungen optimiert. Eine neue RibbonPageGroup (`RbmPgGrp_Cockpit`) wurde hinzugefügt, um Cockpit-Aktionen zu gruppieren.

Eine neue Methode `Reload_CurrentCockpitDefinition` wurde implementiert, um die aktuelle Cockpit-Definition aus der Datenbank neu zu laden. Die SQL-Bearbeitungslogik wurde verbessert, sodass Änderungen nur im Objekt gespeichert werden. TreeView-Knoten aktualisieren jetzt SQL-Felder direkt.

Debug-Logs und Fehlermeldungen wurden erweitert, um die Nachverfolgbarkeit und Benutzerführung zu verbessern. Die AutoScaleDimensions wurden angepasst, um die Skalierung der UI zu verbessern.
2026-08-28 12:21:34 +02:00
Developer01
83021b905e Optimierung der UI und neue Funktionen hinzugefügt
- Verbesserte Logging-Mechanismen in GridControl.vb.
- UI-Restrukturierung in frmCockpitConfig: Einführung von SplitContainerControl1, Anpassung von Steuerelement-Positionen und -Größen.
- Neue Methoden zur dynamischen Steuerung der UI in frmCockpitConfig.
- Verbesserte TreeView-Knotenaktualisierung ohne Neuladen.
- Neuer Button "Aktualisieren" in frmMonitor hinzugefügt.
- Asynchrone Initialisierung in frmMonitor implementiert.
- Projektstruktur optimiert: Anpassung von logtaskflow.txt.
2026-08-27 17:41:02 +02:00
Developer01
eafd42d302 Verbesserungen an Cockpit- und Benutzerverwaltung
- Neue Imports hinzugefügt für erweiterte Funktionalitäten.
- `LoadInAction` durch `Load_CP_InAction` ersetzt.
- `Load_CFG_COCKPIT` überarbeitet: Sortierung, Validierung, Logging.
- `LookUpEdit1` durch `LookUpEditCockpit` ersetzt.
- Neue Methode `Display_Added_Changed` für Änderungsinfos.
- Methoden für Cockpit-Management hinzugefügt (Hinzufügen, Löschen, Speichern).
- Verbesserte Fehlerbehandlung und Benutzerfreundlichkeit in `Add_Node`.
- `bsitm_info_Display` erweitert für farbliche Statusanzeigen.
- `SelectUser` hinzugefügt für vereinfachte Benutzerauswahl.
- Anpassungen in `frmUserSelect`: Layout, Schriftart, Titel.
- Verbesserte Logik für `ComboBox`- und `GridControl`-Updates in `frmValidator`.
- Änderungen an `taskFLOW.vbproj`, um mögliche Build-Probleme zu beheben.
2026-08-26 14:50:04 +02:00
Developer01
15295ba3f5 Erweitere CockpitConfig um Benutzer- und Gruppenverwaltung
Füge ein neues `XtraTabControl` mit zwei Tabs hinzu:
- Tab 1: Verwaltung von Benutzern (zugeordnet/nicht zugeordnet)
- Tab 2: Verwaltung von Gruppen (zugeordnet/nicht zugeordnet)

Implementiere Drag-and-Drop-Funktionalität für Benutzer- und
Gruppenzuweisungen, einschließlich Validierung und Datenbank-
operationen (Einfügen/Löschen).

Ergänze Methoden zum Laden von Benutzern und Gruppen:
- `Load_Assigned_User_2_Cockpit`, `Load_Free_User_2_Cockpit`
- `Load_Assigned_Groups_2_Cockpit`, `Load_Free_Groups_2_Cockpit`

Füge ein Dropdown für die Reihenfolge-Spalte hinzu und validiere
deren Werte. Zeige Statusmeldungen über ein neues `BarStaticItem`
(`bsitm_info`) an.

Passe die Benutzeroberfläche an (Größe, Layout) und aktualisiere
SQL-Abfragen für korrekte Sortierung. Integriere neue Ressourcen
(SVG-Bilder) für die Statusanzeige.
2026-08-18 17:03:38 +02:00
Developer01
bea7ccebf8 MS 2026-08-14 14:40:16 +02:00
Developer01
9d73dfcc5d Neue Cockpit-Formulare und Verbesserungen hinzugefügt
Neue Formulare (`crmCockpit_UserTest`, `frmCockpitConfig`,
`frmUserSelect`) zur Verwaltung und Konfiguration von
Cockpit-Daten hinzugefügt. Die Benutzerführung wurde durch
moderne UI-Elemente (z. B. Ribbon-Leisten, Baumansichten)
und spezifische Fehlermeldungen verbessert.

Die Datei `licenses.licx` wurde aktualisiert, um neue
DevExpress-Komponenten zu unterstützen. Änderungen in
`frmMain` umfassen einen neuen Button zur Konfiguration
des Cockpits.

SQL-Integration und Logging wurden erweitert, um die
Nachverfolgbarkeit und Fehlerbehandlung zu verbessern.
Neue Ressourcen und strukturierte Datenmodelle wurden
hinzugefügt, um die Code-Qualität und Wiederverwendbarkeit
zu erhöhen.
2026-08-14 14:40:08 +02:00
Developer01
974a6ac2e2 Überarbeitung von Indexprüfungsfunktionen
Die Funktionen `IsNotBooleanIndex`, `IsNotDateIndex`, `IsNotVectorBooleanIndex` und `IsNotVectorDateIndex` in `frmFormDesigner` wurden angepasst:
- Die auskommentierte Initialisierung der Variablen `oType` wurde entfernt und durch eine neue Deklaration ersetzt.
- Ein neuer Codeblock wurde hinzugefügt, der bei `IndexName = "@@DISPLAY_ONLY"` direkt `0` zurückgibt.
- Die bestehende Logik zur Bestimmung des Index-Typs bleibt unverändert.
- Die Rückgabewerte der Funktionen wurden nicht verändert.
2026-08-13 11:48:17 +02:00
Developer01
cde1511b75 Refactoring und Bugfixes in mehreren Modulen
Hinzufügen der `Active`-Eigenschaft in `ModuleControlProperties`,
um doppelte Definitionen zu vermeiden. Aktualisierung der
Assembly-Version auf `3.3.0.0`.

Refactoring in `frmMain`:
- Einführung der Methoden `Clean_Up_Workload` und `Add_Workload`
  zur Verbesserung der Wiederverwendbarkeit und Lesbarkeit.
- Entfernen direkter SQL-Logik.

Optimierung in `frmValidator`:
- Bugfix: Alte Werte in LookupControls werden nicht mehr
  beibehalten, wenn keine neuen Werte vorhanden sind.
- Hinzufügen der Methode `ResetAllLookupSelections`, um
  LookupControl-Selektionen beim Dokumentwechsel zurückzusetzen.

Allgemeine Verbesserungen:
- Erweiterung des Loggings für besseres Debugging.
- Verbesserte Fehlerbehandlung für robusteren Code.
2026-08-13 11:12:58 +02:00
Developer01
08e5c65b45 .gitignore aktualisiert und Logdatei entfernt 2026-08-13 11:12:16 +02:00
Developer01
90e500333a Fix: Reset_Current() leerte das Grid vor dem Hit-Test in Item_Scope
Root Cause des ursprünglich gemeldeten Bugs gefunden: Reset_Current()
wurde als allererste Aktion in Item_Scope aufgerufen, NOCH BEVOR die
angeklickte Zeile ermittelt wird. Reset_Current() ruft
DT_CURR_WF_ITEMS.Clear() auf - und DT_CURR_WF_ITEMS ist über
bindsourcegrid direkt die Datenquelle von
GridControlWorkflows/GridViewWorkflows (siehe Bindings z.B.
frmMain.vb:1445-1446). Das Clear() leert also synchron genau das Grid,
in dem gerade doppelgeklickt wurde, bevor CalcHitInfo/FocusedRowHandle
überhaupt ausgewertet werden - beide sind danach zwangsläufig
InvalidRowHandle, da schlicht keine Zeilen mehr existieren. Das
erklärt auch die im Log beobachteten doppelten SaveGridLayout-Aufrufe
(Grid reagiert auf die Leerung) und das spätere "has no children"
beim Rendern der Gruppenzeilen.

Der zuvor implementierte FocusedRowHandle-Fallback in Item_Scope war
dadurch wirkungslos, da auch FocusedRowHandle zu diesem Zeitpunkt
ungültig ist.

Fix: Den verfrühten Reset_Current()-Aufruf entfernt. Die davon
zurückgesetzten Felder werden im weiteren Verlauf ohnehin frisch
gesetzt (CURRENT_JUMP_DOC_GUID erneut bei Zeile ~2735,
CURRENT_ProfilGUID durch Load_Profil_from_Grid selbst). Der zweite,
bestehende Reset_Current()-Aufruf im GRUPPE-Zweig (nach erfolgreicher
Zeilenauflösung, vor Load_Profil_from_Grid) bleibt unverändert
bestehen und deckt den eigentlich benötigten Reset weiterhin ab.

Enthält zusätzlich eine Diagnose-Logzeile in
GridViewWorkflows_MouseDown, die beim Testen ergänzt wurde.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-11 15:32:11 +02:00
Developer01
d086590eed Fix: Toten Pseudo-Fallback in GridViewWorkflows_MouseDown entfernt
Der InvalidRowHandle-Check in GridViewWorkflows_MouseDown (aus einem
vorherigen Commit) las GridViewWorkflows.FocusedRowHandle in eine
lokale Variable ein, verwendete sie aber nirgends - hi.RowHandle blieb
unverändert ungültig, sodass der Code ohnehin sofort in der nächsten
Prüfung (Not hi.InRow) abbrach. Zusätzlich trug die Debug-Zeile
fälschlich das Präfix "Item_Scope:" statt "MouseDown:" - offensichtlich
ein Kopier-Rest.

Anders als in Item_Scope (siehe vorheriger Commit) ist ein
FocusedRowHandle-Fallback hier bewusst NICHT sinnvoll: e.Location ist
in MouseDown immer die aktuelle Klick-Position (kein Caching-Problem),
und InvalidRowHandle ist der normale, erwartete Fall für legitime
Nicht-Zeilen-Klicks (Spaltenkopf, leerer Bereich, insb.
FilterPanelCloseButton). Ein Fallback auf FocusedRowHandle würde solche
Klicks fälschlich der aktuell fokussierten Zeile zuordnen (z.B. Klick
auf "Filter schließen" würde plötzlich CURRENT_CLICKED_PROFILE_ID
setzen) - neuer Bug statt Fix. Der ursprünglich gemeldete Fehler
(Doppelklick auf Gruppenkopf reagiert nicht) ist bereits durch den
Fallback in Item_Scope abgedeckt, unabhängig vom Ausgang dieses
MouseDown-Aufrufs.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-11 15:25:34 +02:00
Developer01
d8eb019d01 Fix: InvalidRowHandle bei Doppelklick auf GroupRow in Item_Scope
Item_Scope() hat den RowHandle über CalcHitInfo(GridCursorLocation)
neu berechnet - basierend auf einer zwischengespeicherten Klick-
Position. Klappt sich eine Gruppe zwischen Klick und Verarbeitung
auf/zu (automatisch durch den DoubleClick-Handler oder manuell durch
den User), verschiebt sich die RowHandle-Nummerierung und die
gecachte Position zeigt ins Leere -> InvalidRowHandle -> Doppelklick
auf Gruppenkopf verpuffte wirkungslos.

- Fallback auf GridViewWorkflows.FocusedRowHandle, wenn der aus
  GridCursorLocation berechnete RowHandle ungültig ist.
- Group-/DataRow-Erkennung erfolgt jetzt einheitlich per
  IsGroupRow/IsDataRow(effectiveRowHandle) statt über die
  potenziell unzuverlässigen hitInfo.InGroupRow/InDataRow-Flags;
  dieser Pfad war zuvor bereits als Bug-Workaround vorhanden und
  wird nun durchgängig genutzt (Schritt-1/Schritt-2-Duplizierung
  entfernt).
- Doppelten "STARTEDROM NORMALISIEREN"-Codeblock (Copy-Paste-Rest)
  bereinigt.

Betrifft sowohl den Doppelklick-Pfad als auch die manuellen Aufrufe
über die Kontextmenü-Buttons (CMROW/CMGROUP), da beide denselben
Codepfad in Item_Scope durchlaufen.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-11 15:19:12 +02:00
Developer01
de4f348be5 Verbesserung von Validierungen und State-Management
Die Änderungen umfassen:
- Hinzufügen der Methode `Reset_Current` in `frmMain` zur zentralisierten Rücksetzung von Zuständen.
- Erweiterung von `Item_Scope` mit Validierungen für ungültige Klicks und Fallback-Logik bei DevExpress-Bugs.
- Verbesserte Fehlerbehandlung und Validierungen im `DoubleClick`- und `MouseDown`-Handler.
- Einführung der Methode `ParseColorString` zur sicheren Verarbeitung von Farbwerten.
- Optimierung von `TreeList_Cockpit_DoubleClick` mit Debugging-Logs und State-Reset.
- Hinzufügen von State-Reset-Logik in `frmValidator` (`previousLUSelectedValues`, `hadPreviousLUSelection`).
- Verbesserte Sicherung und Wiederherstellung von Lookup-Werten in `FillIndexValues`.
- SQL-Optimierung: Löschen von Einträgen in `TBTF_PROFILE_FILES_WORK`.
- Erweiterte Debugging-Informationen und Fehlerbehandlung in mehreren Methoden.
2026-08-11 14:53:26 +02:00
Developer01
4609ea8ad7 Verbesserung: Caching und Thread-Sicherheit hinzugefügt
Neue private Felder `_separateGridDataCache` und
`_separateGridControlCache` für das Caching von Daten und
Steuerelementen eingeführt, um die Performance zu verbessern.

Die neuen Caches werden beim Laden eines neuen Dokuments
explizit geleert, um Konsistenz sicherzustellen.

Ein zusätzlicher Aufruf von `Check_UpdateIndexe(False)` wurde
hinzugefügt, um erweiterte Funktionalität zu ermöglichen.

Allgemeine Verbesserungen der Thread-Sicherheit durch die
Verwendung von Locks (`_overlayLock`) implementiert.
2026-08-10 16:16:14 +02:00
Developer01
32fe339d84 Erweiterung der Validierungslogik und Code-Optimierung
Die Änderungen umfassen:
- Hinzufügen der Variablen `CURRENT_DOC_ID` in `frmMain.vb`.
- Erweiterung der SQL-Löschlogik um zusätzliche Tabellen.
- Verbesserung der Nullprüfung (`Nothing` und `DBNull`).
- Einführung des optionalen Parameters `pRegularComplete` in `Check_UpdateIndexe`.
- Überspringen spezifischer Steuerelemente (`BTNDYN_GRID`) in Schleifen.
- Anpassung der Pflichtfeldvalidierung für mehrere Steuerelementtypen.
- Vereinheitlichung der Fehlermeldungsanzeige mit `OpenfrmError`.
- Verarbeitung von separaten Grids aus `_separateGridControlCache`.
- Refactoring der `ControlSettings`-Initialisierung für bessere Lesbarkeit.
- Sicherstellung der Batch-Verarbeitung bei Änderungen.
- Verbesserte Debug- und Warnmeldungen für bessere Nachvollziehbarkeit.
- Allgemeine Code-Optimierungen zur Steigerung der Wartbarkeit.
2026-08-10 16:09:59 +02:00
Developer01
46d2a9109b Verbesserung der Label-Erstellung und Fehlerbehandlung
Die Erstellung neuer Labels in `frmFormDesigner.vb` wurde überarbeitet:
- Verwendung eines SQL-Insert-Statements anstelle der Methode `cmdInsertAnlage`.
- Hinzufügen einer Fehlerbehandlung mit Log-Nachricht und `MsgBox` bei fehlgeschlagenem Insert.
- Aktivierung der Label-Eigenschaften nur bei erfolgreichem Insert.
- Erweiterung der allgemeinen Fehlerbehandlung mit einer Benutzerbenachrichtigung.

In `frmValidator.vb` wurden folgende Änderungen vorgenommen:
- Zurücksetzen des Textes eines `ComboBox`-Steuerelements auf einen leeren String.
- Korrektur der Berechnung der verbleibenden Vorgänge (`Amount_Docs2Validate`), um den Zähler korrekt anzuzeigen.
2026-08-10 14:24:19 +02:00
Developer01
5b71a9b9c2 Optimierung der CONTROL_ACTIVE-Logik und SQL-Abfragen
Die Logik für `CONTROL_ACTIVE` wurde in allen relevanten Klassen
(`frmFormDesigner`, `frmMain`, `frmValidator`) vereinheitlicht.
SQL-Abfragen wurden angepasst, um nur aktive Steuerelemente
(`CONTROL_ACTIVE = 1`) zu berücksichtigen.

- Refactoring der `UpdateSingleValue`-Methode zur besseren
  Lesbarkeit und Wartbarkeit.
- Erweiterung der Datentypunterstützung für `Boolean` in
  `UpdateSingleValue`.
- Verbesserung der Fehlerbehandlung bei SQL-Updates durch
  Logging und Variablen für komplexe SQL-Befehle.
- Entfernung redundanter Kommentare und Optimierung der
  Abfragen für Effizienz und Konsistenz.
- Allgemeine Verbesserungen der Codequalität.
2026-08-10 10:19:54 +02:00
Developer01
bbef9ee886 Version auf 3.2.0.0 aktualisiert, Logik optimiert
Die Assembly-Version in `AssemblyInfo.vb` wurde von 3.1.0.0
auf 3.2.0.0 aktualisiert. In `frmMain.vb` wurde die Logik zur
Verarbeitung von `oTypeId` angepasst. Die Überprüfung, ob ein
`frmValidator`-Formular geöffnet ist, erfolgt nun nur, wenn
`oTypeIdInt` den Wert 0 oder 1 hat. Die `Select Case`-Logik
wurde entsprechend angepasst, um die Bedingung zu berücksichtigen.
2026-08-05 13:45:12 +02:00
Developer01
b838d664fc Verbesserung der Dokumentfreigabe und Fehlerbehandlung
Die Freigabe von Dokumenten wurde zentralisiert, indem
`PRTF_PROFILE_FILES_WORK("FreeFile")` an mehreren Stellen
hinzugefügt wurde. Dies stellt sicher, dass Ressourcen
konsistent freigegeben werden, insbesondere vor dem
Schließen des Formulars oder bei Fehlern.

Die SQL-Logik für das Löschen von Einträgen in
`TBPM_DOCWALKOVER` wurde vereinfacht, und redundante
SQL-Aufrufe wurden entfernt. Die Funktion
`PRTF_PROFILE_FILES_WORK` wurde robuster gestaltet, indem
sie nur bei gültigen Dokument-IDs eine Abfrage ausführt.

Ein Fix wurde implementiert, um Grid-Events sofort zu
deregistrieren und potenzielle Zugriffe auf freigegebene
UI-Objekte zu verhindern. Zusätzlich wurden nicht mehr
benötigte Codezeilen entfernt, um die Lesbarkeit und
Wartbarkeit zu verbessern.
2026-08-05 13:03:21 +02:00
Developer01
c7cb318c99 Cockpit Active auswerten, Expanded bei nur einem Cockpit 2026-07-07 16:34:21 +02:00
Developer01
cbc16d5dd2 Aktualisierung SQL View, GDPicture Referenzen etc 2026-07-06 16:30:56 +02:00
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
75 changed files with 19356 additions and 11246 deletions

1
.gitignore vendored
View File

@@ -156,3 +156,4 @@ $RECYCLE.BIN/
.DS_Store
.vs
/app/TaskFlow/logtaskflow.txt

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"?>
<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)">
<Package
<Product Id="*" Name="$(var.ProductName)" Language="1031" Codepage="1252" Version="$(var.ProductVersion)" Manufacturer="$(var.Manufacturer)" UpgradeCode="$(var.UpgradeCode)">
<Package
Id="*"
Keywords="Installer"
Description="$(var.Description)"
@@ -20,89 +20,89 @@
InstallScope="perMachine"
/>
<Property Id="INSTALLDIR">
<RegistrySearch Key="Software\[Manufacturer]\[ProductName]" Root="HKLM" Type="raw" Id="APPLICATIONFOLDER_REGSEARCH" Name="Path" />
</Property>
<Property Id="INSTALLDIR">
<RegistrySearch Key="Software\[Manufacturer]\[ProductName]" Root="HKLM" Type="raw" Id="APPLICATIONFOLDER_REGSEARCH" Name="Path" />
</Property>
<Media Id='1' Cabinet='$(var.ProgramName).cab' EmbedCab='yes' DiskPrompt='$(var.ProgramName)' />
<Property Id='DiskPrompt' Value="$(var.ProgramName) Install" />
<Media Id='1' Cabinet='$(var.ProgramName).cab' EmbedCab='yes' DiskPrompt='$(var.ProgramName)' />
<Property Id='DiskPrompt' Value="$(var.ProgramName) Install" />
<Property Id="PREVIOUSVERSIONSINSTALLED" Secure="yes" />
<Property Id="PREVIOUSVERSIONSINSTALLED" Secure="yes" />
<MajorUpgrade
DowngradeErrorMessage="Eine neuere Version von [ProductName] ist bereits installiert. Das Setup wird beendet."
Schedule="afterInstallInitialize"
AllowSameVersionUpgrades="yes"
/>
<!-- Legt das Icon fest -->
<Icon Id="AppIcon.exe" SourceFile="..\taskFLOW\bin\$(var.Configuration)\$(var.ProgramName).exe" />
<!-- Zeige Icon in Systemsteuerung > Programme entfernen -->
<Property Id="ARPPRODUCTICON" Value="AppIcon.exe" />
<!-- Legt das Icon fest -->
<Icon Id="AppIcon.exe" SourceFile="..\taskFLOW\bin\$(var.Configuration)\$(var.ProgramName).exe" />
<!-- Zeige Icon in Systemsteuerung > Programme entfernen -->
<Property Id="ARPPRODUCTICON" Value="AppIcon.exe" />
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFilesFolder">
<Directory Id="DDDIR" Name="$(var.Manufacturer)">
<Directory Id="INSTALLDIR" Name="$(var.ProductName)"/>
</Directory>
</Directory>
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFilesFolder">
<Directory Id="DDDIR" Name="$(var.Manufacturer)">
<Directory Id="INSTALLDIR" Name="$(var.ProductName)"/>
</Directory>
</Directory>
<Directory Id="ProgramMenuFolder">
<Directory Id="ApplicationProgramsFolder" Name="$(var.ProductName)"/>
</Directory>
<Directory Id="ProgramMenuFolder">
<Directory Id="ApplicationProgramsFolder" Name="$(var.ProductName)"/>
</Directory>
<Directory Id="DesktopFolder" />
</Directory>
<Directory Id="DesktopFolder" />
</Directory>
<DirectoryRef Id="ApplicationProgramsFolder">
<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)"
Target="[INSTALLDIR]$(var.ProgramName).exe"
WorkingDirectory="INSTALLDIR"/>
<RemoveFolder Id="ApplicationProgramsFolder_StartMenu" On="uninstall"/>
<RegistryValue Root="HKCU" Key="Software\[Manufacturer]\[ProductName]" Name="installed" Type="integer" Value="1" KeyPath="yes"/>
</Component>
</DirectoryRef>
<RemoveFolder Id="ApplicationProgramsFolder_StartMenu" On="uninstall"/>
<RegistryValue Root="HKCU" Key="Software\[Manufacturer]\[ProductName]" Name="installed" Type="integer" Value="1" KeyPath="yes"/>
</Component>
</DirectoryRef>
<DirectoryRef Id="DesktopFolder">
<Component Id="ApplicationShortcut_Desktop" Guid="796a4f03-8156-4c62-8d92-29ce92805089">
<Shortcut Id="ApplicationStartMenuShortcut_Desktop"
<DirectoryRef Id="DesktopFolder">
<Component Id="ApplicationShortcut_Desktop" Guid="796a4f03-8156-4c62-8d92-29ce92805089">
<Shortcut Id="ApplicationStartMenuShortcut_Desktop"
Name="$(var.ProductName)"
Target="[INSTALLDIR]$(var.ProgramName).exe"
WorkingDirectory="INSTALLDIR"/>
<RemoveFolder Id="ApplicationProgramsFolder_Desktop" On="uninstall"/>
<RegistryValue Root="HKCU" Key="Software\[Manufacturer]\[ProductName]" Name="installed" Type="integer" Value="1" KeyPath="yes"/>
</Component>
</DirectoryRef>
<RemoveFolder Id="ApplicationProgramsFolder_Desktop" On="uninstall"/>
<RegistryValue Root="HKCU" Key="Software\[Manufacturer]\[ProductName]" Name="installed" Type="integer" Value="1" KeyPath="yes"/>
</Component>
</DirectoryRef>
<DirectoryRef Id="INSTALLDIR">
<DirectoryRef Id="INSTALLDIR">
<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="MainApplicationExeConfig" Source="..\taskFLOW\bin\$(var.Configuration)\$(var.ProgramName).exe.config" Name="$(var.ProgramName).exe.config" KeyPath="no" Checksum="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="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="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>
</Component>-->
<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="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="WMOBRWSLib" Name="Interop.WMOBRWSLib.dll" Source="M:\Bibliotheken\3rdParty\windream\Interop.WMOBRWSLib.dll"/>
</Component>
<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="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="WMOBRWSLib" Name="Interop.WMOBRWSLib.dll" Source="M:\Bibliotheken\3rdParty\windream\Interop.WMOBRWSLib.dll"/>
</Component>
<Component Id="FormsUtilsLibs" Guid="51c183a7-af21-481a-bd34-0e547e6f6e1c">
<File Id="FormsUtilsLib" Name="FormsUtils.dll" Source="M:\Bibliotheken\3rdParty\FormsUtils.dll" KeyPath="yes" />
</Component>
<Component Id="FormsUtilsLibs" Guid="51c183a7-af21-481a-bd34-0e547e6f6e1c">
<File Id="FormsUtilsLib" Name="FormsUtils.dll" Source="M:\Bibliotheken\3rdParty\FormsUtils.dll" KeyPath="yes" />
</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="DDSnapPanel" Name="DigitalData.Controls.SnapPanel.dll" Source="DigitalData.Controls.SnapPanel.dll"/>
<File Id="DDCommonGUIs" Name="DigitalData.GUIs.Common.dll" Source="DigitalData.GUIs.Common.dll"/>
@@ -124,7 +124,7 @@
<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="NLog" Name="NLog.dll" Source="NLog.dll"/>
</Component>
</Component>
<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="System.Text.Json" Name="System.Text.Json.dll" Source="System.Text.Json.dll" />
@@ -133,226 +133,234 @@
<File Id="EntityFramework.SqlServer" Name="EntityFramework.SqlServer.dll" Source="EntityFramework.SqlServer.dll" />
<File Id="EntityFramework.Firebird" Name="EntityFramework.Firebird.dll" Source="EntityFramework.Firebird.dll" />
</Component>
<Component Id="GDPictureLibs" Guid="9ea5ab43-58ff-4813-9a8b-f854784f0275">
<!-- Haupt-DLL -->
<File Id="GdPicture.NET.14" Name="GdPicture.NET.14.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.dll" KeyPath="yes" />
<!-- 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.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.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.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.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 -->
<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.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.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.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.twain.client" Name="GdPicture.NET.14.twain.client.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.twain.client.dll" />
<!-- 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.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.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.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.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.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.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.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.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.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.SVG" Name="GdPicture.NET.14.SVG.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.SVG.dll" />
<!-- GdPicture Dependencies -->
<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.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="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.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.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="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.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" />
<!-- System DLLs -->
<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.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.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.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.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.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.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.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.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.Registry" Name="Microsoft.Win32.Registry.dll" Source="..\taskFLOW\bin\$(var.Configuration)\Microsoft.Win32.Registry.dll" />
<!-- NativeSDK DLLs -->
<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.Edition" Name="NativeSDK.Settings.Edition.dll" Source="..\taskFLOW\bin\$(var.Configuration)\NativeSDK.Settings.Edition.dll" />
</Component>
<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.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.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.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.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.XtraTreeMap.v21.2" Name="DevExpress.XtraTreeMap.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.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.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.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.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.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.UI" Name="DevExpress.Utils.v21.2.UI.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.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.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.XtraDialogs.v21.2" Name="DevExpress.XtraDialogs.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.XtraLayout.v21.2" Name="DevExpress.XtraLayout.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.XtraPrinting.v21.2" Name="DevExpress.XtraPrinting.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.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.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.Export" Name="DevExpress.RichEdit.v21.2.Export.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.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.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.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.Extensions" Name="DevExpress.XtraReports.v21.2.Extensions.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" />
</Component>
<Component Id="GDPictureLibs" Guid="9ea5ab43-58ff-4813-9a8b-f854784f0275">
<!-- Haupt-DLL -->
<File Id="GdPicture.NET.14" Name="GdPicture.NET.14.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.dll" KeyPath="yes" />
<Directory Id="resources.de" Name="de">
<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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.XtraVerticalGrid.v21.2.resources" Name="DevExpress.XtraVerticalGrid.v21.2.resources.dll" />
</Component>
</Directory>
<!-- 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.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.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.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.twain.client.64" Name="GdPicture.NET.14.twain.client.64.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.twain.client.64.dll" />
<Component Id="RegistryKeys" Guid="4503BF18-22F2-4DBF-B281-06DE039F52C8">
<RegistryKey Root="HKLM" Key="Software">
<RegistryKey Key="[Manufacturer]">
<RegistryKey Key="[ProductName]" ForceCreateOnInstall="yes" ForceDeleteOnUninstall="yes" Id="REGKEYINSTALLDIR">
<RegistryValue Type="string" Value="[INSTALLDIR]" Name="Path" />
</RegistryKey>
</RegistryKey>
</RegistryKey>
<!-- 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.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.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.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.Rendering.Skia" Name="GdPicture.NET.14.Imaging.Rendering.Skia.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.Imaging.Rendering.Skia.64.dll" />
<util:RemoveFolderEx Id="RemoveApplicationFolder" On="uninstall" Property="INSTALLDIR" />
</Component>
</DirectoryRef>
<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" />
<Feature Id="MainApplication" Title="Main Application" Level="1">
<ComponentRef Id="MainApplicationExe" />
<ComponentRef Id="RegistryKeys" />
<ComponentRef Id="WindreamLibs" />
<ComponentRef Id="FormsUtilsLibs"/>
<ComponentRef Id="DDLibs" />
<ComponentRef Id="RuntimeLibs" />
<ComponentRef Id="DevExpressLibs" />
<ComponentRef Id="GDPictureLibs" />
<ComponentRef Id="Devexpress.Locales.de" />
<!-- 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.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.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.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.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.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.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.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.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.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" />
<!-- GdPicture Dependencies -->
<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.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="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.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.IdentityModel.Abstractions" Name="Microsoft.IdentityModel.Abstractions.dll" Source="..\taskFLOW\bin\$(var.Configuration)\Microsoft.IdentityModel.Abstractions.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="Newtonsoft.Json.Bson" Name="Newtonsoft.Json.Bson.dll" Source="..\taskFLOW\bin\$(var.Configuration)\Newtonsoft.Json.Bson.dll" />
<File Id="netstandard" Name="netstandard.dll" Source="..\taskFLOW\bin\$(var.Configuration)\netstandard.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.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" />
<!-- System DLLs -->
<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.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.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.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.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.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.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.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" />
<!-- NativeSDK DLLs -->
<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.Edition" Name="NativeSDK.Settings.Edition.dll" Source="..\taskFLOW\bin\$(var.Configuration)\NativeSDK.Settings.Edition.dll" />
<!-- Microsoft.Extensions Dependencies -->
<File Id="Microsoft.Extensions.Logging.Abstractions" Name="Microsoft.Extensions.Logging.Abstractions.dll" Source="..\taskFLOW\bin\$(var.Configuration)\Microsoft.Extensions.Logging.Abstractions.dll" />
<File Id="Microsoft.Extensions.Logging" Name="Microsoft.Extensions.Logging.dll" Source="..\taskFLOW\bin\$(var.Configuration)\Microsoft.Extensions.Logging.dll" />
<File Id="Microsoft.Extensions.DependencyInjection.Abstractions" Name="Microsoft.Extensions.DependencyInjection.Abstractions.dll" Source="..\taskFLOW\bin\$(var.Configuration)\Microsoft.Extensions.DependencyInjection.Abstractions.dll" />
<File Id="Microsoft.Extensions.Options" Name="Microsoft.Extensions.Options.dll" Source="..\taskFLOW\bin\$(var.Configuration)\Microsoft.Extensions.Options.dll" />
<File Id="Microsoft.Extensions.Primitives" Name="Microsoft.Extensions.Primitives.dll" Source="..\taskFLOW\bin\$(var.Configuration)\Microsoft.Extensions.Primitives.dll" />
</Component>
<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.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.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.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.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.XtraTreeMap.v21.2" Name="DevExpress.XtraTreeMap.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.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.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.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.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.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.UI" Name="DevExpress.Utils.v21.2.UI.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.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.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.XtraDialogs.v21.2" Name="DevExpress.XtraDialogs.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.XtraLayout.v21.2" Name="DevExpress.XtraLayout.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.XtraPrinting.v21.2" Name="DevExpress.XtraPrinting.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.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.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.Export" Name="DevExpress.RichEdit.v21.2.Export.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.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.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.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.Extensions" Name="DevExpress.XtraReports.v21.2.Extensions.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" />
</Component>
<Directory Id="resources.de" Name="de">
<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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.XtraVerticalGrid.v21.2.resources" Name="DevExpress.XtraVerticalGrid.v21.2.resources.dll" />
</Component>
</Directory>
<Component Id="RegistryKeys" Guid="4503BF18-22F2-4DBF-B281-06DE039F52C8">
<RegistryKey Root="HKLM" Key="Software">
<RegistryKey Key="[Manufacturer]">
<RegistryKey Key="[ProductName]" ForceCreateOnInstall="yes" ForceDeleteOnUninstall="yes" Id="REGKEYINSTALLDIR">
<RegistryValue Type="string" Value="[INSTALLDIR]" Name="Path" />
</RegistryKey>
</RegistryKey>
</RegistryKey>
<util:RemoveFolderEx Id="RemoveApplicationFolder" On="uninstall" Property="INSTALLDIR" />
</Component>
</DirectoryRef>
<Feature Id="MainApplication" Title="Main Application" Level="1">
<ComponentRef Id="MainApplicationExe" />
<ComponentRef Id="RegistryKeys" />
<ComponentRef Id="WindreamLibs" />
<ComponentRef Id="FormsUtilsLibs"/>
<ComponentRef Id="DDLibs" />
<ComponentRef Id="RuntimeLibs" />
<ComponentRef Id="DevExpressLibs" />
<ComponentRef Id="GDPictureLibs" />
<ComponentRef Id="Devexpress.Locales.de" />
<ComponentRef Id="ProtocolHandlerMachine" />
</Feature>
</Feature>
<Feature Id="DesktopShortcut" Title="Desktop Shortcut">
<Condition Level="0">DISABLE_DESKTOP_ICON</Condition>
<ComponentRef Id="ApplicationShortcut_Desktop"/>
</Feature>
<Feature Id="DesktopShortcut" Title="Desktop Shortcut">
<Condition Level="0">DISABLE_DESKTOP_ICON</Condition>
<ComponentRef Id="ApplicationShortcut_Desktop"/>
</Feature>
<Feature Id="StartmenuShortcut" Title="Startmenu Shortcut">
<Condition Level="0">DISABLE_STARTMENU_ICON</Condition>
<ComponentRef Id="ApplicationShortcut_StartMenu" />
</Feature>
<Feature Id="StartmenuShortcut" Title="Startmenu Shortcut">
<Condition Level="0">DISABLE_STARTMENU_ICON</Condition>
<ComponentRef Id="ApplicationShortcut_StartMenu" />
</Feature>
<!-- #######################-->
<!-- Beginn Aufruf über Link-->
<!-- Per-user ProtocolHandler (HKCU) -->
@@ -375,39 +383,39 @@
</Component>
<!-- Ende Aufruf über Link-->
<!-- #######################-->
<!-- Legt das Standard-Installationsverzeichnis fest-->
<Property Id="WIXUI_INSTALLDIR" Value="INSTALLDIR" />
<Property Id="_BrowseProperty" Value="INSTALLDIR" />
<!-- Legt das Standard-Installationsverzeichnis fest-->
<Property Id="WIXUI_INSTALLDIR" Value="INSTALLDIR" />
<Property Id="_BrowseProperty" Value="INSTALLDIR" />
<UI>
<!--<UIRef Id="WixUI_InstallDir" />-->
<UIRef Id="WixUI_FeatureTree"/>
<UIRef Id="WixUI_ErrorProgressText" />
<Publish Dialog="WelcomeDlg"
<UI>
<!--<UIRef Id="WixUI_InstallDir" />-->
<UIRef Id="WixUI_FeatureTree"/>
<UIRef Id="WixUI_ErrorProgressText" />
<Publish Dialog="WelcomeDlg"
Control="Next"
Event="NewDialog"
Value="InstallDirDlg"
Order="2">1</Publish>
<Publish Dialog="InstallDirDlg"
<Publish Dialog="InstallDirDlg"
Control="Back"
Event="NewDialog"
Value="WelcomeDlg"
Order="2">1</Publish>
<Publish Dialog="InstallDirDlg"
<Publish Dialog="InstallDirDlg"
Control="Next"
Event="NewDialog"
Value="FeaturesDlg"
Order="2">1</Publish>
<Publish Dialog="InstallDirDlg"
<Publish Dialog="InstallDirDlg"
Control="ChangeFolder"
Event="NewDialog"
Value="BrowseDlg"
Order="2">1</Publish>
<Publish Dialog="FeaturesDlg"
<Publish Dialog="FeaturesDlg"
Control="Back"
Event="NewDialog"
Value="InstallDirDlg"
Order="2">1</Publish>
</UI>
</Product>
</UI>
</Product>
</Wix>

View File

@@ -192,7 +192,7 @@
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Bcl.AsyncInterfaces" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-9.0.0.0" newVersion="9.0.0.0" />
<bindingRedirect oldVersion="0.0.0.0-10.0.0.9" newVersion="10.0.0.9" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Formats.Asn1" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
@@ -202,6 +202,18 @@
<assemblyIdentity name="System.Threading.Channels" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-10.0.0.5" newVersion="10.0.0.5" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Extensions.Logging.Abstractions" publicKeyToken="adb9793829ddae60" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-10.0.0.9" newVersion="10.0.0.9" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Extensions.DependencyInjection.Abstractions" publicKeyToken="adb9793829ddae60" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-10.0.0.9" newVersion="10.0.0.9" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Diagnostics.DiagnosticSource" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-10.0.0.9" newVersion="10.0.0.9" />
</dependentAssembly>
</assemblyBinding>
</runtime>
<entityFramework>

View File

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

View File

@@ -0,0 +1,237 @@
Public Class ClassCockpit
Private _treeNodeCounts As New Dictionary(Of Integer, Integer)
Public Sub CreateCockpit(pDTNodes As DataTable, myTreeView As DevExpress.XtraTreeList.TreeList, pAdmin As Boolean)
Try
LOGGER.Debug("=== TreeView Data Analysis ===")
LOGGER.Debug($"Total rows: {pDTNodes.Rows.Count}")
' ===== SAFETY CHECKS / NORMALISIERUNGEN =====
If pDTNodes Is Nothing OrElse pDTNodes.Rows.Count = 0 Then
LOGGER.Warn("CreateCockpit: pDTNodes is Nothing or empty - nothing to bind")
Exit Sub
End If
' Prüfen ob Primärschlüssel-Spalte existiert
If Not pDTNodes.Columns.Contains("PK_CFG_COCKPIT_DEFINITION_ID") Then
LOGGER.Error("CreateCockpit: Required column 'PK_CFG_COCKPIT_DEFINITION_ID' is missing - aborting cockpit creation")
Exit Sub
End If
' Entferne Zeilen mit NULL/ungültigem PK (können beim Binding zu Duplikat-Keys führen)
Dim rowsWithNullPk As New List(Of DataRow)
For Each r As DataRow In pDTNodes.Rows
If IsDBNull(r("PK_CFG_COCKPIT_DEFINITION_ID")) Then
rowsWithNullPk.Add(r)
End If
Next
If rowsWithNullPk.Count > 0 Then
LOGGER.Warn($"CreateCockpit: Found {rowsWithNullPk.Count} row(s) with NULL PK - removing them to avoid TreeList key errors")
For Each r As DataRow In rowsWithNullPk
r.Delete()
Next
pDTNodes.AcceptChanges()
End If
' ===== NUR AKTIVE KNOTEN BEHALTEN =====
If pDTNodes.Columns.Contains("ACTIVE") And pAdmin = False Then
Dim oInactiveRows As DataRow() = pDTNodes.Select("ACTIVE = 0 OR ACTIVE IS NULL")
If oInactiveRows.Length > 0 Then
LOGGER.Debug($"Load_Treeview: Removing [{oInactiveRows.Length}] inactive node(s) (ACTIVE=0 or NULL)")
For Each oRow As DataRow In oInactiveRows
oRow.Delete()
Next
pDTNodes.AcceptChanges()
End If
Else
LOGGER.Warn("Load_Treeview: ACTIVE column not found in FNTF_GET_COCKPIT_DEFINITION result")
End If
' ===== MONITOR-KNOTEN ENTFERNEN WENN KEIN RECHT =====
If MONITORING_ACTIVE = False AndAlso pAdmin = False AndAlso pDTNodes.Columns.Contains("TYPE_ID") Then
Dim oMonitorRows As DataRow() = pDTNodes.Select("TYPE_ID = 2")
If oMonitorRows.Length > 0 Then
LOGGER.Debug($"Load_Treeview: MONITORING_ACTIVE=False - removing [{oMonitorRows.Length}] monitor node(s) from TreeList datasource")
For Each oRow As DataRow In oMonitorRows
oRow.Delete()
Next
pDTNodes.AcceptChanges()
End If
End If
' ===== CHART-KNOTEN ENTFERNEN WENN KEIN RECHT =====
If SHOW_CHARTS = False AndAlso pAdmin = False AndAlso pDTNodes.Columns.Contains("TYPE_ID") Then
Dim oChartRows As DataRow() = pDTNodes.Select("TYPE_ID = 3")
If oChartRows.Length > 0 Then
LOGGER.Debug($"Load_Treeview: SHOW_CHARTS=False - removing [{oChartRows.Length}] chart node(s) from TreeList datasource")
For Each oRow As DataRow In oChartRows
oRow.Delete()
Next
pDTNodes.AcceptChanges()
End If
End If
' ===== NULL-PARENT_IDS NORMALISIEREN (NULL -> 0) =====
If pDTNodes.Columns.Contains("PARENT_ID") Then
For Each r As DataRow In pDTNodes.Rows
If IsDBNull(r("PARENT_ID")) Then
r("PARENT_ID") = 0
End If
Next
Else
' Falls PARENT_ID fehlt, füge Spalte hinzu und setze 0
LOGGER.Warn("CreateCockpit: 'PARENT_ID' column missing - adding and setting to 0")
pDTNodes.Columns.Add("PARENT_ID", GetType(Integer))
For Each r As DataRow In pDTNodes.Rows
r("PARENT_ID") = 0
Next
End If
pDTNodes.AcceptChanges()
' ===== DUPLIKATE PKS ERMITTELN UND ENTFERNEN =====
Dim dupGroups = pDTNodes.AsEnumerable().
GroupBy(Function(r) Convert.ToInt32(r("PK_CFG_COCKPIT_DEFINITION_ID"))).
Where(Function(g) g.Count() > 1).ToList()
If dupGroups.Count > 0 Then
For Each g In dupGroups
LOGGER.Warn($"CreateCockpit: Duplicate PK detected: {g.Key}. Keeping first occurrence, removing {g.Count() - 1} duplicate row(s).")
Dim firstSeen As Boolean = False
For Each rr As DataRow In g
If Not firstSeen Then
firstSeen = True
Continue For
End If
rr.Delete()
Next
Next
pDTNodes.AcceptChanges()
End If
' ===== PARENT_IDs REFERENZEN PRÜFEN =====
Dim existingKeys As New HashSet(Of Integer)(pDTNodes.AsEnumerable().Select(Function(r) Convert.ToInt32(r("PK_CFG_COCKPIT_DEFINITION_ID"))))
For Each r As DataRow In pDTNodes.Rows
Dim pid As Integer = Convert.ToInt32(r("PARENT_ID"))
If pid <> 0 AndAlso Not existingKeys.Contains(pid) Then
LOGGER.Warn($"CreateCockpit: ParentId {pid} referenced by PK {r("PK_CFG_COCKPIT_DEFINITION_ID")} does not exist - setting ParentId to 0")
r("PARENT_ID") = 0
End If
Next
pDTNodes.AcceptChanges()
Dim rootCount = pDTNodes.AsEnumerable().Count(Function(r) Not IsDBNull(r("PARENT_ID")) AndAlso CInt(r("PARENT_ID")) = 0)
LOGGER.Debug($"Root nodes (PARENT_ID = 0): {rootCount}")
' ===== PARENT_ID-Datentyp prüfen =====
If pDTNodes.Rows.Count > 0 Then
Dim firstParentId = pDTNodes.Rows(0)("PARENT_ID")
LOGGER.Debug($"PARENT_ID Type: {firstParentId.GetType().Name}, Value: {firstParentId}")
End If
' ===== ANZAHL DER OVERVIEW-KNOTEN ERMITTELN (VOR WEITEREN FILTERN) =====
Dim oOverviewRows As DataRow() = pDTNodes.Select("TYPE_ID = 0")
LOGGER.Debug($"Load_Treeview: Found [{oOverviewRows.Length}] node(s) with TYPE_ID=0 (Overview)")
myTreeView.BeginUpdate()
Try
' ===== TreeList VOLLSTÄNDIG zurücksetzen =====
myTreeView.DataSource = Nothing
myTreeView.ClearNodes()
' ===== Hierarchie-Felder setzen =====
myTreeView.KeyFieldName = "PK_CFG_COCKPIT_DEFINITION_ID"
myTreeView.ParentFieldName = "PARENT_ID"
myTreeView.RootValue = 0 ' Explizit setzen: Root-Nodes haben PARENT_ID = 0
' ===== Jetzt DataSource zuweisen =====
myTreeView.DataSource = pDTNodes
AddHandler myTreeView.CustomDrawNodeCell, AddressOf TreeList_Config_CustomDrawNodeCell
' ===== MODERNES DESIGN =====
myTreeView.Appearance.Row.Font = New Font("Segoe UI", 12, FontStyle.Regular)
myTreeView.Appearance.FocusedRow.Font = New Font("Segoe UI", 12, FontStyle.Bold)
myTreeView.Appearance.HideSelectionRow.Font = New Font("Segoe UI", 12, FontStyle.Regular)
myTreeView.Appearance.Row.BackColor = Color.White
myTreeView.Appearance.Row.ForeColor = Color.FromArgb(50, 50, 50)
myTreeView.Appearance.FocusedRow.BackColor = Color.FromArgb(210, 230, 255)
myTreeView.Appearance.FocusedRow.ForeColor = Color.FromArgb(20, 20, 20)
myTreeView.Appearance.HideSelectionRow.BackColor = Color.FromArgb(225, 235, 250)
myTreeView.Appearance.HideSelectionRow.ForeColor = Color.FromArgb(50, 50, 50)
myTreeView.RowHeight = 28
Dim oVisibleColumns As New System.Collections.Generic.HashSet(Of String)(StringComparer.OrdinalIgnoreCase) From {"NAME"}
For Each oColumn As DevExpress.XtraTreeList.Columns.TreeListColumn In myTreeView.Columns
oColumn.Visible = oVisibleColumns.Contains(oColumn.FieldName)
Next
' --- Neu: Sortierung nach CFG_SEQUENCE anwenden (Kinderreihenfolge) ---
Try
Dim seqCol = myTreeView.Columns("CFG_SEQUENCE")
If seqCol IsNot Nothing Then
' Set the column sort order and ensure it is the primary sort (SortIndex = 0)
seqCol.SortOrder = DevExpress.Data.ColumnSortOrder.Ascending
TryCast(seqCol, DevExpress.XtraTreeList.Columns.TreeListColumn).SortIndex = 0
LOGGER.Debug("myTreeView : set CFG_SEQUENCE SortOrder = Ascending, SortIndex = 0")
Else
' Fallback: wenn die Spalte nicht existiert, sortiere die DataView vor dem Binden
Try
If pDTNodes.DefaultView IsNot Nothing Then
pDTNodes.DefaultView.Sort = "CFG_SEQUENCE ASC"
LOGGER.Debug("Fallback: DataTable.DefaultView sorted by CFG_SEQUENCE ASC")
End If
Catch dvEx As Exception
LOGGER.Warn($"CFG_SEQUENCE column not found - cannot sort TreeList by sequence and fallback failed: {dvEx.Message}")
End Try
End If
Catch sortEx As Exception
LOGGER.Error($"Error sorting TreeList by CFG_SEQUENCE: {sortEx.Message}")
End Try
Finally
myTreeView.EndUpdate()
End Try
' ===== KNOTEN AUF-/ZUKLAPPEN BASIEREND AUF ANZAHL DER OVERVIEW-KNOTEN =====
If oOverviewRows.Length = 1 Then
LOGGER.Debug("Load_Treeview: Only 1 overview node found - expanding all nodes")
myTreeView.ExpandAll()
ElseIf oOverviewRows.Length > 1 Then
LOGGER.Debug($"Load_Treeview: [{oOverviewRows.Length}] overview nodes found - collapsing all nodes")
myTreeView.CollapseAll()
Else
LOGGER.Warn("Load_Treeview: No overview nodes (TYPE_ID=0) found - keeping default collapsed state")
End If
Catch ex As Exception
LOGGER.Error($"Error in CreateCockpit: {ex.Message}")
End Try
End Sub
Private Sub TreeList_Config_CustomDrawNodeCell(sender As Object, e As DevExpress.XtraTreeList.CustomDrawNodeCellEventArgs)
Try
Dim oPk As Object = e.Node.GetValue("PK_CFG_COCKPIT_DEFINITION_ID")
If oPk Is Nothing OrElse IsDBNull(oPk) Then
Exit Sub
End If
' ===== ACTIVE-Status prüfen und Hintergrundfarbe setzen =====
Dim oActive As Object = e.Node.GetValue("ACTIVE")
If oActive IsNot Nothing AndAlso Not IsDBNull(oActive) Then
If Not CBool(oActive) Then ' ACTIVE = 0/False
e.Appearance.BackColor = Color.FromArgb(255, 235, 235) ' Leicht rot
e.Appearance.ForeColor = Color.FromArgb(120, 0, 0) ' Dunkelrot für Text
End If
End If
Dim oPkInt As Integer = CInt(oPk)
If Not _treeNodeCounts.ContainsKey(oPkInt) Then
Exit Sub
End If
If _treeNodeCounts(oPkInt) > 0 Then
e.Appearance.Font = New Font(e.Appearance.Font, FontStyle.Bold)
Else
e.Appearance.Font = New Font(e.Appearance.Font, FontStyle.Regular)
End If
Catch ex As Exception
LOGGER.Error(ex)
End Try
End Sub
End Class

View File

@@ -32,6 +32,8 @@ Public Class ClassConfig
Public Property ReminderTimer As Integer = 5
Public Property OverviewRefresh_Intervall As Integer = 2
Public Property MainTreeList_Width As Integer = 250
Public Property MonitorSplitter1_Distance As Integer = 510
Public Property MonitorSplitter2_Distance As Integer = 270
Public Property MonitorSplitter3_Distance As Integer = 400
@@ -41,10 +43,15 @@ Public Class ClassConfig
Public Property LastExportPath As String = ""
Public Property ADDITIONAL_SEARCHES_LOAD_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 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 Property ProfileID As Integer

View File

@@ -544,9 +544,8 @@ Public Class ClassControlCreator
Return oControl
End Function
Public Function CreateExistingGridControl(row As DataRow, DT_MY_COLUMNS As DataTable, designMode As Boolean,
pcurrencySymbol As String, pParentControl As Control) As GridControl
Dim oGridControlCreator = New ControlCreator.GridControl(LogConfig, GridTables, pcurrencySymbol, pParentControl)
Public Function CreateExistingGridControl(row As DataRow, DT_MY_COLUMNS As DataTable, designMode As Boolean, pcurrencySymbol As String) As GridControl
Dim oGridControlCreator = New ControlCreator.GridControl(LogConfig, GridTables, pcurrencySymbol)
Dim oControl As GridControl = CreateBaseControl(New GridControl(), row, designMode)
Dim oControlId = DirectCast(oControl.Tag, ControlMetadata).Guid
Dim oView As GridView
@@ -873,7 +872,7 @@ Public Class ClassControlCreator
' Schritt 1 - Sichere ALLE Lookup-Werte VOR SQL-Reload
' ============================================================================
Dim lookupBackups As New Dictionary(Of String, Object)
Dim comboBoxBackups As New Dictionary(Of String, Object)
For Each oControl As Control In pControlPanel.Controls
If TypeOf oControl Is LookupControl3 Then
Try
@@ -887,6 +886,18 @@ Public Class ClassControlCreator
Catch ex As Exception
Logger.Error($"GridTables_HandleControlValueChange -> Fehler beim Backup von Lookup: {ex.Message}")
End Try
ElseIf TypeOf oControl Is Windows.Forms.ComboBox Then
Try
Dim comboBox = DirectCast(oControl, Windows.Forms.ComboBox)
If comboBox.SelectedItem IsNot Nothing OrElse Not String.IsNullOrEmpty(comboBox.Text) Then
Dim controlName As String = comboBox.Name
' Speichere sowohl SelectedItem als auch Text für Fallback
comboBoxBackups(controlName) = If(comboBox.SelectedItem, comboBox.Text)
Logger.Debug($"GridTables_HandleControlValueChange -> Backup für ComboBox [{controlName}]: [{comboBoxBackups(controlName)}]")
End If
Catch ex As Exception
Logger.Error($"GridTables_HandleControlValueChange -> Fehler beim Backup von ComboBox: {ex.Message}")
End Try
End If
Next
@@ -901,15 +912,7 @@ Public Class ClassControlCreator
Dim oColumnName = oRow.Item("SPALTENNAME")
Dim oAdvancedLookup = oRow.Item("ADVANCED_LOOKUP")
' *** NEU: Prüfe ob Spalte #TBCOL# verwendet (dynamisch pro Zeile) ***
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)
GridTables_CacheDatatableForColumn(oControlId, oColumnName, oSqlStatement, oConnectionId, oAdvancedLookup)
@@ -973,8 +976,99 @@ Public Class ClassControlCreator
End If
Next
End If
' ============================================================================
' Schritt 4 - Prüfe und restauriere ComboBox-Werte mit SQL-Abhängigkeiten
' ============================================================================
If comboBoxBackups.Count > 0 Then
Logger.Debug($"GridTables_HandleControlValueChange -> Prüfe {comboBoxBackups.Count} ComboBoxes auf Wiederherstellung...")
For Each oControl As Control In pControlPanel.Controls
If TypeOf oControl Is Windows.Forms.ComboBox Then
Try
Dim comboBox = DirectCast(oControl, Windows.Forms.ComboBox)
Dim controlName As String = comboBox.Name
If comboBoxBackups.ContainsKey(controlName) Then
Dim oldValue = comboBoxBackups(controlName)
RestoreComboBoxValue(comboBox, oldValue, controlName)
End If
Catch ex As Exception
Logger.Error($"GridTables_HandleControlValueChange -> Fehler beim Prüfen von ComboBox: {ex.Message}")
Logger.Error(ex)
End Try
End If
Next
End If
End Sub
Private Sub RestoreComboBoxValue(comboBox As Windows.Forms.ComboBox, oldValue As Object, controlName As String)
If comboBox Is Nothing OrElse oldValue Is Nothing Then
Logger.Warn($"RestoreComboBoxValue -> [{controlName}] Ungültige Parameter")
Return
End If
Try
Dim oldValueStr As String = oldValue.ToString()
' Prüfe ob der alte Wert noch in der ComboBox Items vorhanden ist
Dim itemFound As Boolean = False
For Each item As Object In comboBox.Items
If item IsNot Nothing AndAlso item.ToString().Equals(oldValueStr, StringComparison.OrdinalIgnoreCase) Then
itemFound = True
Exit For
End If
Next
If itemFound Then
' Versuche den Wert wiederherzustellen
Dim currentSelection As String = If(comboBox.SelectedItem?.ToString(), comboBox.Text)
If Not String.Equals(currentSelection, oldValueStr, StringComparison.OrdinalIgnoreCase) Then
' Event-Guard temporär aktivieren um Endlosschleifen zu vermeiden
Dim oldGuard As Boolean = GlobalLookupEventGuard
GlobalLookupEventGuard = True
Try
comboBox.SelectedIndex = -1
Application.DoEvents()
' Suche und setze das Item
For i As Integer = 0 To comboBox.Items.Count - 1
If comboBox.Items(i).ToString().Equals(oldValueStr, StringComparison.OrdinalIgnoreCase) Then
comboBox.SelectedIndex = i
Exit For
End If
Next
comboBox.Refresh()
Application.DoEvents()
' Validierung
Dim newSelection As String = If(comboBox.SelectedItem?.ToString(), comboBox.Text)
If String.Equals(newSelection, oldValueStr, StringComparison.OrdinalIgnoreCase) Then
Logger.Debug($"RestoreComboBoxValue -> [{controlName}] ✓ erfolgreich wiederhergestellt: [{oldValueStr}]")
Else
Logger.Warn($"RestoreComboBoxValue -> [{controlName}] ✗ Fehler beim Wiederherstellen! Erwartet: [{oldValueStr}], Ist: [{newSelection}]")
End If
Finally
' Event-Guard wiederherstellen
GlobalLookupEventGuard = oldGuard
End Try
Else
Logger.Debug($"RestoreComboBoxValue -> [{controlName}] Wert bereits korrekt gesetzt")
End If
Else
Logger.Warn($"RestoreComboBoxValue -> [{controlName}] Wert [{oldValueStr}] ✗ nicht mehr in Items vorhanden")
End If
Catch ex As Exception
Logger.Error($"RestoreComboBoxValue -> Fehler bei [{controlName}]: {ex.Message}")
Logger.Error(ex)
End Try
End Sub
Private Sub RestoreLookupValues(lookup As LookupControl3, oldValue As Object,
newDataSource As DataTable, controlName As String)
If lookup Is Nothing OrElse oldValue Is Nothing OrElse newDataSource Is Nothing Then

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

@@ -83,6 +83,7 @@
If IsNothing(DTVWIDB_BE_ATTRIBUTE) Then
oSQL = $"SELECT DISTINCT ATTR_TITLE, TYP_ID, TYP_ID as [TYPE_ID] FROM VWIDB_BE_ATTRIBUTE ORDER BY ATTR_TITLE "
DTVWIDB_BE_ATTRIBUTE = DatabaseFallback.GetDatatableIDB(oSQL)
LOGGER.Info($"[{DTVWIDB_BE_ATTRIBUTE.Rows.Count.ToString}] attributes [VWIDB_BE_ATTRIBUTE] found in IDB.")
End If
Return True
End Function
@@ -111,10 +112,8 @@
For Each oRow As DataRow In DTVWIDB_BE_ATTRIBUTE.Rows
oCount += 1
aIndexNames(oCount) = oRow.Item("ATTR_TITLE")
Next
' Indexarray sortiert zurückgeben
Array.Sort(aIndexNames)
' Indexarray zurückgeben

View File

@@ -80,12 +80,11 @@ Public Class ClassInit
If CONFIG.Config.EDMIAppServer <> String.Empty Then
Try
LOGGER.Info($"Configuration EDMIAppServer [{CONFIG.Config.EDMIAppServer}] will be used...")
_Client = New Client(LOGCONFIG, CONFIG.Config.EDMIAppServer)
If Not IsNothing(_Client) Then
If _Client.Connect() Then
_EDMIClient = New Client(LOGCONFIG, CONFIG.Config.EDMIAppServer)
If Not IsNothing(_EDMIClient) Then
If _EDMIClient.Connect() Then
EDMIAppServerActive = True
EDMIService.Client = _Client
EDMIService.Client = _EDMIClient
EDMIService.Address = CONFIG.Config.EDMIAppServer
LOGGER.Info($"EDMIAppServer [{CONFIG.Config.EDMIAppServer}] is active!")
@@ -212,7 +211,7 @@ Public Class ClassInit
' We initialize the Class in anycase.
' If there is no client, it will fall back to the db by itself
DatabaseFallback = New DatabaseWithFallback(LOGCONFIG, _Client, Database_ECM, Database_IDB)
DatabaseFallback = New DatabaseWithFallback(LOGCONFIG, _EDMIClient, Database_ECM, Database_IDB)
If dbECMInitialized = True And CONNECTION_STRING_IDB = String.Empty Then
Return True
@@ -406,18 +405,22 @@ Public Class ClassInit
Try
USER_RIGHT_VIEW_ONLY = DT_CHECKUSER_MODULE.Rows(0).Item("USER_RIGHT2")
LOGGER.Debug("USER_RIGHT_VIEW_ONLY: " & USER_RIGHT_VIEW_ONLY.ToString)
Catch ex As Exception
USER_RIGHT_VIEW_ONLY = False
LOGGER.Info("⚠️ Error in USER_RIGHT_VIEW_ONLY: " & ex.Message)
End Try
Try
USER_RIGHT3 = DT_CHECKUSER_MODULE.Rows(0).Item("USER_RIGHT3")
Catch ex As Exception
USER_RIGHT3 = False
LOGGER.Info("⚠️ Error in USER_RIGHT3: " & ex.Message)
End Try
Try
USER_RIGHT4 = DT_CHECKUSER_MODULE.Rows(0).Item("USER_RIGHT4")
Catch ex As Exception
USER_RIGHT4 = False
LOGGER.Info("⚠️ Error in USER_RIGHT4: " & ex.Message)
End Try
LOGGER.Debug("User exists....")
@@ -479,7 +482,7 @@ Public Class ClassInit
Settings_LoadBasicConfig()
oStep = "TBDD_CONNECTION"
oSql = "select * from TBDD_CONNECTION WHERE AKTIV = 1"
oSql = "select * from TBDD_CONNECTION WITH (NOLOCK) WHERE AKTIV = 1"
'BASEDATA_DT_TBDD_CONNECTION = DataASorDB.GetDatatable("DD_ECM", oSql, "TBDD_CONNECTION", "")
BASEDATA_DT_TBDD_CONNECTION = DatabaseFallback.GetDatatable("TBDD_CONNECTION", New GetDatatableOptions(oSql, DatabaseType.ECM))
@@ -528,7 +531,7 @@ Public Class ClassInit
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))
oStep = "TBDD_GUI_LANGUAGE"
@@ -536,7 +539,7 @@ Public Class ClassInit
BASEDATA_DT_LANGUAGE = DatabaseFallback.GetDatatable("TBDD_GUI_LANGUAGE", New GetDatatableOptions(oSql, DatabaseType.ECM))
oSql = "SELECT * FROM TBDD_COLUMNS_FORMAT WITH (NOLOCK) WHERE MODULE = 'taskFLOW' AND GRIDVIEW = 'GridViewWorkflows'"
oSql = "SELECT * FROM TBDD_COLUMNS_FORMAT WITH (NOLOCK) WHERE MODULE = 'taskFLOW'"
BASEDATA_TBDD_COLUMNS_FORMAT = DatabaseFallback.GetDatatable("TBDD_COLUMNS_FORMAT", New GetDatatableOptions(oSql, DatabaseType.ECM))

View File

@@ -194,13 +194,32 @@ Public Class RefreshHelper
End Sub
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
Private Sub LoadVisibleIndex()
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.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
_Logger.Error(ex)
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
Namespace DD_DMSLiteDataSetTableAdapters
Partial Public Class VWPM_CHART_INVOICE_MONITORTableAdapter
End Class
Partial Public Class TBPM_PROFILETableAdapter
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
End Class
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>
</DeleteCommand>
<InsertCommand>
<DbCommand CommandType="Text" ModifiedByUser="false">
<DbCommand CommandType="Text" ModifiedByUser="true">
<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,
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);
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>
<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="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="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_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="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="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="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_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="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_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="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="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="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="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="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="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="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="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="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_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_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_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="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="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="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="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="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_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="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="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_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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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>
</DbCommand>
</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,
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,
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
WHERE (GUID = @guid)
ORDER BY Y_LOC, X_LOC</CommandText>
@@ -1031,7 +1031,7 @@ ORDER BY Y_LOC, X_LOC</CommandText>
</DbCommand>
</SelectCommand>
<UpdateCommand>
<DbCommand CommandType="Text" ModifiedByUser="false">
<DbCommand CommandType="Text" ModifiedByUser="true">
<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,
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);
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>
<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="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="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_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="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="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="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="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="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="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="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="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="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="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="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="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_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_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_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="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="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="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="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="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_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="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="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_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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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>
</DbCommand>
</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="FORMAT_STRING" DataSetColumn="FORMAT_STRING" />
<Mapping SourceColumn="TEXT_ALIGNMENT" DataSetColumn="TEXT_ALIGNMENT" />
<Mapping SourceColumn="DISPLAY_IN_SEPERATE_FORM" DataSetColumn="DISPLAY_IN_SEPERATE_FORM" />
</Mappings>
<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">
@@ -1237,8 +1236,8 @@ VALUES (@PROFIL_ID,@NAME,@CTRL_TYPE,@CTRL_TEXT,@X_LOC,@Y_LOC,@ADDED_WHO,@
<SelectCommand>
<DbCommand CommandType="Text" ModifiedByUser="true">
<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)
VALUES (@PROFIL_ID,@NAME,@CTRL_TYPE,@CTRL_TEXT,@X_LOC,@Y_LOC,@ADDED_WHO,@HEIGHT,@Width,@TEXT_ALIGNMENT,@DISPLAY_IN_SEPERATE_FORM)</CommandText>
(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)</CommandText>
<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="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="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="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>
</DbCommand>
</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,
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,
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
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
FROM TBPM_PROFILE_CONTROLS AS T
WHERE (PROFIL_ID = @profil_id)
ORDER BY Y_LOC, X_LOC</CommandText>
@@ -1804,13 +1801,16 @@ FROM VWPM_CHART_INVOICE_MONITOR</CommandText>
</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">
<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>
<DbCommand CommandType="Text" ModifiedByUser="true">
<CommandText>SELECT Title, Anzahl, NettoSumme, SEQ
FROM VWPM_CHART_INVOICE_MONITOR_SERIES
WHERE (COCKPIT_CHART_ID = @COCKPIT_CHART_ID)
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>
</SelectCommand>
</DbSource>
@@ -1823,27 +1823,6 @@ ORDER BY SEQ</CommandText>
</Mappings>
<Sources />
</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">
<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">
@@ -2706,7 +2685,7 @@ SELECT GUID, NAME, TITLE, PRIORITY, DESCRIPTION, ACTIVE, WD_SEARCH, NO_OF_DOCUME
</xs:simpleType>
</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="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="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>
@@ -2715,7 +2694,6 @@ SELECT GUID, NAME, TITLE, PRIORITY, DESCRIPTION, ACTIVE, WD_SEARCH, NO_OF_DOCUME
</xs:restriction>
</xs:simpleType>
</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:complexType>
</xs:element>
@@ -2826,7 +2804,7 @@ SELECT GUID, NAME, TITLE, PRIORITY, DESCRIPTION, ACTIVE, WD_SEARCH, NO_OF_DOCUME
</xs:restriction>
</xs:simpleType>
</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:restriction base="xs:string">
<xs:maxLength value="3000" />
@@ -3200,22 +3178,6 @@ SELECT GUID, NAME, TITLE, PRIORITY, DESCRIPTION, ACTIVE, WD_SEARCH, NO_OF_DOCUME
</xs:sequence>
</xs:complexType>
</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:complexType>
<xs:sequence>
@@ -3419,9 +3381,9 @@ SELECT GUID, NAME, TITLE, PRIORITY, DESCRIPTION, ACTIVE, WD_SEARCH, NO_OF_DOCUME
</xs:element>
<xs:annotation>
<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_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_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_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_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_UserRelationName="FK_TBPM_PROFILE_CONTROLS_PROFILE" msprop:Generator_ParentPropName="TBPM_PROFILERow" />
</xs:appinfo>
</xs:annotation>
</xs:schema>

View File

@@ -4,44 +4,43 @@
Changes to this file may cause incorrect behavior and will be lost if
the code is regenerated.
</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>
<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: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: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_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: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: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: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: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: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="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="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="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="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="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="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="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_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: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: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="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: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: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: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="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: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_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_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="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="24" X="625" Y="114" Height="276" Width="189" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="272" />
<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="10" X="1757" Y="274" Height="153" Width="300" 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:TBWH_CONNECTION" ZOrder="23" X="625" Y="114" Height="276" Width="189" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="272" />
</Shapes>
<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>
<Point>
<X>1247</X>
<Y>611</Y>
<Y>690</Y>
</Point>
<Point>
<X>1297</X>
<Y>611</Y>
<X>1320</X>
<Y>690</Y>
</Point>
</RoutePoints>
</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>
<Point>
<X>141</X>
@@ -49,15 +48,15 @@
</Point>
<Point>
<X>141</X>
<Y>408</Y>
<Y>487</Y>
</Point>
<Point>
<X>1297</X>
<Y>408</Y>
<X>1320</X>
<Y>487</Y>
</Point>
</RoutePoints>
</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>
<Point>
<X>965</X>

View File

@@ -133,6 +133,7 @@ Public Module ModuleControlProperties
<Description("Stores data of Read Only fields when document is saved. Default behaviour is NOT to save Read Only fields.")>
<Category(ClassConstants.CAT_BEHAVIOUR)>
Public Property [SaveChangeOnReadOnly]() As Boolean
<Browsable(False)>
<Category(ClassConstants.CAT_GENERAL)>
Public Property IndexType() As IndexTypes
@@ -291,7 +292,15 @@ Public Module ModuleControlProperties
Public Class ComboboxProperties
Inherits InputPropertiesWithControlData
<DisplayName("Regex Pattern")>
<Category(ClassConstants.CAT_VALIDATION)>
<Editor(GetType(ClassRegexEditor), GetType(UITypeEditor))>
Public Property Regex As String
<DisplayName("Regex Failure Message")>
<Category(ClassConstants.CAT_VALIDATION)>
<Editor(GetType(MultilineStringEditor), GetType(UITypeEditor))>
Public Property RegexMessage As String
<Category(ClassConstants.CAT_DISPLAY)>
Public Property Text() As String
@@ -348,10 +357,6 @@ Public Module ModuleControlProperties
<DisplayName("Allow Adding New Values")>
<Category(ClassConstants.CAT_BEHAVIOUR)>
Public Property AllowAddNewValues As Boolean
<DisplayName("Display in seperate form")>
<Category(ClassConstants.CAT_BEHAVIOUR)>
Public Property [DISPLAY_SEP_FORM]() As Boolean
End Class
Public Class ButtonProperties

View File

@@ -150,14 +150,14 @@ Module ModuleRuntimeVariables
Public Property CURRENT_DT_MASS_CHANGE_DOCS As DataTable
Public Property CURRENT_DT_FINAL_INDEXING As DataTable
Public Property CURRENT_DT_PROFILES As DataTable
Public Property CURRENT_DT_PROFILE_LANGUAGE As DataTable
Public Property CURRENT_DT_PROFILE As DataTable
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 DTVWCONTROL_INDEX As DataTable
@@ -179,7 +179,7 @@ Module ModuleRuntimeVariables
Public Property MyIndicies As List(Of String)
Public Property MyIndicies_Types As List(Of Integer)
Public Property _Client As Client
Public Property _EDMIClient As Client
Public Property WMSUFFIX As String
Public Property WMDRIVE_LETTER As String

View File

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

View File

@@ -1,15 +1,17 @@
DevExpress.XtraNavBar.NavBarControl, DevExpress.XtraNavBar.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.XtraBars.Ribbon.RibbonControl, DevExpress.XtraBars.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.XtraTreeList.TreeList, DevExpress.XtraTreeList.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.XtraEditors.Repository.RepositoryItemProgressBar, 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.XtraDataLayout.DataLayoutControl, DevExpress.XtraLayout.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.TreeListLookUpEdit, DevExpress.XtraTreeList.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.XtraGrid.GridControl, DevExpress.XtraGrid.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.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.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.Repository.RepositoryItemProgressBar, DevExpress.XtraEditors.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.XtraEditors.TextEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a

View File

@@ -294,6 +294,9 @@
<HintPath>..\packages\GdPicture.14.4.4\lib\net462\GdPicture.NET.14.wia.gateway.dll</HintPath>
<EmbedInteropTypes>True</EmbedInteropTypes>
</Reference>
<Reference Include="GdPicture.NET.14.WinForms, Version=14.4.4.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.WinForms.14.4.4\lib\net462\GdPicture.NET.14.WinForms.dll</HintPath>
</Reference>
<Reference Include="Google.Protobuf, Version=3.33.2.0, Culture=neutral, PublicKeyToken=a7d26565bac4d604, processorArchitecture=MSIL">
<HintPath>..\packages\Google.Protobuf.3.33.2\lib\net45\Google.Protobuf.dll</HintPath>
</Reference>
@@ -316,8 +319,8 @@
<Reference Include="Mail">
<HintPath>M:\Bibliotheken\3rdParty\Limilabs\Mail.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Bcl.AsyncInterfaces, Version=10.0.0.5, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.AsyncInterfaces.10.0.5\lib\net462\Microsoft.Bcl.AsyncInterfaces.dll</HintPath>
<Reference Include="Microsoft.Bcl.AsyncInterfaces, Version=10.0.0.9, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.AsyncInterfaces.10.0.9\lib\net462\Microsoft.Bcl.AsyncInterfaces.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Bcl.Cryptography, Version=10.0.0.5, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.Cryptography.10.0.5\lib\net462\Microsoft.Bcl.Cryptography.dll</HintPath>
@@ -326,6 +329,24 @@
<HintPath>..\packages\Microsoft.Bcl.HashCode.6.0.0\lib\net462\Microsoft.Bcl.HashCode.dll</HintPath>
</Reference>
<Reference Include="Microsoft.CSharp" />
<Reference Include="Microsoft.Extensions.DependencyInjection, Version=10.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Extensions.DependencyInjection.10.0.0\lib\net462\Microsoft.Extensions.DependencyInjection.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Extensions.DependencyInjection.Abstractions, Version=10.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Extensions.DependencyInjection.Abstractions.10.0.0\lib\net462\Microsoft.Extensions.DependencyInjection.Abstractions.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Extensions.Logging, Version=10.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Extensions.Logging.10.0.0\lib\net462\Microsoft.Extensions.Logging.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Extensions.Logging.Abstractions, Version=10.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Extensions.Logging.Abstractions.10.0.0\lib\net462\Microsoft.Extensions.Logging.Abstractions.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Extensions.Options, Version=10.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Extensions.Options.10.0.0\lib\net462\Microsoft.Extensions.Options.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Extensions.Primitives, Version=10.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Extensions.Primitives.10.0.0\lib\net462\Microsoft.Extensions.Primitives.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Identity.Client, Version=4.55.0.0, Culture=neutral, PublicKeyToken=0a613f4dd989e8ae, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Identity.Client.4.55.0\lib\net461\Microsoft.Identity.Client.dll</HintPath>
</Reference>
@@ -385,6 +406,9 @@
<Reference Include="System.Data.OracleClient" />
<Reference Include="System.Deployment" />
<Reference Include="System.Design" />
<Reference Include="System.Diagnostics.DiagnosticSource, Version=10.0.0.9, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Diagnostics.DiagnosticSource.10.0.9\lib\net462\System.Diagnostics.DiagnosticSource.dll</HintPath>
</Reference>
<Reference Include="System.DirectoryServices" />
<Reference Include="System.DirectoryServices.AccountManagement" />
<Reference Include="System.Drawing" />
@@ -458,6 +482,7 @@
</ItemGroup>
<ItemGroup>
<Compile Include="ApplicationEvents.vb" />
<Compile Include="ClassCockpit.vb" />
<Compile Include="ClassConfig.vb" />
<Compile Include="ClassConstants.vb" />
<Compile Include="ClassControlCreator.vb" />
@@ -465,7 +490,6 @@
<Compile Include="ClassFinalIndex.vb" />
<Compile Include="ClassFinalizeDoc.vb" />
<Compile Include="ClassFormat.vb" />
<Compile Include="ClassGridDataLoader.vb" />
<Compile Include="ClassIDBData.vb" />
<Compile Include="ClassImageSelector.vb" />
<Compile Include="ClassImageValue.vb" />
@@ -484,6 +508,12 @@
<Compile Include="clsWMDocGrid.vb" />
<Compile Include="ControlCreator\Constants.vb" />
<Compile Include="ControlCreator\GridControl.vb" />
<Compile Include="crmCockpit_UserTest.Designer.vb">
<DependentUpon>crmCockpit_UserTest.vb</DependentUpon>
</Compile>
<Compile Include="crmCockpit_UserTest.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="FinalIndexDataSet.Designer.vb">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
@@ -545,6 +575,12 @@
<Compile Include="frmClientLogin.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="frmCockpitConfig.Designer.vb">
<DependentUpon>frmCockpitConfig.vb</DependentUpon>
</Compile>
<Compile Include="frmCockpitConfig.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="frmConnection.Designer.vb">
<DependentUpon>frmConnection.vb</DependentUpon>
</Compile>
@@ -557,12 +593,6 @@
<Compile Include="frmColumn_Detail.vb">
<SubType>Form</SubType>
</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">
<DependentUpon>frmDesignerLayout.vb</DependentUpon>
</Compile>
@@ -708,6 +738,12 @@
<Compile Include="frmMain.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="frmUserSelect.Designer.vb">
<DependentUpon>frmUserSelect.vb</DependentUpon>
</Compile>
<Compile Include="frmUserSelect.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="frmValidator.Designer.vb">
<DependentUpon>frmValidator.vb</DependentUpon>
</Compile>
@@ -778,6 +814,9 @@
</Compile>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="crmCockpit_UserTest.resx">
<DependentUpon>crmCockpit_UserTest.vb</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="frmAbout.resx">
<DependentUpon>frmAbout.vb</DependentUpon>
<SubType>Designer</SubType>
@@ -818,6 +857,10 @@
<DependentUpon>frmClientLogin.vb</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="frmCockpitConfig.resx">
<DependentUpon>frmCockpitConfig.vb</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="frmConnection.resx">
<DependentUpon>frmConnection.vb</DependentUpon>
<SubType>Designer</SubType>
@@ -826,9 +869,6 @@
<DependentUpon>frmColumn_Detail.vb</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="frmControl_Table.resx">
<DependentUpon>frmControl_Table.vb</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="frmDesignerLayout.resx">
<DependentUpon>frmDesignerLayout.vb</DependentUpon>
<SubType>Designer</SubType>
@@ -884,6 +924,9 @@
<DependentUpon>frmLoginAdmin.vb</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="frmMain.aa.resx">
<DependentUpon>frmMain.vb</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="frmMain.en.resx">
<DependentUpon>frmMain.vb</DependentUpon>
<SubType>Designer</SubType>
@@ -959,6 +1002,9 @@
<DependentUpon>frmMain.vb</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="frmUserSelect.resx">
<DependentUpon>frmUserSelect.vb</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="frmValidator.en.resx">
<DependentUpon>frmValidator.vb</DependentUpon>
<SubType>Designer</SubType>
@@ -1265,11 +1311,11 @@
<None Include="Resources\PM_mit_slogan.JPG" />
</ItemGroup>
<ItemGroup>
<Content Include="logtaskflow.txt" />
<None Include="Changelog.md" />
<Content Include="DataColumnExpression.txt" />
<Content Include="DD_Icons_ICO_PMANAGER_48px.ico" />
<Content Include="DD_taskFLOW_ICON.ico" />
<Content Include="logtaskflow.txt" />
<Content Include="MailLicense.xml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
@@ -1379,10 +1425,6 @@
</Target>
<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')" />
<PropertyGroup>
<PostBuildEvent>
</PostBuildEvent>
</PropertyGroup>
<!-- 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.
<Target Name="BeforeBuild">

View File

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

View File

@@ -120,36 +120,27 @@
<data name="Achtung:" xml:space="preserve">
<value>Attention:</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="Anzahl angemeldete Benutzer: {0}" xml:space="preserve">
<value>Logged in users: {0}</value>
</data>
<data name="Anzahl Lizenzen: {0}" xml:space="preserve">
<value>Number of licenses: {0}</value>
</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">
<value>Please configure a database connection!</value>
</data>
<data name="Bitte kontaktieren Sie Ihren Administrator!" xml:space="preserve">
<value>Please contact your administrator!</value>
</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">
<value>Please select a profile!</value>
</data>
@@ -177,9 +168,18 @@
<data name="Ghost Modus ({0}) deaktivieren" xml:space="preserve">
<value>Deactivate ({0}) Ghost Mode</value>
</data>
<data name="Größer" xml:space="preserve">
<value>Bigger</value>
</data>
<data name="HINWEIS: Debug Modus ist eingeschaltet!" xml:space="preserve">
<value>NOTE: Debug mode is switched on!</value>
</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">
<value>Last synchronization: {0}</value>
</data>
@@ -189,6 +189,9 @@
<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>
</data>
<data name="Normal" xml:space="preserve">
<value>Normal</value>
</data>
<data name="Nächste Aktivitätsüberprüfung: {0} {1}" xml:space="preserve">
<value>Next activity check: {0} {1}</value>
</data>
@@ -213,7 +216,4 @@
<data name="{0} Vorgänge" xml:space="preserve">
<value>{0} Processes</value>
</data>
<data name="IDB Aktiv" xml:space="preserve">
<value>IDB Active</value>
</data>
</root>

View File

@@ -120,36 +120,27 @@
<data name="Achtung:" xml:space="preserve">
<value>Attention:</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="Anzahl angemeldete Benutzer: {0}" xml:space="preserve">
<value>Nombre d'utilisateurs connectés: {0}</value>
</data>
<data name="Anzahl Lizenzen: {0}" xml:space="preserve">
<value>Nombre de licences: {0}</value>
</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">
<value>Veuillez configurer une connexion à la base de données !</value>
</data>
<data name="Bitte kontaktieren Sie Ihren Administrator!" xml:space="preserve">
<value>Veuillez contacter votre administrateur !</value>
</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">
<value>Veuillez sélectionner un profil !</value>
</data>
@@ -177,9 +168,18 @@
<data name="Ghost Modus ({0}) deaktivieren" xml:space="preserve">
<value>Désactiver ({0}) le Mode Fantôme</value>
</data>
<data name="Größer" xml:space="preserve">
<value>Plus grand</value>
</data>
<data name="HINWEIS: Debug Modus ist eingeschaltet!" xml:space="preserve">
<value>REMARQUE : le mode de débogage est activé !</value>
</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">
<value>Dernière synchronisation : {0}</value>
</data>
@@ -189,6 +189,9 @@
<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>
</data>
<data name="Normal" xml:space="preserve">
<value>Normal</value>
</data>
<data name="Nächste Aktivitätsüberprüfung: {0} {1}" xml:space="preserve">
<value>Prochaine vérification d'activité : {0} {1}</value>
</data>
@@ -213,7 +216,4 @@
<data name="{0} Vorgänge" xml:space="preserve">
<value>{0} Opérations</value>
</data>
<data name="IDB Aktiv" xml:space="preserve">
<value>IDB Aktif</value>
</data>
</root>

View File

@@ -121,7 +121,7 @@
<value>Achtung:</value>
</data>
<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 name="Aktuelle Lizenz ist abgelaufen oder ungültig!" xml:space="preserve">
<value>Aktuelle Lizenz ist abgelaufen oder ungültig!</value>

View File

@@ -70,7 +70,7 @@ Public Class clsPatterns
''' </summary>
Public Shared Sub ClearControlCache()
_ControlLookupCache = Nothing
If LOG_HOTSPOTS Then LOGGER.Debug("Control cache cleared")
LOGGER.Debug("Control cache cleared")
End Sub
''' <summary>
''' 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}")
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
LOGGER.Error(ex)
@@ -144,7 +144,7 @@ Public Class clsPatterns
UpdateControlInCache(kvp.Key, kvp.Value)
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
''' <summary>
''' Wraps a pattern-type and -value in the common format: {#type#value}
@@ -175,9 +175,9 @@ Public Class clsPatterns
If Not IsNothing(oResult) Then
oResult = ReplaceUserValues(oResult)
LOGGER.Debug($"input AFTER replacing: [{oResult}]")
End If
LOGGER.Debug($"input AFTER replacing: [{oResult}]")
Return oResult
Catch ex As Exception
LOGGER.Error(ex)
@@ -305,7 +305,7 @@ Public Class clsPatterns
End SyncLock
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
While ContainsPattern(oResult, PATTERN_CTRL)
@@ -325,7 +325,7 @@ Public Class clsPatterns
oColumnName = oSplitName.Last()
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
Dim oControl As Control = Nothing
SyncLock _ControlLookupCache
@@ -349,11 +349,11 @@ Public Class clsPatterns
If oControl IsNot Nothing Then
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
Case GetType(TextBox)
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)
Try
oReplaceValue = ClassAllgemeineFunktionen.NotNullString(DirectCast(oControl, TextEdit).EditValue, String.Empty)
@@ -361,7 +361,7 @@ Public Class clsPatterns
LOGGER.Warn($"Error in ReplaceValue MemoEdit: {ex.Message}")
oReplaceValue = ""
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)
Try
oReplaceValue = ClassAllgemeineFunktionen.NotNullString(DirectCast(oControl, MemoEdit).EditValue, String.Empty)
@@ -369,7 +369,7 @@ Public Class clsPatterns
LOGGER.Warn($"Error in ReplaceValue MemoEdit: {ex.Message}")
oReplaceValue = ""
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)
Dim oLookupControl3 As LookupControl3 = oControl
@@ -391,7 +391,7 @@ Public Class clsPatterns
oReplaceValue = ERROR_REPLACE_VALUE
' ========== FIX END ==========
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
For Each oString As String In selectedValues
If oIndex = 0 Then
@@ -403,11 +403,12 @@ Public Class clsPatterns
Next
oIsSQL = False
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)
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)
oReplaceValue = oControl.Text
@@ -439,7 +440,7 @@ Public Class clsPatterns
Case Else
oReplaceValue = ERROR_REPLACE_VALUE
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
LOGGER.Warn($"⚠️ oReplaceValue is Nothing for control [{oControlName}]! Setting to ERROR_REPLACE_VALUE")
oReplaceValue = ERROR_REPLACE_VALUE
@@ -467,7 +468,7 @@ Public Class clsPatterns
End Try
End Function
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
LOGGER.Warn("[SafeSqlEscape] Value is Nothing → returning ERROR_REPLACE_VALUE")
@@ -489,14 +490,14 @@ Public Class clsPatterns
End If
Dim escaped = strValue.Replace("'", "''")
If LOG_HOTSPOTS Then LOGGER.Debug($"[SafeSqlEscape] Output: [{escaped}]")
LOGGER.Debug($"[SafeSqlEscape] Output: [{escaped}]")
Return escaped
End Function
Public Shared Function ReplaceWindreamIndicies(pInput As String, pDocument As WMObject, pIsSQL As Boolean) As String
Try
Dim oResult = pInput
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)
Dim oWMValue As String
Dim oIndexName As String = GetNextPattern(oResult, PATTERN_WMI).Value
@@ -516,9 +517,9 @@ Public Class clsPatterns
If oWMValue IsNot Nothing 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("'", "''")
If LOG_HOTSPOTS Then LOGGER.Debug($"oReplaceValue = {oWMValue}")
LOGGER.Debug($"oReplaceValue = {oWMValue}")
End If
oResult = ReplacePattern(oResult, PATTERN_WMI, oWMValue)
Else
@@ -542,7 +543,7 @@ Public Class clsPatterns
Try
Dim result = input
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)
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
Dim oReplaceValue = "{" + $"#{PATTERN_IDBA}#{indexName}" + "}"
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
Try
oIDBValue = oIDBValue.Replace("'", "''")
@@ -577,7 +578,7 @@ Public Class clsPatterns
End Try
End If
If LOG_HOTSPOTS Then LOGGER.Debug($"oIDBValue = {oIDBValue}")
LOGGER.Debug($"oIDBValue = {oIDBValue}")
End If
result = result.Replace(oReplaceValue, oIDBValue)
Else
@@ -589,7 +590,7 @@ Public Class clsPatterns
' Increase counter by 10 to avoid DDOSing the Database/IDB Service
oTryCounter += 10
End While
If LOG_HOTSPOTS Then LOGGER.Debug("sql after ReplaceIDBAttributes: " & input)
LOGGER.Debug("sql after ReplaceIDBAttributes: " & input)
Return result
Catch ex As Exception
LOGGER.Error(ex)

View File

@@ -0,0 +1,88 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class crmCockpit_UserTest
Inherits DevExpress.XtraEditors.XtraForm
'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()
Me.components = New System.ComponentModel.Container()
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(crmCockpit_UserTest))
Me.ImageCollection1 = New DevExpress.Utils.ImageCollection(Me.components)
Me.TreeList_Cockpit = New DevExpress.XtraTreeList.TreeList()
CType(Me.ImageCollection1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.TreeList_Cockpit, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
'
'ImageCollection1
'
Me.ImageCollection1.ImageSize = New System.Drawing.Size(24, 24)
Me.ImageCollection1.ImageStream = CType(resources.GetObject("ImageCollection1.ImageStream"), DevExpress.Utils.ImageCollectionStreamer)
Me.ImageCollection1.Images.SetKeyName(0, "overview")
Me.ImageCollection1.Images.SetKeyName(1, "profile")
Me.ImageCollection1.Images.SetKeyName(2, "monitor")
Me.ImageCollection1.Images.SetKeyName(3, "chart")
'
'TreeList_Cockpit
'
Me.TreeList_Cockpit.Dock = System.Windows.Forms.DockStyle.Left
Me.TreeList_Cockpit.Font = New System.Drawing.Font("Tahoma", 9.75!)
Me.TreeList_Cockpit.ImageIndexFieldName = "ICON_INDEX"
Me.TreeList_Cockpit.KeyFieldName = "PK_CFG_COCKPIT_DEFINITION_ID"
Me.TreeList_Cockpit.Location = New System.Drawing.Point(0, 0)
Me.TreeList_Cockpit.Name = "TreeList_Cockpit"
Me.TreeList_Cockpit.OptionsBehavior.Editable = False
Me.TreeList_Cockpit.OptionsBehavior.PopulateServiceColumns = True
Me.TreeList_Cockpit.OptionsBehavior.ReadOnly = True
Me.TreeList_Cockpit.OptionsLayout.AddNewColumns = False
Me.TreeList_Cockpit.OptionsMenu.ShowExpandCollapseItems = False
Me.TreeList_Cockpit.OptionsSelection.EnableAppearanceFocusedCell = False
Me.TreeList_Cockpit.OptionsView.ShowColumns = False
Me.TreeList_Cockpit.OptionsView.ShowFilterPanelMode = DevExpress.XtraTreeList.ShowFilterPanelMode.Never
Me.TreeList_Cockpit.OptionsView.ShowFirstLines = False
Me.TreeList_Cockpit.OptionsView.ShowHorzLines = False
Me.TreeList_Cockpit.OptionsView.ShowIndentAsRowStyle = True
Me.TreeList_Cockpit.OptionsView.ShowIndicator = False
Me.TreeList_Cockpit.OptionsView.ShowVertLines = False
Me.TreeList_Cockpit.OptionsView.TreeLineStyle = DevExpress.XtraTreeList.LineStyle.Dark
Me.TreeList_Cockpit.ParentFieldName = "Parent_ID"
Me.TreeList_Cockpit.SelectImageList = Me.ImageCollection1
Me.TreeList_Cockpit.Size = New System.Drawing.Size(375, 588)
Me.TreeList_Cockpit.TabIndex = 12
'
'crmCockpit_UserTest
'
Me.Appearance.Options.UseFont = True
Me.AutoScaleDimensions = New System.Drawing.SizeF(7.0!, 17.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(933, 588)
Me.Controls.Add(Me.TreeList_Cockpit)
Me.Font = New System.Drawing.Font("Segoe UI", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.Name = "crmCockpit_UserTest"
Me.Text = "crmCockpit_UserTest"
CType(Me.ImageCollection1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.TreeList_Cockpit, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False)
End Sub
Friend WithEvents ImageCollection1 As DevExpress.Utils.ImageCollection
Friend WithEvents TreeList_Cockpit As DevExpress.XtraTreeList.TreeList
End Class

View File

@@ -0,0 +1,182 @@
<?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>
<metadata name="ImageCollection1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<assembly alias="DevExpress.Utils.v21.2" name="DevExpress.Utils.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<data name="ImageCollection1.ImageStream" type="DevExpress.Utils.ImageCollectionStreamer, DevExpress.Utils.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFpEZXZFeHByZXNzLlV0aWxzLnYyMS4yLCBWZXJzaW9uPTIxLjIu
NC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEMAwAAAFFT
eXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRv
a2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAAChEZXZFeHByZXNzLlV0aWxzLkltYWdlQ29sbGVjdGlvblN0
cmVhbWVyAgAAAAlJbWFnZVNpemUERGF0YQQHE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAAgIAAAAF/P//
/xNTeXN0ZW0uRHJhd2luZy5TaXplAgAAAAV3aWR0aAZoZWlnaHQAAAgIAwAAABgAAAAYAAAACQUAAAAP
BQAAACcLAAAC+gIAAIlQTkcNChoKAAAADUlIRFIAAAAYAAAAGAgGAAAA4Hc9+AAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADrwAAA68AZW8ckkAAAKcSURBVEhL3ZTLaxNRFMYLrvRfkD4yc5OgFeeZIIiLVkrV
Jq1O6SNGqxUhCtZVkWBIbQitdOVS3AlZtXUnKAq1mUcmr6aPpCVod9KmuBbXn8z0NTMki9Yuij/4uDNn
7jnfnLl3blPTf4PO0NBYAp2lkGFc0BgXVMaF/GUKzrnHQhbcSItepHkCjaWg827IXBt0jj4w0JhmKIwL
CkdD4QhUjoLKUrsjR5l5Km/kEhRZYn8xxUeQET3QuGYU2BbzocpeRMZi8E8oAo0lznNQTObdWDS7cbzJ
cTE+kc57kGM8ZlGNd0MR3MjxhwYK14o0TyEtEhgdy37alC4SfLne8dte0cE3H420QGCuBU+wKO4mZ32H
XZ1+5ubmzjjlnHNsMqwLMu9CWmjGgq8FC/4WyCKFPHtC/4Gxd50xg7wlXpFuoizdwNrALZSHAqhYNRjA
+lAP1ocDqA734UdIstczdo0tsEdWrG98ZDJC/UJWg5XXiZ5qLJoyNRFLVeMvU9V4NPU9Hk3Zs+qgCjSy
b9+0OeNWg1pEwtbTAWyNhQ60PTaM2rNBFGZmvPZMB5+uMn8UgTIXdl+qSENr0NnpQ74moMgR5AWCrOA2
tcQSrF44ocOuwBN8HXnU+/H5k0vvOzvPf5Ck1s+PR9qXLbtrdXraU4pNRlYmkqZKhianIqVYMmLG958l
k5Gfs7NnbQZ5f/0zp2g5izb7e1AJBbAWDmLtXi8q9wOoGKOhcBDrd4PYCPViIxTE5mDAXi9/xVvXoJHx
kWlkYO1gJxxELdyH7Qe3URvtx86ohNrDO/g10ofS+HjCnulA9xEURQq6n0ZO9CInelAQPLAaLL17da4c
f9FVTsS7ylMJU8tTcfPeXq0B890d7fPBPRnX3R3tzjlH5S88LZDGXf/36QAAAABJRU5ErkJggjMCAACJ
UE5HDQoaCgAAAA1JSERSAAAAGAAAABgIBgAAAOB3PfgAAAAEZ0FNQQAAsY8L/GEFAAAACXBIWXMAAA68
AAAOvAGVvHJJAAAB1UlEQVRIS+2Uu24aQRSGz7hImqTLA1DQpIwiFCF5l9vewciSCysRRap0KEqRmhoW
h1swVdLbZaS8gzsXKfwGlgs3thUMhuGPZmE3u3iXTBuJTxrtzsw58885c2aItvzXAGDh/vnHz/vhfiL1
ev1pmwib2hEReozg+4yNPO7VXfx4++FFdLUY/EWa6ZeXbragullFdbO66v1nCmono6idV1nVt59Ubcz1
HKZFLRBMxGWEL/R3Z//iyrHvFmUD3LbkfI5YNPRNnOzV0twpAZWKlL2HSE1fUoCXC1hU7MB2dFh7H7WI
QaRowFjgdK/lcK3ojwR5WcesYgbjp43Gk4FMaoVAP2Q4MRQ86CrO9t9998dmtoa5o+PWrAZ2LmMYhjaW
iDBcP4OpXcC8tKyQX7XaT24VwZ3ooUoLtBIO+cHMg2sm5oaGmfW4HEXkUgJxEQh+20VMzBy4ZeJCq96s
z7cYw/GOjICoooTDGlsKpkYpdq7pCcT7RRARhKtIFukUiTcmKYJNiNv/VUZg8Ow57xFBqqZX9GgZtZtK
3a3PxSIEjlc57RKhs3qfRBP/fl/MDRmh641J7D7M6PWbjrc4MbQZQ4vIa83VV1RNe2d56785B5/W/bdI
8werE/HGFidAHwAAAABJRU5ErkJgghADAACJUE5HDQoaCgAAAA1JSERSAAAAGAAAABgIBgAAAOB3PfgA
AAAEZ0FNQQAAsY8L/GEFAAAACXBIWXMAAA68AAAOvAGVvHJJAAACsklEQVRIS8VVzW7TQBDOc/AeHKom
3t2Z3bVDy08R4gaqKvUZOHDoK3BDvAEHClVVceEaqKqCWtvrnyQOVPAKnHL50Dp2G6WtRNUIPmnl8ex4
/vzNbqfzr1BqRmIJJyzgKEBqAqTUw4nqIWYvC5yqHhK/pwI42UMiu8ikQKYEYtGF4wA5CZQqwNH9dZw7
H3IPLlRwTMhZISMB1zpjgZgEUpLImXAqAiRKoGBCyVQ7T5v3jCUcC4wNoSCJD0+fvKoDVMYgtuIi4hJQ
WMaYejOfmVZIIrPcAEZhTE3SpWHERt0owN7W5tbu9vbdRX2LMtIYa9lUYBTcDQNUljHkxsEVKO9pTAzN
9lOtcHqN8YglDiP7e153pro4I4VKS0xE0+cF5BGhapPOrMJXvmw4oi5OwwCjhepKffE+vKby3EqMTZO0
04RvTQW7L19QznJaapoWfV3rciNRqZVarqiLn3L13GllFX7JALmmqeP+tNVnhjBpg6da4iSc9evTo4fT
UksUhjBqM+h0OhPNtfzdzILOo6AAuVEo9AXVc0uYUNC2iHA8t3kVCruKLFIYqcutvAp+Dn5wU0EeMo7n
sr0OZ3LWpr9B1beYtDTNrcY321BqSSisxLAdtCQkxNFyA3hilC31i0hj1PZrSfAkKbmpwE9lbhmJFki0
bJaqn84SYn+isj9RZ6zIjETCAp4cfqVGIW5s/f9MWNb6hOe64rSqDVNLcGZ2N/jlLMNPemwVEiOxt7Nz
x5ef2pltYhVcSEj8cRNq5KGGM4T8Cjr/X2S0gpy7yGgVJa9i9/HG60WbW6FSBMcSZd/AD9HB883lBjix
Ap+twlFf4zBivH229WbR5sZ492Djy9D/MBXUnPZyfV8bAX8LZiSR3XZ+Pobrg/1obbAfrQ8OogvZr/fR
2uDArg8Wv5nHH4RP7Rpx+BP5AAAAAElFTkSuQmCC2gIAAIlQTkcNChoKAAAADUlIRFIAAAAYAAAAGAgG
AAAA4Hc9+AAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADrwAAA68AZW8ckkAAAJ8SURBVEhL3VXNbtNA
EPaBQx+CQ2t7HSde24l6yKGAk1IREBd+GnCjVgEunLkgVQj1CXgCDrlwRXkEUA48AGpVQqWIZmNDiNcO
eYFB42Bn3VAoNFz4pNHO7oz9eXZnP0vSf4NAocA1CoFSgEgzISImcM2GQKUQEQtCzYSQUOCqEY8453HM
jP0IY7ge55jAV3RIX/6x0XyZYVsA8EPSyeH2zsIJQoUKFTQfzRFw2QCuWhAoBoxVIfmM4Ct5gcDdzhAE
cgFCZVaip5egd+3mazGnXS4vt8vOcrtWS+3N3tOLSTwSnpcOG7MtOtp6UEOCNChJUq9atY/ubD77cNe1
xPVfIVKECrrNhykBl+e3I9SseI2vzIj7t+51/Lrb8etbneP1G6/YptvprVVfJPHMIe/XG6cShMI8Eg/u
NwhJpotmbcqJnQbGxIp7PY0J/oBYE0+zJz6aak08lU48Wv6WxEOxgp910XmRvQfCIS8Kodgo4hksCqEs
dNHBOSrYc5wl1KqT65kKMlvkOBecH5bxT2AkT/e45ThLXJ4K25jMmiBQBYKDnT8XO5QSHLECrhjQz9vv
UFqSeCTKy75QAbtUbfUrV1t+ZaPFKhutT1eq8di/ff95kjNCKZENeL+7q/ceP7FRr7CFcT3JyUqFcA/O
Anw5Xjq82eiHsgljmcZ+khNpopoK/wMvR5mnW8zPl9jnXIn5GmXHOcpY+XI3jhfL3iBfZH5+lXl6kQ1y
RebpJeajFUrMN1bZHEHX/fsuOg34h0snvtu8nokuAHO69ZWYEJtCYagaMEIfR4VCkLOmc2LCSLNgiAeK
ljxDTBjKBfhC8FkKQ9kAtrb+NkPwr/Ad3DFsyGIxcj4AAAAASUVORK5CYIIL
</value>
</data>
</root>

View File

@@ -0,0 +1,320 @@
Imports System.Threading.Tasks
Public Class crmCockpit_UserTest
Public CheckUserID As Integer
Public CheckUserName As String
Public CheckUserLanguage As String
Private _treeNodeCounts As New Dictionary(Of Integer, Integer)
Private GRID_LOAD_TYPE As String = "OVERVIEW"
Private Sub crmCockpit_UserTest_Load(sender As Object, e As EventArgs) Handles Me.Load
Me.Text = $"Cockpit Test for User [{CheckUserName}] - Language [{CheckUserLanguage}] "
Load_Treeview()
End Sub
Private Sub Load_Treeview()
Try
Me.Cursor = Cursors.WaitCursor
Dim oSQL = $"SELECT * FROM [dbo].[FNTF_GET_COCKPIT_DEFINITION] ({CheckUserID},'{CheckUserLanguage}')"
Dim oDT_STRUCTURE_NODES As DataTable = DatabaseFallback.GetDatatableECM(oSQL)
If oDT_STRUCTURE_NODES Is Nothing OrElse oDT_STRUCTURE_NODES.Rows.Count = 0 Then
Dim oMsg As String
Dim oTitle As String
Select Case CheckUserLanguage
Case "fr-FR", "fr-BE", "fr-CH"
oMsg = "Aucune configuration de cockpit n'a pu être lue. Veuillez contacter votre équipe d'administration!"
oTitle = "Erreur de configuration"
Case "es-ES", "es-MX", "es-AR"
oMsg = "No se pudo leer ninguna configuración de cockpit. ¡Póngase en contacto con su equipo de administración!"
oTitle = "Error de configuración"
Case "de-DE", "de-AT", "de-CH"
oMsg = "Es konnte keine Cockpit-Konfiguration ausgelesen werden. Kontaktieren Sie Ihr Administrationsteam!"
oTitle = "Konfigurationsfehler"
Case Else ' en-US, en-GB und alle weiteren
oMsg = "No cockpit configuration could be read. Please contact your administration team!"
oTitle = "Configuration Error"
End Select
LOGGER.Warn($"Load_Treeview: No node configuration found for CheckUserID [{CheckUserID}] - CheckUserLanguage [{CheckUserLanguage}]")
MsgBox(oMsg, MsgBoxStyle.Critical, oTitle)
Exit Sub
End If
' ===== NUR AKTIVE KNOTEN BEHALTEN =====
If oDT_STRUCTURE_NODES.Columns.Contains("ACTIVE") Then
Dim oInactiveRows As DataRow() = oDT_STRUCTURE_NODES.Select("ACTIVE = 0 OR ACTIVE IS NULL")
If oInactiveRows.Length > 0 Then
LOGGER.Debug($"Load_Treeview: Removing [{oInactiveRows.Length}] inactive node(s) (ACTIVE=0 or NULL)")
For Each oRow As DataRow In oInactiveRows
oRow.Delete()
Next
oDT_STRUCTURE_NODES.AcceptChanges()
End If
Else
LOGGER.Warn("Load_Treeview: ACTIVE column not found in FNTF_GET_COCKPIT_DEFINITION result")
End If
' ===== ANZAHL DER OVERVIEW-KNOTEN ERMITTELN (VOR WEITEREN FILTERN) =====
Dim oOverviewRows As DataRow() = oDT_STRUCTURE_NODES.Select("TYPE_ID = 0")
LOGGER.Debug($"Load_Treeview: Found [{oOverviewRows.Length}] node(s) with TYPE_ID=0 (Overview)")
' ===== MONITOR-KNOTEN ENTFERNEN WENN KEIN RECHT =====
If MONITORING_ACTIVE = False AndAlso oDT_STRUCTURE_NODES.Columns.Contains("TYPE_ID") Then
Dim oMonitorRows As DataRow() = oDT_STRUCTURE_NODES.Select("TYPE_ID = 2")
If oMonitorRows.Length > 0 Then
LOGGER.Debug($"Load_Treeview: MONITORING_ACTIVE=False - removing [{oMonitorRows.Length}] monitor node(s) from TreeList datasource")
For Each oRow As DataRow In oMonitorRows
oRow.Delete()
Next
oDT_STRUCTURE_NODES.AcceptChanges()
End If
End If
' ===== CHART-KNOTEN ENTFERNEN WENN KEIN RECHT =====
If SHOW_CHARTS = False AndAlso oDT_STRUCTURE_NODES.Columns.Contains("TYPE_ID") Then
Dim oChartRows As DataRow() = oDT_STRUCTURE_NODES.Select("TYPE_ID = 3")
If oChartRows.Length > 0 Then
LOGGER.Debug($"Load_Treeview: SHOW_CHARTS=False - removing [{oChartRows.Length}] chart node(s) from TreeList datasource")
For Each oRow As DataRow In oChartRows
oRow.Delete()
Next
oDT_STRUCTURE_NODES.AcceptChanges()
End If
End If
TreeList_Cockpit.BeginUpdate()
Try
TreeList_Cockpit.DataSource = oDT_STRUCTURE_NODES
AddHandler TreeList_Cockpit.CustomDrawNodeCell, AddressOf TreeList_Cockpit_CustomDrawNodeCell
TreeList_Cockpit.KeyFieldName = "PK_CFG_COCKPIT_DEFINITION_ID"
TreeList_Cockpit.ParentFieldName = "PARENT_ID"
TreeList_Cockpit.Columns("PK_RESULT_ID").SortOrder = SortOrder.Ascending
' ===== MODERNES DESIGN =====
' Schriftgröße und -art
TreeList_Cockpit.Appearance.Row.Font = New Font("Segoe UI", 12, FontStyle.Regular)
TreeList_Cockpit.Appearance.FocusedRow.Font = New Font("Segoe UI", 12, FontStyle.Bold)
TreeList_Cockpit.Appearance.HideSelectionRow.Font = New Font("Segoe UI", 12, FontStyle.Regular)
' Modernes Farbschema (passend zum Office2019-Skin)
TreeList_Cockpit.Appearance.Row.BackColor = Color.White
TreeList_Cockpit.Appearance.Row.ForeColor = Color.FromArgb(50, 50, 50)
TreeList_Cockpit.Appearance.FocusedRow.BackColor = Color.FromArgb(210, 230, 255)
TreeList_Cockpit.Appearance.FocusedRow.ForeColor = Color.FromArgb(20, 20, 20)
TreeList_Cockpit.Appearance.HideSelectionRow.BackColor = Color.FromArgb(225, 235, 250)
TreeList_Cockpit.Appearance.HideSelectionRow.ForeColor = Color.FromArgb(50, 50, 50)
' Zeilenhöhe erhöhen für bessere Lesbarkeit
TreeList_Cockpit.RowHeight = 28
Dim oVisibleColumns As New System.Collections.Generic.HashSet(Of String)(StringComparer.OrdinalIgnoreCase) From {"NAME"}
For Each oColumn As DevExpress.XtraTreeList.Columns.TreeListColumn In TreeList_Cockpit.Columns
oColumn.Visible = oVisibleColumns.Contains(oColumn.FieldName)
Next
Finally
TreeList_Cockpit.EndUpdate()
End Try
' ===== KNOTEN AUF-/ZUKLAPPEN BASIEREND AUF ANZAHL DER OVERVIEW-KNOTEN =====
If oOverviewRows.Length = 1 Then
LOGGER.Debug("Load_Treeview: Only 1 overview node found - expanding all nodes")
For Each oNode As DevExpress.XtraTreeList.Nodes.TreeListNode In TreeList_Cockpit.Nodes
oNode.Expanded = True
Next
ElseIf oOverviewRows.Length > 1 Then
LOGGER.Debug($"Load_Treeview: [{oOverviewRows.Length}] overview nodes found - collapsing all nodes")
For Each oNode As DevExpress.XtraTreeList.Nodes.TreeListNode In TreeList_Cockpit.Nodes
oNode.Expanded = False
Next
Else
LOGGER.Warn("Load_Treeview: No overview nodes (TYPE_ID=0) found - keeping default collapsed state")
End If
TreeList_Cockpit.Refresh()
' ===== ANZAHL ASYNCHRON NACHLADEN =====
If oDT_STRUCTURE_NODES.Columns.Contains("SQL_QUERY_COUNT") Then
AppendCountsToTreeAsync()
End If
Catch ex As Exception
LOGGER.Error(ex)
Finally
Me.Cursor = Cursors.Default
End Try
End Sub
Private Sub TreeList_Cockpit_CustomDrawNodeCell(sender As Object, e As DevExpress.XtraTreeList.CustomDrawNodeCellEventArgs)
Try
Dim oPk As Object = e.Node.GetValue("PK_CFG_COCKPIT_DEFINITION_ID")
If oPk Is Nothing OrElse IsDBNull(oPk) Then
Exit Sub
End If
Dim oPkInt As Integer = CInt(oPk)
If Not _treeNodeCounts.ContainsKey(oPkInt) Then
Exit Sub
End If
If _treeNodeCounts(oPkInt) > 0 Then
e.Appearance.Font = New Font(e.Appearance.Font, FontStyle.Bold)
Else
e.Appearance.Font = New Font(e.Appearance.Font, FontStyle.Regular)
End If
Catch ex As Exception
LOGGER.Error(ex)
End Try
End Sub
Private Async Sub AppendCountsToTreeAsync()
Try
LOGGER.Debug("AppendCountsToTreeAsync: Starting background count queries...")
Dim oWorkItems As New List(Of (Node As DevExpress.XtraTreeList.Nodes.TreeListNode, SQL As String, OriginalName As String))
TreeList_Cockpit.NodesIterator.DoOperation(
Sub(oNode As DevExpress.XtraTreeList.Nodes.TreeListNode)
Dim oTypeId As Object = oNode.GetValue("TYPE_ID")
Dim oProfileID As Object = oNode.GetValue("FK_PROFILE_ID")
If oTypeId Is Nothing OrElse IsDBNull(oTypeId) Then
LOGGER.Debug($"AppendCountsToTreeAsync: Node [{oNode.GetValue("NAME")}] has no TYPE_ID - skipping.")
Exit Sub
End If
Dim oTypeIdInt As Integer = CInt(oTypeId)
If oTypeIdInt <> 0 AndAlso oTypeIdInt <> 1 Then
Exit Sub
End If
Dim oSqlCount As Object = oNode.GetValue("SQL_QUERY_COUNT")
If oSqlCount IsNot Nothing AndAlso Not IsDBNull(oSqlCount) AndAlso Not String.IsNullOrWhiteSpace(oSqlCount.ToString()) Then
Dim oProfileIdInt As Integer = If(oProfileID IsNot Nothing AndAlso Not IsDBNull(oProfileID), CInt(oProfileID), 0)
Dim oRawSQL As String = oSqlCount.ToString()
LOGGER.Debug($"AppendCountsToTreeAsync: Preparing SQL for node [{oNode.GetValue("NAME")}] with PROFILE_ID [{oProfileIdInt}]")
LOGGER.Debug($"AppendCountsToTreeAsync: Original SQL: {oRawSQL}")
oRawSQL = oRawSQL.Replace("@PROFILE_ID", oProfileIdInt.ToString())
oRawSQL = oRawSQL.Replace("@PROFIL_ID", oProfileIdInt.ToString())
oRawSQL = oRawSQL.Replace("{#USER#PROFILE_ID}", oProfileIdInt.ToString())
oRawSQL = oRawSQL.Replace("{#USER#PROFIL_ID}", oProfileIdInt.ToString())
Dim oPreparedSQL As String = PrepareSQLWithReplacements(oRawSQL, oProfileIdInt)
' ===== COUNT-SUFFIX VOM VORHERIGEN DURCHLAUF ENTFERNEN =====
Dim oRawName As String = oNode.GetValue("NAME")?.ToString()
Dim oSuffixMatch = System.Text.RegularExpressions.Regex.Match(oRawName, "^(.*)\s+\(\d+\)$")
Dim oCleanName As String = If(oSuffixMatch.Success, oSuffixMatch.Groups(1).Value.Trim(), oRawName)
If Not String.IsNullOrWhiteSpace(oCleanName) Then
oWorkItems.Add((oNode, oPreparedSQL, oCleanName))
End If
Else
LOGGER.Debug($"AppendCountsToTreeAsync: Node [{oNode.GetValue("NAME")}] has no valid SQL_QUERY_COUNT, skipping.")
End If
End Sub)
If oWorkItems.Count = 0 Then
LOGGER.Debug("AppendCountsToTreeAsync: No nodes with SQL_QUERY_COUNT found, exiting.")
Exit Sub
End If
LOGGER.Debug($"AppendCountsToTreeAsync: {oWorkItems.Count} node(s) with SQL_QUERY_COUNT found")
Dim oResults As New List(Of (Node As DevExpress.XtraTreeList.Nodes.TreeListNode, OriginalName As String, Count As String))
Await Task.Run(Sub()
For Each oItem In oWorkItems
Try
Dim oResult As Object = DatabaseFallback.GetScalarValueECM(oItem.SQL)
If oResult IsNot Nothing AndAlso Not IsDBNull(oResult) Then
SyncLock oResults
oResults.Add((oItem.Node, oItem.OriginalName, oResult.ToString()))
End SyncLock
End If
Catch ex As Exception
LOGGER.Warn($"AppendCountsToTreeAsync: Count query failed for node [{oItem.OriginalName}] - {ex.Message}")
End Try
Next
End Sub)
_treeNodeCounts.Clear()
TreeList_Cockpit.BeginUpdate()
Try
For Each oResult In oResults
Dim oPk As Object = oResult.Node.GetValue("PK_CFG_COCKPIT_DEFINITION_ID")
If oPk IsNot Nothing AndAlso Not IsDBNull(oPk) Then
Dim oCount As Integer = 0
Integer.TryParse(oResult.Count, oCount)
_treeNodeCounts(CInt(oPk)) = oCount
End If
oResult.Node.SetValue("NAME", $"{oResult.OriginalName} ({oResult.Count})")
LOGGER.Debug($"AppendCountsToTreeAsync: Node [{oResult.OriginalName}] → [{oResult.OriginalName} ({oResult.Count})]")
Next
Finally
TreeList_Cockpit.EndUpdate()
End Try
TreeList_Cockpit.Refresh()
LOGGER.Debug("AppendCountsToTreeAsync: Finished")
Decide_Show_Empty_Workflows(Not CONFIG.Config.Hide_Empty_Workflows)
Catch ex As Exception
LOGGER.Error(ex)
End Try
End Sub
' ========================================
' HILFSMETHODEN - Extrahierte Logik für Wiederverwendung
' ========================================
Private Function PrepareSQLWithReplacements(oSQL As String, oProfileID As Integer) As String
oSQL = clsPatterns.ReplaceInternalValues(oSQL)
oSQL = clsPatterns.ReplaceUserValues(oSQL)
LOGGER.Debug("PrepareSQLWithReplacements - Original SQL: " & oSQL)
oSQL = oSQL.Replace("@USERNAME", USER_USERNAME)
oSQL = oSQL.Replace("@MACHINE_NAME", System.Environment.MachineName)
oSQL = oSQL.Replace("@DATE", Now.ToShortDateString)
' ===== ZUSÄTZLICHE PLATZHALTER-FORMATE FÜR USER_ID =====
oSQL = oSQL.Replace("{#USER#USER_ID}", USER_ID)
oSQL = oSQL.Replace("#USER#USER_ID", USER_ID)
oSQL = oSQL.Replace("@USER_ID", USER_ID)
LOGGER.Debug("PrepareSQLWithReplacements - SQL after replacements: " & oSQL)
If oProfileID = 0 Then
If GRID_LOAD_TYPE = "OVERVIEW" Then
LOGGER.Debug("PrepareSQLWithReplacements called with oProfileID = 0 in OVERVIEW context")
Else
LOGGER.Warn("PrepareSQLWithReplacements called with oProfileID = 0, using CURRENT_CLICKED_PROFILE_ID instead")
End If
oProfileID = CURRENT_CLICKED_PROFILE_ID
Else
LOGGER.Debug($"PrepareSQLWithReplacements called with oProfileID = {oProfileID}")
End If
oSQL = oSQL.Replace("@PROFILE_ID", oProfileID)
oSQL = oSQL.Replace("@PROFIL_ID", oProfileID)
Return oSQL
End Function
Sub Decide_Show_Empty_Workflows(pShow As Boolean)
Try
LOGGER.Debug($"Decide_Show_Empty_Workflows: pShow=[{pShow}], cached node counts: [{_treeNodeCounts.Count}]")
TreeList_Cockpit.BeginUpdate()
Try
TreeList_Cockpit.NodesIterator.DoOperation(
Sub(oNode As DevExpress.XtraTreeList.Nodes.TreeListNode)
Dim oPk As Object = oNode.GetValue("PK_CFG_COCKPIT_DEFINITION_ID")
If oPk Is Nothing OrElse IsDBNull(oPk) Then
oNode.Visible = True
LOGGER.Debug($"Decide_Show_Empty_Workflows: oPk is Nothing/DBNull - Node visible set to True")
Exit Sub
End If
Dim oPkInt As Integer = CInt(oPk)
If Not _treeNodeCounts.ContainsKey(oPkInt) Then
oNode.Visible = True
LOGGER.Debug($"Decide_Show_Empty_Workflows: oPkInt [{oPkInt}] not found in _treeNodeCounts - Node visible set to True")
Exit Sub
End If
oNode.Visible = pShow OrElse (_treeNodeCounts(oPkInt) > 0)
End Sub)
Finally
TreeList_Cockpit.EndUpdate()
End Try
TreeList_Cockpit.Refresh()
Catch ex As Exception
LOGGER.Error(ex)
End Try
End Sub
End Class

View File

@@ -138,7 +138,6 @@ Partial Class frmAdministration
Me.FINAL_PROFILECheckBox = New System.Windows.Forms.CheckBox()
Me.FINAL_TEXTTextBox = New System.Windows.Forms.TextBox()
Me.TBPM_TYPEBindingSource = New System.Windows.Forms.BindingSource(Me.components)
Me.PRIORITYNumericUpDown = New System.Windows.Forms.NumericUpDown()
Me.btnWMopenSuche = New System.Windows.Forms.Button()
Me.btnWMSuche = New System.Windows.Forms.Button()
Me.TITLETextBox = New System.Windows.Forms.TextBox()
@@ -166,7 +165,6 @@ Partial Class frmAdministration
Me.TARGET_PATH_BLIND_FILETextBox = New System.Windows.Forms.TextBox()
Me.lblDescription = New System.Windows.Forms.Label()
Me.btnofbAHW = New System.Windows.Forms.Button()
Me.lblPriority = New System.Windows.Forms.Label()
Me.lblSearch = New System.Windows.Forms.Label()
Me.Label4 = New System.Windows.Forms.Label()
Me.Label9 = New System.Windows.Forms.Label()
@@ -308,7 +306,6 @@ Partial Class frmAdministration
CType(Me.TBDD_USERBindingSource, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.TBPM_PROFILEBindingSource, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.TBPM_TYPEBindingSource, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.PRIORITYNumericUpDown, System.ComponentModel.ISupportInitialize).BeginInit()
Me.TabControl1.SuspendLayout()
Me.TabPage1.SuspendLayout()
Me.pnlEdit.SuspendLayout()
@@ -367,6 +364,7 @@ Partial Class frmAdministration
Me.gridAssignedUsers.AllowDrop = True
Me.gridAssignedUsers.DataSource = Me.TBPROFILE_USERBindingSource
resources.ApplyResources(Me.gridAssignedUsers, "gridAssignedUsers")
Me.gridAssignedUsers.EmbeddedNavigator.Margin = CType(resources.GetObject("gridAssignedUsers.EmbeddedNavigator.Margin"), System.Windows.Forms.Padding)
Me.gridAssignedUsers.MainView = Me.viewAssignedUsers
Me.gridAssignedUsers.Name = "gridAssignedUsers"
Me.gridAssignedUsers.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.viewAssignedUsers})
@@ -384,7 +382,6 @@ Partial Class frmAdministration
'viewAssignedUsers
'
Me.viewAssignedUsers.Columns.AddRange(New DevExpress.XtraGrid.Columns.GridColumn() {Me.colPRENAME1, Me.colNAME3, Me.colUSERNAME1, Me.colEMAIL1, Me.GridColumn1, Me.GridColumn2})
Me.viewAssignedUsers.DetailHeight = 295
Me.viewAssignedUsers.GridControl = Me.gridAssignedUsers
Me.viewAssignedUsers.Name = "viewAssignedUsers"
Me.viewAssignedUsers.OptionsBehavior.Editable = False
@@ -396,42 +393,42 @@ Partial Class frmAdministration
'
resources.ApplyResources(Me.colPRENAME1, "colPRENAME1")
Me.colPRENAME1.FieldName = "PRENAME"
Me.colPRENAME1.MinWidth = 16
Me.colPRENAME1.MinWidth = 21
Me.colPRENAME1.Name = "colPRENAME1"
'
'colNAME3
'
resources.ApplyResources(Me.colNAME3, "colNAME3")
Me.colNAME3.FieldName = "NAME"
Me.colNAME3.MinWidth = 16
Me.colNAME3.MinWidth = 21
Me.colNAME3.Name = "colNAME3"
'
'colUSERNAME1
'
resources.ApplyResources(Me.colUSERNAME1, "colUSERNAME1")
Me.colUSERNAME1.FieldName = "USERNAME"
Me.colUSERNAME1.MinWidth = 16
Me.colUSERNAME1.MinWidth = 21
Me.colUSERNAME1.Name = "colUSERNAME1"
'
'colEMAIL1
'
resources.ApplyResources(Me.colEMAIL1, "colEMAIL1")
Me.colEMAIL1.FieldName = "EMAIL"
Me.colEMAIL1.MinWidth = 16
Me.colEMAIL1.MinWidth = 21
Me.colEMAIL1.Name = "colEMAIL1"
'
'GridColumn1
'
resources.ApplyResources(Me.GridColumn1, "GridColumn1")
Me.GridColumn1.FieldName = "COMMENT"
Me.GridColumn1.MinWidth = 16
Me.GridColumn1.MinWidth = 21
Me.GridColumn1.Name = "GridColumn1"
'
'GridColumn2
'
resources.ApplyResources(Me.GridColumn2, "GridColumn2")
Me.GridColumn2.FieldName = "SHORTNAME"
Me.GridColumn2.MinWidth = 16
Me.GridColumn2.MinWidth = 21
Me.GridColumn2.Name = "GridColumn2"
'
'Panel1
@@ -450,6 +447,7 @@ Partial Class frmAdministration
Me.gridAvailableUsers.AllowDrop = True
Me.gridAvailableUsers.DataSource = Me.FNPM_GET_FREE_USER_FOR_PROFILEBindingSource
resources.ApplyResources(Me.gridAvailableUsers, "gridAvailableUsers")
Me.gridAvailableUsers.EmbeddedNavigator.Margin = CType(resources.GetObject("gridAvailableUsers.EmbeddedNavigator.Margin"), System.Windows.Forms.Padding)
Me.gridAvailableUsers.MainView = Me.viewAvailableUsers
Me.gridAvailableUsers.Name = "gridAvailableUsers"
Me.gridAvailableUsers.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.viewAvailableUsers})
@@ -462,7 +460,6 @@ Partial Class frmAdministration
'viewAvailableUsers
'
Me.viewAvailableUsers.Columns.AddRange(New DevExpress.XtraGrid.Columns.GridColumn() {Me.colPRENAME, Me.colNAME2, Me.colUSERNAME, Me.colEMAIL, Me.GridColumn3, Me.GridColumn4})
Me.viewAvailableUsers.DetailHeight = 295
Me.viewAvailableUsers.GridControl = Me.gridAvailableUsers
Me.viewAvailableUsers.Name = "viewAvailableUsers"
Me.viewAvailableUsers.OptionsBehavior.Editable = False
@@ -474,42 +471,42 @@ Partial Class frmAdministration
'
resources.ApplyResources(Me.colPRENAME, "colPRENAME")
Me.colPRENAME.FieldName = "USER_PRENAME"
Me.colPRENAME.MinWidth = 16
Me.colPRENAME.MinWidth = 21
Me.colPRENAME.Name = "colPRENAME"
'
'colNAME2
'
resources.ApplyResources(Me.colNAME2, "colNAME2")
Me.colNAME2.FieldName = "USER_SURNAME"
Me.colNAME2.MinWidth = 16
Me.colNAME2.MinWidth = 21
Me.colNAME2.Name = "colNAME2"
'
'colUSERNAME
'
resources.ApplyResources(Me.colUSERNAME, "colUSERNAME")
Me.colUSERNAME.FieldName = "USER_NAME"
Me.colUSERNAME.MinWidth = 16
Me.colUSERNAME.MinWidth = 21
Me.colUSERNAME.Name = "colUSERNAME"
'
'colEMAIL
'
resources.ApplyResources(Me.colEMAIL, "colEMAIL")
Me.colEMAIL.FieldName = "USER_EMAIL"
Me.colEMAIL.MinWidth = 16
Me.colEMAIL.MinWidth = 21
Me.colEMAIL.Name = "colEMAIL"
'
'GridColumn3
'
resources.ApplyResources(Me.GridColumn3, "GridColumn3")
Me.GridColumn3.FieldName = "USER_COMMENT"
Me.GridColumn3.MinWidth = 16
Me.GridColumn3.MinWidth = 21
Me.GridColumn3.Name = "GridColumn3"
'
'GridColumn4
'
resources.ApplyResources(Me.GridColumn4, "GridColumn4")
Me.GridColumn4.FieldName = "USER_SHORTNAME"
Me.GridColumn4.MinWidth = 16
Me.GridColumn4.MinWidth = 21
Me.GridColumn4.Name = "GridColumn4"
'
'Panel2
@@ -545,6 +542,7 @@ Partial Class frmAdministration
Me.gridAssignedGroups.AllowDrop = True
Me.gridAssignedGroups.DataSource = Me.TBPROFILE_GROUPBindingSource
resources.ApplyResources(Me.gridAssignedGroups, "gridAssignedGroups")
Me.gridAssignedGroups.EmbeddedNavigator.Margin = CType(resources.GetObject("gridAssignedGroups.EmbeddedNavigator.Margin"), System.Windows.Forms.Padding)
Me.gridAssignedGroups.MainView = Me.viewAssignedGroups
Me.gridAssignedGroups.Name = "gridAssignedGroups"
Me.gridAssignedGroups.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.viewAssignedGroups})
@@ -557,7 +555,6 @@ Partial Class frmAdministration
'viewAssignedGroups
'
Me.viewAssignedGroups.Columns.AddRange(New DevExpress.XtraGrid.Columns.GridColumn() {Me.colNAME5, Me.colCOMMENT1})
Me.viewAssignedGroups.DetailHeight = 295
Me.viewAssignedGroups.GridControl = Me.gridAssignedGroups
Me.viewAssignedGroups.Name = "viewAssignedGroups"
Me.viewAssignedGroups.OptionsBehavior.Editable = False
@@ -569,14 +566,14 @@ Partial Class frmAdministration
'
resources.ApplyResources(Me.colNAME5, "colNAME5")
Me.colNAME5.FieldName = "NAME"
Me.colNAME5.MinWidth = 16
Me.colNAME5.MinWidth = 21
Me.colNAME5.Name = "colNAME5"
'
'colCOMMENT1
'
resources.ApplyResources(Me.colCOMMENT1, "colCOMMENT1")
Me.colCOMMENT1.FieldName = "COMMENT"
Me.colCOMMENT1.MinWidth = 16
Me.colCOMMENT1.MinWidth = 21
Me.colCOMMENT1.Name = "colCOMMENT1"
'
'Panel3
@@ -595,6 +592,7 @@ Partial Class frmAdministration
Me.gridAvailableGroups.AllowDrop = True
Me.gridAvailableGroups.DataSource = Me.TBDD_GROUPSBindingSource
resources.ApplyResources(Me.gridAvailableGroups, "gridAvailableGroups")
Me.gridAvailableGroups.EmbeddedNavigator.Margin = CType(resources.GetObject("gridAvailableGroups.EmbeddedNavigator.Margin"), System.Windows.Forms.Padding)
Me.gridAvailableGroups.MainView = Me.viewAvailableGroups
Me.gridAvailableGroups.Name = "gridAvailableGroups"
Me.gridAvailableGroups.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.viewAvailableGroups})
@@ -607,7 +605,6 @@ Partial Class frmAdministration
'viewAvailableGroups
'
Me.viewAvailableGroups.Columns.AddRange(New DevExpress.XtraGrid.Columns.GridColumn() {Me.colNAME4, Me.colCOMMENT})
Me.viewAvailableGroups.DetailHeight = 295
Me.viewAvailableGroups.GridControl = Me.gridAvailableGroups
Me.viewAvailableGroups.Name = "viewAvailableGroups"
Me.viewAvailableGroups.OptionsBehavior.Editable = False
@@ -619,14 +616,14 @@ Partial Class frmAdministration
'
resources.ApplyResources(Me.colNAME4, "colNAME4")
Me.colNAME4.FieldName = "NAME"
Me.colNAME4.MinWidth = 16
Me.colNAME4.MinWidth = 21
Me.colNAME4.Name = "colNAME4"
'
'colCOMMENT
'
resources.ApplyResources(Me.colCOMMENT, "colCOMMENT")
Me.colCOMMENT.FieldName = "COMMENT"
Me.colCOMMENT.MinWidth = 16
Me.colCOMMENT.MinWidth = 21
Me.colCOMMENT.Name = "colCOMMENT"
'
'Panel4
@@ -654,12 +651,13 @@ Partial Class frmAdministration
'
Me.SplitContainerControl1.Panel2.Controls.Add(Me.pgFinalIndexes)
resources.ApplyResources(Me.SplitContainerControl1.Panel2, "SplitContainerControl1.Panel2")
Me.SplitContainerControl1.SplitterPosition = 506
Me.SplitContainerControl1.SplitterPosition = 651
'
'gridFinalIndex
'
Me.gridFinalIndex.DataSource = Me.TBPM_PROFILE_FINAL_INDEXINGBindingSource
resources.ApplyResources(Me.gridFinalIndex, "gridFinalIndex")
Me.gridFinalIndex.EmbeddedNavigator.Margin = CType(resources.GetObject("gridFinalIndex.EmbeddedNavigator.Margin"), System.Windows.Forms.Padding)
Me.gridFinalIndex.MainView = Me.viewFinalIndex
Me.gridFinalIndex.Name = "gridFinalIndex"
Me.gridFinalIndex.TabStop = False
@@ -680,7 +678,6 @@ Partial Class frmAdministration
Me.viewFinalIndex.Appearance.EvenRow.BackColor = System.Drawing.Color.PaleTurquoise
Me.viewFinalIndex.Appearance.EvenRow.Options.UseBackColor = True
Me.viewFinalIndex.Columns.AddRange(New DevExpress.XtraGrid.Columns.GridColumn() {Me.colGUID, Me.colPROFIL_ID, Me.colCONNECTION_ID, Me.colINDEXNAME, Me.colVALUE, Me.colSQL_COMMAND, Me.colPREVENT_DUPLICATES, Me.colALLOW_NEW_VALUES, Me.colDESCRIPTION1, Me.colACTIVE})
Me.viewFinalIndex.DetailHeight = 295
Me.viewFinalIndex.GridControl = Me.gridFinalIndex
Me.viewFinalIndex.Name = "viewFinalIndex"
Me.viewFinalIndex.OptionsBehavior.Editable = False
@@ -692,74 +689,92 @@ Partial Class frmAdministration
'colGUID
'
Me.colGUID.FieldName = "GUID"
Me.colGUID.MinWidth = 26
Me.colGUID.Name = "colGUID"
resources.ApplyResources(Me.colGUID, "colGUID")
'
'colPROFIL_ID
'
Me.colPROFIL_ID.FieldName = "PROFIL_ID"
Me.colPROFIL_ID.MinWidth = 26
Me.colPROFIL_ID.Name = "colPROFIL_ID"
resources.ApplyResources(Me.colPROFIL_ID, "colPROFIL_ID")
'
'colCONNECTION_ID
'
Me.colCONNECTION_ID.FieldName = "CONNECTION_ID"
Me.colCONNECTION_ID.MinWidth = 26
Me.colCONNECTION_ID.Name = "colCONNECTION_ID"
resources.ApplyResources(Me.colCONNECTION_ID, "colCONNECTION_ID")
'
'colINDEXNAME
'
resources.ApplyResources(Me.colINDEXNAME, "colINDEXNAME")
Me.colINDEXNAME.FieldName = "INDEXNAME"
Me.colINDEXNAME.MinWidth = 26
Me.colINDEXNAME.Name = "colINDEXNAME"
'
'colVALUE
'
resources.ApplyResources(Me.colVALUE, "colVALUE")
Me.colVALUE.FieldName = "VALUE"
Me.colVALUE.MinWidth = 26
Me.colVALUE.Name = "colVALUE"
'
'colSQL_COMMAND
'
resources.ApplyResources(Me.colSQL_COMMAND, "colSQL_COMMAND")
Me.colSQL_COMMAND.FieldName = "SQL_COMMAND"
Me.colSQL_COMMAND.MinWidth = 26
Me.colSQL_COMMAND.Name = "colSQL_COMMAND"
'
'colPREVENT_DUPLICATES
'
resources.ApplyResources(Me.colPREVENT_DUPLICATES, "colPREVENT_DUPLICATES")
Me.colPREVENT_DUPLICATES.FieldName = "PREVENT_DUPLICATES"
Me.colPREVENT_DUPLICATES.MinWidth = 26
Me.colPREVENT_DUPLICATES.Name = "colPREVENT_DUPLICATES"
'
'colALLOW_NEW_VALUES
'
resources.ApplyResources(Me.colALLOW_NEW_VALUES, "colALLOW_NEW_VALUES")
Me.colALLOW_NEW_VALUES.FieldName = "ALLOW_NEW_VALUES"
Me.colALLOW_NEW_VALUES.MinWidth = 26
Me.colALLOW_NEW_VALUES.Name = "colALLOW_NEW_VALUES"
'
'colDESCRIPTION1
'
resources.ApplyResources(Me.colDESCRIPTION1, "colDESCRIPTION1")
Me.colDESCRIPTION1.FieldName = "DESCRIPTION"
Me.colDESCRIPTION1.MinWidth = 26
Me.colDESCRIPTION1.Name = "colDESCRIPTION1"
'
'colACTIVE
'
Me.colACTIVE.FieldName = "ACTIVE"
Me.colACTIVE.MinWidth = 26
Me.colACTIVE.Name = "colACTIVE"
resources.ApplyResources(Me.colACTIVE, "colACTIVE")
'
'pgFinalIndexes
'
Me.pgFinalIndexes.Cursor = System.Windows.Forms.Cursors.Default
resources.ApplyResources(Me.pgFinalIndexes, "pgFinalIndexes")
Me.pgFinalIndexes.Cursor = System.Windows.Forms.Cursors.Default
Me.pgFinalIndexes.MenuManager = Me.RibbonControl1
Me.pgFinalIndexes.Name = "pgFinalIndexes"
Me.pgFinalIndexes.OptionsView.AllowReadOnlyRowAppearance = DevExpress.Utils.DefaultBoolean.[True]
Me.pgFinalIndexes.OptionsView.FixedLineWidth = 3
Me.pgFinalIndexes.OptionsView.MinRowAutoHeight = 12
'
'RibbonControl1
'
Me.RibbonControl1.EmptyAreaImageOptions.ImagePadding = New System.Windows.Forms.Padding(39, 36, 39, 36)
Me.RibbonControl1.ExpandCollapseItem.Id = 0
Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.RibbonControl1.SearchEditItem, Me.BarButtonItemRefreshProfileData, Me.BarButtonItem2, Me.BarButtonItem3, Me.BarButtonItem4, Me.BarButtonItem5, Me.BarButtonItem6, Me.BarButtonItem7, Me.BarButtonItem8, Me.BarButtonItem9, Me.BarButtonItem10, Me.BarButtonItem11, Me.BarButtonItem12, Me.BarButtonItem13, Me.BarButtonItem14, Me.BarButtonItem15, Me.BarButtonItem16, Me.BarButtonItem17, Me.BarButtonItem18, Me.BarButtonItem19, Me.tsbStaticInfo, Me.BarButtonItem20, Me.BarButtonItem21, Me.bbtnItemFinishSQL, Me.BarButtonItem22, Me.BarButtonItem23, Me.BarButtonItem24, Me.BarButtonItem25, Me.BarButtonItem26, Me.BarToggleSwitchItemEdit, Me.bbtnitmReject, Me.bbtnitmNotResponsible})
resources.ApplyResources(Me.RibbonControl1, "RibbonControl1")
Me.RibbonControl1.MaxItemId = 33
Me.RibbonControl1.Name = "RibbonControl1"
Me.RibbonControl1.OptionsMenuMinWidth = 424
Me.RibbonControl1.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.RibbonPage1, Me.RibbonPage3})
Me.RibbonControl1.ShowApplicationButton = DevExpress.Utils.DefaultBoolean.[False]
Me.RibbonControl1.ShowMoreCommandsButton = DevExpress.Utils.DefaultBoolean.[False]
@@ -1185,12 +1200,6 @@ Partial Class frmAdministration
Me.TBPM_TYPEBindingSource.DataMember = "TBPM_TYPE"
Me.TBPM_TYPEBindingSource.DataSource = Me.DD_DMSLiteDataSet
'
'PRIORITYNumericUpDown
'
Me.PRIORITYNumericUpDown.DataBindings.Add(New System.Windows.Forms.Binding("Value", Me.TBPM_PROFILEBindingSource, "PRIORITY", True))
resources.ApplyResources(Me.PRIORITYNumericUpDown, "PRIORITYNumericUpDown")
Me.PRIORITYNumericUpDown.Name = "PRIORITYNumericUpDown"
'
'btnWMopenSuche
'
resources.ApplyResources(Me.btnWMopenSuche, "btnWMopenSuche")
@@ -1341,7 +1350,6 @@ Partial Class frmAdministration
Me.TabPage5.Controls.Add(Me.TARGET_PATH_BLIND_FILETextBox)
Me.TabPage5.Controls.Add(Me.lblDescription)
Me.TabPage5.Controls.Add(Me.btnofbAHW)
Me.TabPage5.Controls.Add(Me.lblPriority)
Me.TabPage5.Controls.Add(Me.lblSearch)
Me.TabPage5.Controls.Add(Me.Label4)
Me.TabPage5.Controls.Add(Me.Label9)
@@ -1364,7 +1372,6 @@ Partial Class frmAdministration
Me.TabPage5.Controls.Add(Me.ADDED_WHENTextBox)
Me.TabPage5.Controls.Add(Me.CHANGED_WHOTextBox)
Me.TabPage5.Controls.Add(Me.btnWMopenSuche)
Me.TabPage5.Controls.Add(Me.PRIORITYNumericUpDown)
Me.TabPage5.Controls.Add(CHANGED_WHOLabel)
Me.TabPage5.Name = "TabPage5"
Me.TabPage5.UseVisualStyleBackColor = True
@@ -1404,11 +1411,6 @@ Partial Class frmAdministration
Me.btnofbAHW.Name = "btnofbAHW"
Me.btnofbAHW.UseVisualStyleBackColor = True
'
'lblPriority
'
resources.ApplyResources(Me.lblPriority, "lblPriority")
Me.lblPriority.Name = "lblPriority"
'
'lblSearch
'
resources.ApplyResources(Me.lblSearch, "lblSearch")
@@ -1881,6 +1883,7 @@ Partial Class frmAdministration
'
Me.GridControlNavigation.DataSource = Me.TBPM_PROFILEBindingSource
resources.ApplyResources(Me.GridControlNavigation, "GridControlNavigation")
Me.GridControlNavigation.EmbeddedNavigator.Margin = CType(resources.GetObject("GridControlNavigation.EmbeddedNavigator.Margin"), System.Windows.Forms.Padding)
Me.GridControlNavigation.MainView = Me.GridViewProfile
Me.GridControlNavigation.Name = "GridControlNavigation"
Me.GridControlNavigation.TabStop = False
@@ -1893,7 +1896,6 @@ Partial Class frmAdministration
Me.GridViewProfile.Appearance.FocusedRow.BackColor = System.Drawing.Color.Fuchsia
Me.GridViewProfile.Appearance.FocusedRow.Options.UseBackColor = True
Me.GridViewProfile.Columns.AddRange(New DevExpress.XtraGrid.Columns.GridColumn() {Me.colProfilGUID, Me.colNAME})
Me.GridViewProfile.DetailHeight = 295
Me.GridViewProfile.GridControl = Me.GridControlNavigation
Me.GridViewProfile.Name = "GridViewProfile"
Me.GridViewProfile.OptionsBehavior.AllowAddRows = DevExpress.Utils.DefaultBoolean.[False]
@@ -1910,13 +1912,14 @@ Partial Class frmAdministration
'
resources.ApplyResources(Me.colProfilGUID, "colProfilGUID")
Me.colProfilGUID.FieldName = "GUID"
Me.colProfilGUID.MinWidth = 26
Me.colProfilGUID.Name = "colProfilGUID"
'
'colNAME
'
resources.ApplyResources(Me.colNAME, "colNAME")
Me.colNAME.FieldName = "NAME"
Me.colNAME.MinWidth = 16
Me.colNAME.MinWidth = 21
Me.colNAME.Name = "colNAME"
'
'TBPM_KONFIGURATIONBindingSource
@@ -2049,7 +2052,6 @@ Partial Class frmAdministration
CType(Me.TBDD_USERBindingSource, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.TBPM_PROFILEBindingSource, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.TBPM_TYPEBindingSource, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.PRIORITYNumericUpDown, System.ComponentModel.ISupportInitialize).EndInit()
Me.TabControl1.ResumeLayout(False)
Me.TabPage1.ResumeLayout(False)
Me.pnlEdit.ResumeLayout(False)
@@ -2108,7 +2110,6 @@ Partial Class frmAdministration
Friend WithEvents FINAL_TEXTTextBox As System.Windows.Forms.TextBox
Friend WithEvents dlgWindreamsuche As System.Windows.Forms.OpenFileDialog
Friend WithEvents btnWMopenSuche As System.Windows.Forms.Button
Friend WithEvents PRIORITYNumericUpDown As System.Windows.Forms.NumericUpDown
Friend WithEvents TBPM_TYPEBindingSource As System.Windows.Forms.BindingSource
Friend WithEvents TBPM_TYPETableAdapter As taskFLOW.DD_DMSLiteDataSetTableAdapters.TBPM_TYPETableAdapter
Friend WithEvents FolderBrowserDialog1 As System.Windows.Forms.FolderBrowserDialog
@@ -2241,7 +2242,6 @@ Partial Class frmAdministration
Friend WithEvents tsbStaticInfo As DevExpress.XtraBars.BarStaticItem
Friend WithEvents BarButtonItem20 As DevExpress.XtraBars.BarButtonItem
Friend WithEvents BarButtonItem21 As DevExpress.XtraBars.BarButtonItem
Friend WithEvents lblPriority As Label
Friend WithEvents bbtnItemFinishSQL As DevExpress.XtraBars.BarButtonItem
Friend WithEvents colProfilGUID As DevExpress.XtraGrid.Columns.GridColumn
Friend WithEvents Panel1 As Panel

File diff suppressed because it is too large Load Diff

View File

@@ -1,14 +1,13 @@
Imports System.ComponentModel
Imports System.Data.SqlClient
Imports System.IO
Imports DD_LIB_Standards
Imports DevExpress.Utils.Frames
Imports DevExpress.XtraGrid
Imports DevExpress.XtraGrid.Views.Base
Imports DevExpress.XtraGrid.Views.Grid
Imports DigitalData.GUIs.Common
Imports DigitalData.Modules.Language.Utils
Imports DigitalData.Modules.Logging
Imports WINDREAMLib
Public Class frmAdministration
Private UNSAVED_CHANGES_PROFILE As Boolean = False
@@ -74,14 +73,14 @@ Public Class frmAdministration
lblSearch.Text = "Datei-Suche (SQL):"
btnWMopenSuche.Visible = False
SORT_BY_LATESTCheckBox.Visible = False
PRIORITYNumericUpDown.Visible = False
lblPriority.Visible = False
'PRIORITYNumericUpDown.Visible = False
'lblPriority.Visible = False
Else
lblSearch.Text = "windream-Suche:"
btnWMopenSuche.Visible = True
SORT_BY_LATESTCheckBox.Visible = True
PRIORITYNumericUpDown.Visible = True
lblPriority.Visible = True
'PRIORITYNumericUpDown.Visible = True
'lblPriority.Visible = True
End If
ObjekttypenEintragen()
Indexe_eintragen()
@@ -163,12 +162,14 @@ Public Class frmAdministration
PM_VEKTOR_INDEXComboBox.Enabled = False
Label4.Enabled = False
Dim oCount = 0
Try
For Each oRow As DataRow In IDBData.DTVWIDB_BE_ATTRIBUTE.Rows
Select Case CInt(oRow.Item("TYP_ID"))
Case 8
Me.PM_VEKTOR_INDEXComboBox.Items.Add(oRow.Item("ATTR_TITLE"))
Me.cmbLOGIndex.Items.Add(oRow.Item("ATTR_TITLE"))
oCount += 1
End Select
Next
@@ -182,7 +183,11 @@ Public Class frmAdministration
_Logger.Error(ex)
MsgBox("Error in GetIndices IDB: " & vbNewLine & ex.Message, MsgBoxStyle.Critical)
End Try
If IDBData.DTVWIDB_BE_ATTRIBUTE.Rows.Count = 0 Then
LOGGER.Warn("⚠ No attributes [VWIDB_BE_ATTRIBUTE] found in IDB for the selected object type.")
Else
LOGGER.Info($"Found {oCount} vector attributes in IDB for the selected object type.")
End If
End If
@@ -232,7 +237,7 @@ Public Class frmAdministration
MsgBox("No connection to windream-server possible.", MsgBoxStyle.Critical, "Unexprected error:")
End Try
Else
Dim oSQL = "SELECT GUID, TITLE FROM IDB.dbo.TBIDB_BUSINESS_ENTITY"
Dim oSQL = "SELECT GUID, TITLE FROM TBIDB_BUSINESS_ENTITY"
Dim oDT As DataTable = DatabaseFallback.GetDatatableIDB(oSQL)
For Each oROW As DataRow In oDT.Rows
Me.cmbObjekttypen.Items.Add(oROW.Item(1))
@@ -849,6 +854,10 @@ Public Class frmAdministration
ToolTip1.Show("Bitte wählen Sie hier den Vektor-Index den Sie für das Loggen der Wertänderungen nutzen wollen:", cmbLOGIndex)
End Sub
Private Sub BarButtonItem2_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem2.ItemClick
OpenDesigner
End Sub
Sub OpenDesigner()
If CInt(PROFILGUIDTextBox.Text) > 0 Then
profile_guid = PROFILGUIDTextBox.Text
CURRENT_ProfilGUID = PROFILGUIDTextBox.Text
@@ -1291,7 +1300,23 @@ Public Class frmAdministration
Return False
End Function
Private Sub GridViewProfile_DoubleClick(sender As Object, e As EventArgs) Handles GridViewProfile.DoubleClick
If FORM_LOADED = False Or UNSAVED_CHANGES_PROFILE = True Or UNSAVED_CHANGES_FI = True Or BINDINGSOURCE_CHANGING = True Then
Exit Sub
End If
Try
Dim profileId As Integer = GetCurrentProfileId()
_Logger.Debug("Loading Profile [{0}]", profileId)
If Not IsNothing(profileId) Then
OpenDesigner()
End If
Catch ex As Exception
_Logger.Error(ex)
MsgBox($"Error while calling FillProfile_User", MsgBoxStyle.Critical)
End Try
End Sub
Private Sub GridView1_FocusedRowChanged(sender As Object, e As Views.Base.FocusedRowChangedEventArgs) Handles GridViewProfile.FocusedRowChanged
@@ -1617,4 +1642,10 @@ Public Class frmAdministration
Private Sub BarButtonItem1_ItemClick_2(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs)
viewFinalIndex.FocusedRowHandle() = 2
End Sub
Private Sub GridControlNavigation_DoubleClick(sender As Object, e As EventArgs) Handles GridControlNavigation.DoubleClick
End Sub
End Class

956
app/TaskFlow/frmCockpitConfig.Designer.vb generated Normal file
View File

@@ -0,0 +1,956 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()>
Partial Class frmCockpitConfig
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()
Me.components = New System.ComponentModel.Container()
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmCockpitConfig))
Me.RibbonControl1 = New DevExpress.XtraBars.Ribbon.RibbonControl()
Me.BarButtonItem1 = New DevExpress.XtraBars.BarButtonItem()
Me.BarButtonItem2 = New DevExpress.XtraBars.BarButtonItem()
Me.bbtnSQL_Data = New DevExpress.XtraBars.BarButtonItem()
Me.bbtnSQL_Count = New DevExpress.XtraBars.BarButtonItem()
Me.bbtnitm_Save = New DevExpress.XtraBars.BarButtonItem()
Me.BarButtonItem4 = New DevExpress.XtraBars.BarButtonItem()
Me.bbtnitm_NodeOverviewAdd = New DevExpress.XtraBars.BarButtonItem()
Me.bbtnitm_NodeProfilAdd = New DevExpress.XtraBars.BarButtonItem()
Me.bbtnitmCopy = New DevExpress.XtraBars.BarButtonItem()
Me.bsitm_info = New DevExpress.XtraBars.BarStaticItem()
Me.bbtnitm_DeleteCockpit = New DevExpress.XtraBars.BarButtonItem()
Me.bbtnitm_AddCockpit = New DevExpress.XtraBars.BarButtonItem()
Me.bbtnitmsave_Cocpit = New DevExpress.XtraBars.BarButtonItem()
Me.bsitm_added_Changed = New DevExpress.XtraBars.BarStaticItem()
Me.RibbonPage1 = New DevExpress.XtraBars.Ribbon.RibbonPage()
Me.RibbonPageGroup1 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RbmPgGrp_Cockpit = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RbmPgGrp_Node = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibbonStatusBar1 = New DevExpress.XtraBars.Ribbon.RibbonStatusBar()
Me.RibbonPage2 = New DevExpress.XtraBars.Ribbon.RibbonPage()
Me.LabelControl1 = New DevExpress.XtraEditors.LabelControl()
Me.LookUpEditCockpit = New DevExpress.XtraEditors.LookUpEdit()
Me.CheckEdit_Cockpit_Active = New DevExpress.XtraEditors.CheckEdit()
Me.ImageCollection1 = New DevExpress.Utils.ImageCollection(Me.components)
Me.TreeList_Cockpit = New DevExpress.XtraTreeList.TreeList()
Me.LabelControl2 = New DevExpress.XtraEditors.LabelControl()
Me.LabelControl3 = New DevExpress.XtraEditors.LabelControl()
Me.LabelControl4 = New DevExpress.XtraEditors.LabelControl()
Me.TextEdit_PK_CFG_COCKPIT_DEFINITION_ID = New DevExpress.XtraEditors.TextEdit()
Me.TextEdit_ParentID = New DevExpress.XtraEditors.TextEdit()
Me.LookUpEditTypeID = New DevExpress.XtraEditors.LookUpEdit()
Me.TextEdit_Bezeichnung = New DevExpress.XtraEditors.TextEdit()
Me.LabelControl5 = New DevExpress.XtraEditors.LabelControl()
Me.CheckEdit_Active = New DevExpress.XtraEditors.CheckEdit()
Me.LookUpEdit_Image = New DevExpress.XtraEditors.LookUpEdit()
Me.LabelControl6 = New DevExpress.XtraEditors.LabelControl()
Me.TextEdit_Comment = New DevExpress.XtraEditors.TextEdit()
Me.LabelControl7 = New DevExpress.XtraEditors.LabelControl()
Me.LabelControl_Profil = New DevExpress.XtraEditors.LabelControl()
Me.LookUpEditProfil = New DevExpress.XtraEditors.LookUpEdit()
Me.LookUpEditChart = New DevExpress.XtraEditors.LookUpEdit()
Me.LabelControl_Chart = New DevExpress.XtraEditors.LabelControl()
Me.LookUpEditMonitor = New DevExpress.XtraEditors.LookUpEdit()
Me.LabelControl_Monitor = New DevExpress.XtraEditors.LabelControl()
Me.XtraTabControl_UserGroup = New DevExpress.XtraTab.XtraTabControl()
Me.XtraTabPage1 = New DevExpress.XtraTab.XtraTabPage()
Me.gridAssignedUsers = New DevExpress.XtraGrid.GridControl()
Me.viewAssignedUsers = New DevExpress.XtraGrid.Views.Grid.GridView()
Me.gridAvailableUsers = New DevExpress.XtraGrid.GridControl()
Me.viewAvailableUsers = New DevExpress.XtraGrid.Views.Grid.GridView()
Me.PanelControl1 = New DevExpress.XtraEditors.PanelControl()
Me.LabelControl9 = New DevExpress.XtraEditors.LabelControl()
Me.LabelControl8 = New DevExpress.XtraEditors.LabelControl()
Me.XtraTabPage2 = New DevExpress.XtraTab.XtraTabPage()
Me.GridAssignedGroups = New DevExpress.XtraGrid.GridControl()
Me.ViewAssignedGroups = New DevExpress.XtraGrid.Views.Grid.GridView()
Me.GridAvailableGroups = New DevExpress.XtraGrid.GridControl()
Me.ViewAvailableGroups = New DevExpress.XtraGrid.Views.Grid.GridView()
Me.PanelControl2 = New DevExpress.XtraEditors.PanelControl()
Me.LabelControl10 = New DevExpress.XtraEditors.LabelControl()
Me.LabelControl11 = New DevExpress.XtraEditors.LabelControl()
Me.TextEditCockpit_Bez = New DevExpress.XtraEditors.TextEdit()
Me.LabelControl12 = New DevExpress.XtraEditors.LabelControl()
Me.SplitContainerControl1 = New DevExpress.XtraEditors.SplitContainerControl()
Me.SpinEdit_sequence = New DevExpress.XtraEditors.SpinEdit()
Me.LabelControl13 = New DevExpress.XtraEditors.LabelControl()
CType(Me.RibbonControl1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.LookUpEditCockpit.Properties, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.CheckEdit_Cockpit_Active.Properties, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.ImageCollection1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.TreeList_Cockpit, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.TextEdit_PK_CFG_COCKPIT_DEFINITION_ID.Properties, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.TextEdit_ParentID.Properties, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.LookUpEditTypeID.Properties, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.TextEdit_Bezeichnung.Properties, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.CheckEdit_Active.Properties, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.LookUpEdit_Image.Properties, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.TextEdit_Comment.Properties, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.LookUpEditProfil.Properties, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.LookUpEditChart.Properties, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.LookUpEditMonitor.Properties, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.XtraTabControl_UserGroup, System.ComponentModel.ISupportInitialize).BeginInit()
Me.XtraTabControl_UserGroup.SuspendLayout()
Me.XtraTabPage1.SuspendLayout()
CType(Me.gridAssignedUsers, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.viewAssignedUsers, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.gridAvailableUsers, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.viewAvailableUsers, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.PanelControl1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.PanelControl1.SuspendLayout()
Me.XtraTabPage2.SuspendLayout()
CType(Me.GridAssignedGroups, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.ViewAssignedGroups, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.GridAvailableGroups, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.ViewAvailableGroups, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.PanelControl2, System.ComponentModel.ISupportInitialize).BeginInit()
Me.PanelControl2.SuspendLayout()
CType(Me.TextEditCockpit_Bez.Properties, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.SplitContainerControl1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.SplitContainerControl1.Panel1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SplitContainerControl1.Panel1.SuspendLayout()
CType(Me.SplitContainerControl1.Panel2, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SplitContainerControl1.Panel2.SuspendLayout()
Me.SplitContainerControl1.SuspendLayout()
CType(Me.SpinEdit_sequence.Properties, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
'
'RibbonControl1
'
Me.RibbonControl1.EmptyAreaImageOptions.ImagePadding = New System.Windows.Forms.Padding(35, 39, 35, 39)
Me.RibbonControl1.ExpandCollapseItem.Id = 0
Me.RibbonControl1.Font = New System.Drawing.Font("Segoe UI", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.RibbonControl1.SearchEditItem, Me.BarButtonItem1, Me.BarButtonItem2, Me.bbtnSQL_Data, Me.bbtnSQL_Count, Me.bbtnitm_Save, Me.BarButtonItem4, Me.bbtnitm_NodeOverviewAdd, Me.bbtnitm_NodeProfilAdd, Me.bbtnitmCopy, Me.bsitm_info, Me.bbtnitm_DeleteCockpit, Me.bbtnitm_AddCockpit, Me.bbtnitmsave_Cocpit, Me.bsitm_added_Changed})
Me.RibbonControl1.Location = New System.Drawing.Point(0, 0)
Me.RibbonControl1.Margin = New System.Windows.Forms.Padding(4)
Me.RibbonControl1.MaxItemId = 15
Me.RibbonControl1.Name = "RibbonControl1"
Me.RibbonControl1.OptionsMenuMinWidth = 385
Me.RibbonControl1.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.RibbonPage1})
Me.RibbonControl1.ShowApplicationButton = DevExpress.Utils.DefaultBoolean.[False]
Me.RibbonControl1.Size = New System.Drawing.Size(1451, 158)
Me.RibbonControl1.StatusBar = Me.RibbonStatusBar1
'
'BarButtonItem1
'
Me.BarButtonItem1.Caption = "Cockpit für User testen"
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 = "Aktualisieren"
Me.BarButtonItem2.Id = 2
Me.BarButtonItem2.ImageOptions.SvgImage = CType(resources.GetObject("BarButtonItem2.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
Me.BarButtonItem2.Name = "BarButtonItem2"
'
'bbtnSQL_Data
'
Me.bbtnSQL_Data.Caption = "Data SQL ändern"
Me.bbtnSQL_Data.Id = 3
Me.bbtnSQL_Data.ImageOptions.SvgImage = CType(resources.GetObject("bbtnSQL_Data.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
Me.bbtnSQL_Data.Name = "bbtnSQL_Data"
'
'bbtnSQL_Count
'
Me.bbtnSQL_Count.Caption = "Count SQL Rows ändern"
Me.bbtnSQL_Count.Id = 4
Me.bbtnSQL_Count.ImageOptions.SvgImage = CType(resources.GetObject("bbtnSQL_Count.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
Me.bbtnSQL_Count.Name = "bbtnSQL_Count"
'
'bbtnitm_Save
'
Me.bbtnitm_Save.Caption = "Speichern"
Me.bbtnitm_Save.Id = 5
Me.bbtnitm_Save.ImageOptions.SvgImage = CType(resources.GetObject("bbtnitm_Save.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
Me.bbtnitm_Save.Name = "bbtnitm_Save"
'
'BarButtonItem4
'
Me.BarButtonItem4.Caption = "Löschen"
Me.BarButtonItem4.Id = 6
Me.BarButtonItem4.ImageOptions.SvgImage = CType(resources.GetObject("BarButtonItem4.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
Me.BarButtonItem4.Name = "BarButtonItem4"
'
'bbtnitm_NodeOverviewAdd
'
Me.bbtnitm_NodeOverviewAdd.Caption = "Overview hinzufügen"
Me.bbtnitm_NodeOverviewAdd.Id = 7
Me.bbtnitm_NodeOverviewAdd.ImageOptions.SvgImage = CType(resources.GetObject("bbtnitm_NodeOverviewAdd.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
Me.bbtnitm_NodeOverviewAdd.Name = "bbtnitm_NodeOverviewAdd"
'
'bbtnitm_NodeProfilAdd
'
Me.bbtnitm_NodeProfilAdd.Caption = "Hinzufügen"
Me.bbtnitm_NodeProfilAdd.Id = 8
Me.bbtnitm_NodeProfilAdd.ImageOptions.SvgImage = CType(resources.GetObject("bbtnitm_NodeProfilAdd.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
Me.bbtnitm_NodeProfilAdd.Name = "bbtnitm_NodeProfilAdd"
'
'bbtnitmCopy
'
Me.bbtnitmCopy.Caption = "Kopieren"
Me.bbtnitmCopy.Id = 9
Me.bbtnitmCopy.ImageOptions.SvgImage = CType(resources.GetObject("bbtnitmCopy.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
Me.bbtnitmCopy.Name = "bbtnitmCopy"
'
'bsitm_info
'
Me.bsitm_info.Id = 10
Me.bsitm_info.ImageOptions.SvgImage = CType(resources.GetObject("bsitm_info.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
Me.bsitm_info.Name = "bsitm_info"
Me.bsitm_info.PaintStyle = DevExpress.XtraBars.BarItemPaintStyle.CaptionGlyph
'
'bbtnitm_DeleteCockpit
'
Me.bbtnitm_DeleteCockpit.Caption = "Löschen"
Me.bbtnitm_DeleteCockpit.Id = 11
Me.bbtnitm_DeleteCockpit.ImageOptions.SvgImage = CType(resources.GetObject("bbtnitm_DeleteCockpit.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
Me.bbtnitm_DeleteCockpit.Name = "bbtnitm_DeleteCockpit"
'
'bbtnitm_AddCockpit
'
Me.bbtnitm_AddCockpit.Caption = "Hinzufügen"
Me.bbtnitm_AddCockpit.Id = 12
Me.bbtnitm_AddCockpit.ImageOptions.SvgImage = CType(resources.GetObject("bbtnitm_AddCockpit.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
Me.bbtnitm_AddCockpit.Name = "bbtnitm_AddCockpit"
'
'bbtnitmsave_Cocpit
'
Me.bbtnitmsave_Cocpit.Caption = "Speichern"
Me.bbtnitmsave_Cocpit.Id = 13
Me.bbtnitmsave_Cocpit.ImageOptions.SvgImage = CType(resources.GetObject("bbtnitmsave_Cocpit.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
Me.bbtnitmsave_Cocpit.Name = "bbtnitmsave_Cocpit"
'
'bsitm_added_Changed
'
Me.bsitm_added_Changed.Alignment = DevExpress.XtraBars.BarItemLinkAlignment.Right
Me.bsitm_added_Changed.Caption = "Added and Changed - Selection awaiting"
Me.bsitm_added_Changed.Id = 14
Me.bsitm_added_Changed.Name = "bsitm_added_Changed"
'
'RibbonPage1
'
Me.RibbonPage1.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup1, Me.RbmPgGrp_Cockpit, Me.RbmPgGrp_Node})
Me.RibbonPage1.Name = "RibbonPage1"
Me.RibbonPage1.Text = "Start"
'
'RibbonPageGroup1
'
Me.RibbonPageGroup1.AllowTextClipping = False
Me.RibbonPageGroup1.ItemLinks.Add(Me.BarButtonItem1)
Me.RibbonPageGroup1.ItemLinks.Add(Me.BarButtonItem2)
Me.RibbonPageGroup1.Name = "RibbonPageGroup1"
Me.RibbonPageGroup1.Text = "Aktionen"
'
'RbmPgGrp_Cockpit
'
Me.RbmPgGrp_Cockpit.AllowTextClipping = False
Me.RbmPgGrp_Cockpit.ItemLinks.Add(Me.bbtnitm_AddCockpit)
Me.RbmPgGrp_Cockpit.ItemLinks.Add(Me.bbtnitmsave_Cocpit)
Me.RbmPgGrp_Cockpit.ItemLinks.Add(Me.bbtnitm_DeleteCockpit)
Me.RbmPgGrp_Cockpit.Name = "RbmPgGrp_Cockpit"
Me.RbmPgGrp_Cockpit.Text = "Cockpit Aktionen"
'
'RbmPgGrp_Node
'
Me.RbmPgGrp_Node.AllowTextClipping = False
Me.RbmPgGrp_Node.ItemLinks.Add(Me.bbtnitm_NodeProfilAdd)
Me.RbmPgGrp_Node.ItemLinks.Add(Me.bbtnitm_NodeOverviewAdd)
Me.RbmPgGrp_Node.ItemLinks.Add(Me.bbtnitmCopy)
Me.RbmPgGrp_Node.ItemLinks.Add(Me.bbtnitm_Save)
Me.RbmPgGrp_Node.ItemLinks.Add(Me.bbtnSQL_Data)
Me.RbmPgGrp_Node.ItemLinks.Add(Me.bbtnSQL_Count)
Me.RbmPgGrp_Node.ItemLinks.Add(Me.BarButtonItem4)
Me.RbmPgGrp_Node.Name = "RbmPgGrp_Node"
Me.RbmPgGrp_Node.Text = "Knoten Aktionen"
'
'RibbonStatusBar1
'
Me.RibbonStatusBar1.ItemLinks.Add(Me.bsitm_info)
Me.RibbonStatusBar1.ItemLinks.Add(Me.bsitm_added_Changed)
Me.RibbonStatusBar1.Location = New System.Drawing.Point(0, 685)
Me.RibbonStatusBar1.Margin = New System.Windows.Forms.Padding(4)
Me.RibbonStatusBar1.Name = "RibbonStatusBar1"
Me.RibbonStatusBar1.Ribbon = Me.RibbonControl1
Me.RibbonStatusBar1.Size = New System.Drawing.Size(1451, 22)
'
'RibbonPage2
'
Me.RibbonPage2.Name = "RibbonPage2"
Me.RibbonPage2.Text = "RibbonPage2"
'
'LabelControl1
'
Me.LabelControl1.Appearance.Font = New System.Drawing.Font("Segoe UI", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.LabelControl1.Appearance.Options.UseFont = True
Me.LabelControl1.Location = New System.Drawing.Point(12, 7)
Me.LabelControl1.Name = "LabelControl1"
Me.LabelControl1.Size = New System.Drawing.Size(83, 17)
Me.LabelControl1.TabIndex = 16
Me.LabelControl1.Text = "Wähle Cockpit"
'
'LookUpEditCockpit
'
Me.LookUpEditCockpit.Location = New System.Drawing.Point(12, 24)
Me.LookUpEditCockpit.MenuManager = Me.RibbonControl1
Me.LookUpEditCockpit.Name = "LookUpEditCockpit"
Me.LookUpEditCockpit.Properties.Appearance.Font = New System.Drawing.Font("Segoe UI", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.LookUpEditCockpit.Properties.Appearance.Options.UseFont = True
Me.LookUpEditCockpit.Properties.Buttons.AddRange(New DevExpress.XtraEditors.Controls.EditorButton() {New DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)})
Me.LookUpEditCockpit.Size = New System.Drawing.Size(312, 24)
Me.LookUpEditCockpit.TabIndex = 17
'
'CheckEdit_Cockpit_Active
'
Me.CheckEdit_Cockpit_Active.Location = New System.Drawing.Point(342, 28)
Me.CheckEdit_Cockpit_Active.MenuManager = Me.RibbonControl1
Me.CheckEdit_Cockpit_Active.Name = "CheckEdit_Cockpit_Active"
Me.CheckEdit_Cockpit_Active.Properties.Caption = "Active"
Me.CheckEdit_Cockpit_Active.Size = New System.Drawing.Size(52, 18)
Me.CheckEdit_Cockpit_Active.TabIndex = 20
'
'ImageCollection1
'
Me.ImageCollection1.ImageSize = New System.Drawing.Size(24, 24)
Me.ImageCollection1.ImageStream = CType(resources.GetObject("ImageCollection1.ImageStream"), DevExpress.Utils.ImageCollectionStreamer)
Me.ImageCollection1.Images.SetKeyName(0, "overview")
Me.ImageCollection1.Images.SetKeyName(1, "profile")
Me.ImageCollection1.Images.SetKeyName(2, "monitor")
Me.ImageCollection1.Images.SetKeyName(3, "chart")
'
'TreeList_Cockpit
'
Me.TreeList_Cockpit.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _
Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles)
Me.TreeList_Cockpit.Font = New System.Drawing.Font("Tahoma", 9.75!)
Me.TreeList_Cockpit.ImageIndexFieldName = "ICON_ID"
Me.TreeList_Cockpit.KeyFieldName = "PK_CFG_COCKPIT_DEFINITION_ID"
Me.TreeList_Cockpit.Location = New System.Drawing.Point(11, 76)
Me.TreeList_Cockpit.MenuManager = Me.RibbonControl1
Me.TreeList_Cockpit.Name = "TreeList_Cockpit"
Me.TreeList_Cockpit.OptionsBehavior.Editable = False
Me.TreeList_Cockpit.OptionsBehavior.PopulateServiceColumns = True
Me.TreeList_Cockpit.OptionsBehavior.ReadOnly = True
Me.TreeList_Cockpit.OptionsLayout.AddNewColumns = False
Me.TreeList_Cockpit.OptionsMenu.ShowExpandCollapseItems = False
Me.TreeList_Cockpit.OptionsSelection.EnableAppearanceFocusedCell = False
Me.TreeList_Cockpit.OptionsView.ShowColumns = False
Me.TreeList_Cockpit.OptionsView.ShowFilterPanelMode = DevExpress.XtraTreeList.ShowFilterPanelMode.Never
Me.TreeList_Cockpit.OptionsView.ShowFirstLines = False
Me.TreeList_Cockpit.OptionsView.ShowHorzLines = False
Me.TreeList_Cockpit.OptionsView.ShowIndentAsRowStyle = True
Me.TreeList_Cockpit.OptionsView.ShowIndicator = False
Me.TreeList_Cockpit.OptionsView.ShowVertLines = False
Me.TreeList_Cockpit.OptionsView.TreeLineStyle = DevExpress.XtraTreeList.LineStyle.Dark
Me.TreeList_Cockpit.ParentFieldName = "PARENT_ID"
Me.TreeList_Cockpit.SelectImageList = Me.ImageCollection1
Me.TreeList_Cockpit.Size = New System.Drawing.Size(383, 165)
Me.TreeList_Cockpit.TabIndex = 24
'
'LabelControl2
'
Me.LabelControl2.Appearance.Font = New System.Drawing.Font("Segoe UI", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.LabelControl2.Appearance.Options.UseFont = True
Me.LabelControl2.Location = New System.Drawing.Point(417, 76)
Me.LabelControl2.Name = "LabelControl2"
Me.LabelControl2.Size = New System.Drawing.Size(12, 17)
Me.LabelControl2.TabIndex = 27
Me.LabelControl2.Text = "ID"
'
'LabelControl3
'
Me.LabelControl3.Appearance.Font = New System.Drawing.Font("Segoe UI", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.LabelControl3.Appearance.Options.UseFont = True
Me.LabelControl3.Location = New System.Drawing.Point(454, 76)
Me.LabelControl3.Name = "LabelControl3"
Me.LabelControl3.Size = New System.Drawing.Size(49, 17)
Me.LabelControl3.TabIndex = 28
Me.LabelControl3.Text = "ParentID"
'
'LabelControl4
'
Me.LabelControl4.Appearance.Font = New System.Drawing.Font("Segoe UI", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.LabelControl4.Appearance.Options.UseFont = True
Me.LabelControl4.Location = New System.Drawing.Point(417, 126)
Me.LabelControl4.Name = "LabelControl4"
Me.LabelControl4.Size = New System.Drawing.Size(67, 17)
Me.LabelControl4.TabIndex = 29
Me.LabelControl4.Text = "Knoten-Typ"
'
'TextEdit_PK_CFG_COCKPIT_DEFINITION_ID
'
Me.TextEdit_PK_CFG_COCKPIT_DEFINITION_ID.Location = New System.Drawing.Point(417, 96)
Me.TextEdit_PK_CFG_COCKPIT_DEFINITION_ID.MenuManager = Me.RibbonControl1
Me.TextEdit_PK_CFG_COCKPIT_DEFINITION_ID.Name = "TextEdit_PK_CFG_COCKPIT_DEFINITION_ID"
Me.TextEdit_PK_CFG_COCKPIT_DEFINITION_ID.Properties.Appearance.Font = New System.Drawing.Font("Segoe UI", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.TextEdit_PK_CFG_COCKPIT_DEFINITION_ID.Properties.Appearance.Options.UseFont = True
Me.TextEdit_PK_CFG_COCKPIT_DEFINITION_ID.Properties.ReadOnly = True
Me.TextEdit_PK_CFG_COCKPIT_DEFINITION_ID.Size = New System.Drawing.Size(30, 24)
Me.TextEdit_PK_CFG_COCKPIT_DEFINITION_ID.TabIndex = 31
'
'TextEdit_ParentID
'
Me.TextEdit_ParentID.Location = New System.Drawing.Point(454, 96)
Me.TextEdit_ParentID.MenuManager = Me.RibbonControl1
Me.TextEdit_ParentID.Name = "TextEdit_ParentID"
Me.TextEdit_ParentID.Properties.Appearance.Font = New System.Drawing.Font("Segoe UI", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.TextEdit_ParentID.Properties.Appearance.Options.UseFont = True
Me.TextEdit_ParentID.Properties.ReadOnly = True
Me.TextEdit_ParentID.Size = New System.Drawing.Size(30, 24)
Me.TextEdit_ParentID.TabIndex = 32
'
'LookUpEditTypeID
'
Me.LookUpEditTypeID.Location = New System.Drawing.Point(417, 149)
Me.LookUpEditTypeID.MenuManager = Me.RibbonControl1
Me.LookUpEditTypeID.Name = "LookUpEditTypeID"
Me.LookUpEditTypeID.Properties.Appearance.Font = New System.Drawing.Font("Segoe UI", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.LookUpEditTypeID.Properties.Appearance.Options.UseFont = True
Me.LookUpEditTypeID.Properties.Buttons.AddRange(New DevExpress.XtraEditors.Controls.EditorButton() {New DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)})
Me.LookUpEditTypeID.Size = New System.Drawing.Size(143, 24)
Me.LookUpEditTypeID.TabIndex = 33
'
'TextEdit_Bezeichnung
'
Me.TextEdit_Bezeichnung.Location = New System.Drawing.Point(565, 96)
Me.TextEdit_Bezeichnung.MenuManager = Me.RibbonControl1
Me.TextEdit_Bezeichnung.Name = "TextEdit_Bezeichnung"
Me.TextEdit_Bezeichnung.Properties.Appearance.Font = New System.Drawing.Font("Segoe UI", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.TextEdit_Bezeichnung.Properties.Appearance.Options.UseFont = True
Me.TextEdit_Bezeichnung.Size = New System.Drawing.Size(359, 24)
Me.TextEdit_Bezeichnung.TabIndex = 36
'
'LabelControl5
'
Me.LabelControl5.Appearance.Font = New System.Drawing.Font("Segoe UI", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.LabelControl5.Appearance.Options.UseFont = True
Me.LabelControl5.Location = New System.Drawing.Point(565, 76)
Me.LabelControl5.Name = "LabelControl5"
Me.LabelControl5.Size = New System.Drawing.Size(120, 17)
Me.LabelControl5.TabIndex = 35
Me.LabelControl5.Text = "Knoten Bezeichnung:"
'
'CheckEdit_Active
'
Me.CheckEdit_Active.Location = New System.Drawing.Point(504, 97)
Me.CheckEdit_Active.MenuManager = Me.RibbonControl1
Me.CheckEdit_Active.Name = "CheckEdit_Active"
Me.CheckEdit_Active.Properties.Appearance.Font = New System.Drawing.Font("Segoe UI", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.CheckEdit_Active.Properties.Appearance.Options.UseFont = True
Me.CheckEdit_Active.Properties.Caption = "Aktiv"
Me.CheckEdit_Active.Size = New System.Drawing.Size(55, 21)
Me.CheckEdit_Active.TabIndex = 37
'
'LookUpEdit_Image
'
Me.LookUpEdit_Image.Location = New System.Drawing.Point(417, 204)
Me.LookUpEdit_Image.MenuManager = Me.RibbonControl1
Me.LookUpEdit_Image.Name = "LookUpEdit_Image"
Me.LookUpEdit_Image.Properties.Appearance.Font = New System.Drawing.Font("Segoe UI", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.LookUpEdit_Image.Properties.Appearance.Options.UseFont = True
Me.LookUpEdit_Image.Properties.Buttons.AddRange(New DevExpress.XtraEditors.Controls.EditorButton() {New DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)})
Me.LookUpEdit_Image.Size = New System.Drawing.Size(143, 24)
Me.LookUpEdit_Image.TabIndex = 39
'
'LabelControl6
'
Me.LabelControl6.Appearance.Font = New System.Drawing.Font("Segoe UI", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.LabelControl6.Appearance.Options.UseFont = True
Me.LabelControl6.Location = New System.Drawing.Point(417, 181)
Me.LabelControl6.Name = "LabelControl6"
Me.LabelControl6.Size = New System.Drawing.Size(47, 17)
Me.LabelControl6.TabIndex = 38
Me.LabelControl6.Text = "Bild-Typ"
'
'TextEdit_Comment
'
Me.TextEdit_Comment.Location = New System.Drawing.Point(565, 204)
Me.TextEdit_Comment.MenuManager = Me.RibbonControl1
Me.TextEdit_Comment.Name = "TextEdit_Comment"
Me.TextEdit_Comment.Properties.Appearance.Font = New System.Drawing.Font("Segoe UI", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.TextEdit_Comment.Properties.Appearance.Options.UseFont = True
Me.TextEdit_Comment.Size = New System.Drawing.Size(409, 24)
Me.TextEdit_Comment.TabIndex = 41
'
'LabelControl7
'
Me.LabelControl7.Appearance.Font = New System.Drawing.Font("Segoe UI", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.LabelControl7.Appearance.Options.UseFont = True
Me.LabelControl7.Location = New System.Drawing.Point(566, 181)
Me.LabelControl7.Name = "LabelControl7"
Me.LabelControl7.Size = New System.Drawing.Size(65, 17)
Me.LabelControl7.TabIndex = 40
Me.LabelControl7.Text = "Bemerkung"
'
'LabelControl_Profil
'
Me.LabelControl_Profil.Appearance.Font = New System.Drawing.Font("Segoe UI", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.LabelControl_Profil.Appearance.Options.UseFont = True
Me.LabelControl_Profil.Location = New System.Drawing.Point(565, 126)
Me.LabelControl_Profil.Name = "LabelControl_Profil"
Me.LabelControl_Profil.Size = New System.Drawing.Size(30, 17)
Me.LabelControl_Profil.TabIndex = 42
Me.LabelControl_Profil.Text = "Profil"
'
'LookUpEditProfil
'
Me.LookUpEditProfil.Location = New System.Drawing.Point(565, 149)
Me.LookUpEditProfil.MenuManager = Me.RibbonControl1
Me.LookUpEditProfil.Name = "LookUpEditProfil"
Me.LookUpEditProfil.Properties.Appearance.Font = New System.Drawing.Font("Segoe UI", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.LookUpEditProfil.Properties.Appearance.Options.UseFont = True
Me.LookUpEditProfil.Properties.Buttons.AddRange(New DevExpress.XtraEditors.Controls.EditorButton() {New DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)})
Me.LookUpEditProfil.Size = New System.Drawing.Size(409, 24)
Me.LookUpEditProfil.TabIndex = 43
'
'LookUpEditChart
'
Me.LookUpEditChart.Location = New System.Drawing.Point(566, 149)
Me.LookUpEditChart.MenuManager = Me.RibbonControl1
Me.LookUpEditChart.Name = "LookUpEditChart"
Me.LookUpEditChart.Properties.Appearance.Font = New System.Drawing.Font("Segoe UI", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.LookUpEditChart.Properties.Appearance.Options.UseFont = True
Me.LookUpEditChart.Properties.Buttons.AddRange(New DevExpress.XtraEditors.Controls.EditorButton() {New DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)})
Me.LookUpEditChart.Size = New System.Drawing.Size(408, 24)
Me.LookUpEditChart.TabIndex = 45
'
'LabelControl_Chart
'
Me.LabelControl_Chart.Appearance.Font = New System.Drawing.Font("Segoe UI", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.LabelControl_Chart.Appearance.Options.UseFont = True
Me.LabelControl_Chart.Location = New System.Drawing.Point(566, 126)
Me.LabelControl_Chart.Name = "LabelControl_Chart"
Me.LabelControl_Chart.Size = New System.Drawing.Size(91, 17)
Me.LabelControl_Chart.TabIndex = 44
Me.LabelControl_Chart.Text = "Chart-Definition"
'
'LookUpEditMonitor
'
Me.LookUpEditMonitor.Location = New System.Drawing.Point(565, 149)
Me.LookUpEditMonitor.MenuManager = Me.RibbonControl1
Me.LookUpEditMonitor.Name = "LookUpEditMonitor"
Me.LookUpEditMonitor.Properties.Appearance.Font = New System.Drawing.Font("Segoe UI", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.LookUpEditMonitor.Properties.Appearance.Options.UseFont = True
Me.LookUpEditMonitor.Properties.Buttons.AddRange(New DevExpress.XtraEditors.Controls.EditorButton() {New DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)})
Me.LookUpEditMonitor.Size = New System.Drawing.Size(409, 24)
Me.LookUpEditMonitor.TabIndex = 47
'
'LabelControl_Monitor
'
Me.LabelControl_Monitor.Appearance.Font = New System.Drawing.Font("Segoe UI", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.LabelControl_Monitor.Appearance.Options.UseFont = True
Me.LabelControl_Monitor.Location = New System.Drawing.Point(565, 126)
Me.LabelControl_Monitor.Name = "LabelControl_Monitor"
Me.LabelControl_Monitor.Size = New System.Drawing.Size(107, 17)
Me.LabelControl_Monitor.TabIndex = 46
Me.LabelControl_Monitor.Text = "Monitor-Definition"
'
'XtraTabControl_UserGroup
'
Me.XtraTabControl_UserGroup.AllowDrop = True
Me.XtraTabControl_UserGroup.Dock = System.Windows.Forms.DockStyle.Fill
Me.XtraTabControl_UserGroup.Location = New System.Drawing.Point(0, 0)
Me.XtraTabControl_UserGroup.Name = "XtraTabControl_UserGroup"
Me.XtraTabControl_UserGroup.SelectedTabPage = Me.XtraTabPage1
Me.XtraTabControl_UserGroup.Size = New System.Drawing.Size(1451, 267)
Me.XtraTabControl_UserGroup.TabIndex = 50
Me.XtraTabControl_UserGroup.TabPages.AddRange(New DevExpress.XtraTab.XtraTabPage() {Me.XtraTabPage1, Me.XtraTabPage2})
'
'XtraTabPage1
'
Me.XtraTabPage1.Controls.Add(Me.gridAssignedUsers)
Me.XtraTabPage1.Controls.Add(Me.gridAvailableUsers)
Me.XtraTabPage1.Controls.Add(Me.PanelControl1)
Me.XtraTabPage1.Name = "XtraTabPage1"
Me.XtraTabPage1.Size = New System.Drawing.Size(1449, 244)
Me.XtraTabPage1.Text = "User zu Cockpit"
'
'gridAssignedUsers
'
Me.gridAssignedUsers.AllowDrop = True
Me.gridAssignedUsers.Dock = System.Windows.Forms.DockStyle.Fill
Me.gridAssignedUsers.Location = New System.Drawing.Point(508, 33)
Me.gridAssignedUsers.MainView = Me.viewAssignedUsers
Me.gridAssignedUsers.Name = "gridAssignedUsers"
Me.gridAssignedUsers.Size = New System.Drawing.Size(941, 211)
Me.gridAssignedUsers.TabIndex = 7
Me.gridAssignedUsers.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.viewAssignedUsers})
'
'viewAssignedUsers
'
Me.viewAssignedUsers.DetailHeight = 295
Me.viewAssignedUsers.GridControl = Me.gridAssignedUsers
Me.viewAssignedUsers.Name = "viewAssignedUsers"
Me.viewAssignedUsers.OptionsView.ShowAutoFilterRow = True
Me.viewAssignedUsers.OptionsView.ShowGroupPanel = False
'
'gridAvailableUsers
'
Me.gridAvailableUsers.AllowDrop = True
Me.gridAvailableUsers.Dock = System.Windows.Forms.DockStyle.Left
Me.gridAvailableUsers.Location = New System.Drawing.Point(0, 33)
Me.gridAvailableUsers.MainView = Me.viewAvailableUsers
Me.gridAvailableUsers.Name = "gridAvailableUsers"
Me.gridAvailableUsers.Size = New System.Drawing.Size(508, 211)
Me.gridAvailableUsers.TabIndex = 6
Me.gridAvailableUsers.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.viewAvailableUsers})
'
'viewAvailableUsers
'
Me.viewAvailableUsers.DetailHeight = 295
Me.viewAvailableUsers.GridControl = Me.gridAvailableUsers
Me.viewAvailableUsers.Name = "viewAvailableUsers"
Me.viewAvailableUsers.OptionsBehavior.Editable = False
Me.viewAvailableUsers.OptionsBehavior.ReadOnly = True
Me.viewAvailableUsers.OptionsView.ShowAutoFilterRow = True
Me.viewAvailableUsers.OptionsView.ShowGroupPanel = False
'
'PanelControl1
'
Me.PanelControl1.Controls.Add(Me.LabelControl9)
Me.PanelControl1.Controls.Add(Me.LabelControl8)
Me.PanelControl1.Dock = System.Windows.Forms.DockStyle.Top
Me.PanelControl1.Location = New System.Drawing.Point(0, 0)
Me.PanelControl1.Name = "PanelControl1"
Me.PanelControl1.Size = New System.Drawing.Size(1449, 33)
Me.PanelControl1.TabIndex = 0
'
'LabelControl9
'
Me.LabelControl9.Appearance.Font = New System.Drawing.Font("Segoe UI", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.LabelControl9.Appearance.Options.UseFont = True
Me.LabelControl9.Location = New System.Drawing.Point(409, 5)
Me.LabelControl9.Name = "LabelControl9"
Me.LabelControl9.Size = New System.Drawing.Size(106, 17)
Me.LabelControl9.TabIndex = 1
Me.LabelControl9.Text = "Zugeordnete User"
'
'LabelControl8
'
Me.LabelControl8.Appearance.Font = New System.Drawing.Font("Segoe UI", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.LabelControl8.Appearance.Options.UseFont = True
Me.LabelControl8.Location = New System.Drawing.Point(5, 5)
Me.LabelControl8.Name = "LabelControl8"
Me.LabelControl8.Size = New System.Drawing.Size(139, 17)
Me.LabelControl8.TabIndex = 0
Me.LabelControl8.Text = "Nicht zugeordnete User"
'
'XtraTabPage2
'
Me.XtraTabPage2.Controls.Add(Me.GridAssignedGroups)
Me.XtraTabPage2.Controls.Add(Me.GridAvailableGroups)
Me.XtraTabPage2.Controls.Add(Me.PanelControl2)
Me.XtraTabPage2.Name = "XtraTabPage2"
Me.XtraTabPage2.Size = New System.Drawing.Size(1449, 244)
Me.XtraTabPage2.Text = "Gruppe zu Cockpit"
'
'GridAssignedGroups
'
Me.GridAssignedGroups.AllowDrop = True
Me.GridAssignedGroups.Dock = System.Windows.Forms.DockStyle.Fill
Me.GridAssignedGroups.Location = New System.Drawing.Point(508, 33)
Me.GridAssignedGroups.MainView = Me.ViewAssignedGroups
Me.GridAssignedGroups.Name = "GridAssignedGroups"
Me.GridAssignedGroups.Size = New System.Drawing.Size(941, 211)
Me.GridAssignedGroups.TabIndex = 8
Me.GridAssignedGroups.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.ViewAssignedGroups})
'
'ViewAssignedGroups
'
Me.ViewAssignedGroups.DetailHeight = 295
Me.ViewAssignedGroups.GridControl = Me.GridAssignedGroups
Me.ViewAssignedGroups.Name = "ViewAssignedGroups"
Me.ViewAssignedGroups.OptionsView.ShowAutoFilterRow = True
Me.ViewAssignedGroups.OptionsView.ShowGroupPanel = False
'
'GridAvailableGroups
'
Me.GridAvailableGroups.AllowDrop = True
Me.GridAvailableGroups.Dock = System.Windows.Forms.DockStyle.Left
Me.GridAvailableGroups.Location = New System.Drawing.Point(0, 33)
Me.GridAvailableGroups.MainView = Me.ViewAvailableGroups
Me.GridAvailableGroups.Name = "GridAvailableGroups"
Me.GridAvailableGroups.Size = New System.Drawing.Size(508, 211)
Me.GridAvailableGroups.TabIndex = 7
Me.GridAvailableGroups.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.ViewAvailableGroups})
'
'ViewAvailableGroups
'
Me.ViewAvailableGroups.DetailHeight = 295
Me.ViewAvailableGroups.GridControl = Me.GridAvailableGroups
Me.ViewAvailableGroups.Name = "ViewAvailableGroups"
Me.ViewAvailableGroups.OptionsBehavior.Editable = False
Me.ViewAvailableGroups.OptionsBehavior.ReadOnly = True
Me.ViewAvailableGroups.OptionsView.ShowAutoFilterRow = True
Me.ViewAvailableGroups.OptionsView.ShowGroupPanel = False
'
'PanelControl2
'
Me.PanelControl2.Controls.Add(Me.LabelControl10)
Me.PanelControl2.Controls.Add(Me.LabelControl11)
Me.PanelControl2.Dock = System.Windows.Forms.DockStyle.Top
Me.PanelControl2.Location = New System.Drawing.Point(0, 0)
Me.PanelControl2.Name = "PanelControl2"
Me.PanelControl2.Size = New System.Drawing.Size(1449, 33)
Me.PanelControl2.TabIndex = 1
'
'LabelControl10
'
Me.LabelControl10.Appearance.Font = New System.Drawing.Font("Segoe UI", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.LabelControl10.Appearance.Options.UseFont = True
Me.LabelControl10.Location = New System.Drawing.Point(409, 5)
Me.LabelControl10.Name = "LabelControl10"
Me.LabelControl10.Size = New System.Drawing.Size(130, 17)
Me.LabelControl10.TabIndex = 1
Me.LabelControl10.Text = "Zugeordnete Gruppen"
'
'LabelControl11
'
Me.LabelControl11.Appearance.Font = New System.Drawing.Font("Segoe UI", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.LabelControl11.Appearance.Options.UseFont = True
Me.LabelControl11.Location = New System.Drawing.Point(5, 5)
Me.LabelControl11.Name = "LabelControl11"
Me.LabelControl11.Size = New System.Drawing.Size(163, 17)
Me.LabelControl11.TabIndex = 0
Me.LabelControl11.Text = "Nicht zugeordnete Gruppen"
'
'TextEditCockpit_Bez
'
Me.TextEditCockpit_Bez.Location = New System.Drawing.Point(417, 27)
Me.TextEditCockpit_Bez.MenuManager = Me.RibbonControl1
Me.TextEditCockpit_Bez.Name = "TextEditCockpit_Bez"
Me.TextEditCockpit_Bez.Properties.Appearance.Font = New System.Drawing.Font("Segoe UI", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.TextEditCockpit_Bez.Properties.Appearance.Options.UseFont = True
Me.TextEditCockpit_Bez.Size = New System.Drawing.Size(507, 24)
Me.TextEditCockpit_Bez.TabIndex = 55
'
'LabelControl12
'
Me.LabelControl12.Appearance.Font = New System.Drawing.Font("Segoe UI", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.LabelControl12.Appearance.Options.UseFont = True
Me.LabelControl12.Location = New System.Drawing.Point(417, 7)
Me.LabelControl12.Name = "LabelControl12"
Me.LabelControl12.Size = New System.Drawing.Size(122, 17)
Me.LabelControl12.TabIndex = 54
Me.LabelControl12.Text = "Cockpit Bezeichnung:"
'
'SplitContainerControl1
'
Me.SplitContainerControl1.Dock = System.Windows.Forms.DockStyle.Fill
Me.SplitContainerControl1.Horizontal = False
Me.SplitContainerControl1.Location = New System.Drawing.Point(0, 158)
Me.SplitContainerControl1.Name = "SplitContainerControl1"
'
'SplitContainerControl1.Panel1
'
Me.SplitContainerControl1.Panel1.Controls.Add(Me.SpinEdit_sequence)
Me.SplitContainerControl1.Panel1.Controls.Add(Me.LabelControl13)
Me.SplitContainerControl1.Panel1.Controls.Add(Me.LabelControl1)
Me.SplitContainerControl1.Panel1.Controls.Add(Me.TextEditCockpit_Bez)
Me.SplitContainerControl1.Panel1.Controls.Add(Me.LookUpEditCockpit)
Me.SplitContainerControl1.Panel1.Controls.Add(Me.LabelControl12)
Me.SplitContainerControl1.Panel1.Controls.Add(Me.CheckEdit_Cockpit_Active)
Me.SplitContainerControl1.Panel1.Controls.Add(Me.TreeList_Cockpit)
Me.SplitContainerControl1.Panel1.Controls.Add(Me.LookUpEditMonitor)
Me.SplitContainerControl1.Panel1.Controls.Add(Me.LabelControl2)
Me.SplitContainerControl1.Panel1.Controls.Add(Me.LabelControl_Monitor)
Me.SplitContainerControl1.Panel1.Controls.Add(Me.LabelControl3)
Me.SplitContainerControl1.Panel1.Controls.Add(Me.LookUpEditChart)
Me.SplitContainerControl1.Panel1.Controls.Add(Me.LabelControl4)
Me.SplitContainerControl1.Panel1.Controls.Add(Me.LabelControl_Chart)
Me.SplitContainerControl1.Panel1.Controls.Add(Me.TextEdit_PK_CFG_COCKPIT_DEFINITION_ID)
Me.SplitContainerControl1.Panel1.Controls.Add(Me.LookUpEditProfil)
Me.SplitContainerControl1.Panel1.Controls.Add(Me.TextEdit_ParentID)
Me.SplitContainerControl1.Panel1.Controls.Add(Me.LabelControl_Profil)
Me.SplitContainerControl1.Panel1.Controls.Add(Me.LookUpEditTypeID)
Me.SplitContainerControl1.Panel1.Controls.Add(Me.TextEdit_Comment)
Me.SplitContainerControl1.Panel1.Controls.Add(Me.LabelControl5)
Me.SplitContainerControl1.Panel1.Controls.Add(Me.LabelControl7)
Me.SplitContainerControl1.Panel1.Controls.Add(Me.TextEdit_Bezeichnung)
Me.SplitContainerControl1.Panel1.Controls.Add(Me.LookUpEdit_Image)
Me.SplitContainerControl1.Panel1.Controls.Add(Me.CheckEdit_Active)
Me.SplitContainerControl1.Panel1.Controls.Add(Me.LabelControl6)
Me.SplitContainerControl1.Panel1.Text = "Panel1"
'
'SplitContainerControl1.Panel2
'
Me.SplitContainerControl1.Panel2.Controls.Add(Me.XtraTabControl_UserGroup)
Me.SplitContainerControl1.Panel2.Text = "Panel2"
Me.SplitContainerControl1.ShowSplitGlyph = DevExpress.Utils.DefaultBoolean.[True]
Me.SplitContainerControl1.Size = New System.Drawing.Size(1451, 527)
Me.SplitContainerControl1.SplitterPosition = 250
Me.SplitContainerControl1.TabIndex = 58
'
'SpinEdit_sequence
'
Me.SpinEdit_sequence.EditValue = New Decimal(New Integer() {1, 0, 0, 0})
Me.SpinEdit_sequence.Location = New System.Drawing.Point(930, 99)
Me.SpinEdit_sequence.MenuManager = Me.RibbonControl1
Me.SpinEdit_sequence.Name = "SpinEdit_sequence"
Me.SpinEdit_sequence.Properties.Appearance.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.SpinEdit_sequence.Properties.Appearance.Options.UseFont = True
Me.SpinEdit_sequence.Properties.Buttons.AddRange(New DevExpress.XtraEditors.Controls.EditorButton() {New DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)})
Me.SpinEdit_sequence.Properties.MaxValue = New Decimal(New Integer() {20, 0, 0, 0})
Me.SpinEdit_sequence.Properties.MinValue = New Decimal(New Integer() {1, 0, 0, 0})
Me.SpinEdit_sequence.Size = New System.Drawing.Size(44, 20)
Me.SpinEdit_sequence.TabIndex = 58
'
'LabelControl13
'
Me.LabelControl13.Appearance.Font = New System.Drawing.Font("Segoe UI", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.LabelControl13.Appearance.Options.UseFont = True
Me.LabelControl13.Location = New System.Drawing.Point(930, 76)
Me.LabelControl13.Name = "LabelControl13"
Me.LabelControl13.Size = New System.Drawing.Size(72, 17)
Me.LabelControl13.TabIndex = 57
Me.LabelControl13.Text = "Reihenfolge:"
'
'frmCockpitConfig
'
Me.Appearance.Options.UseFont = True
Me.AutoScaleDimensions = New System.Drawing.SizeF(7.0!, 17.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(1451, 707)
Me.Controls.Add(Me.SplitContainerControl1)
Me.Controls.Add(Me.RibbonStatusBar1)
Me.Controls.Add(Me.RibbonControl1)
Me.Font = New System.Drawing.Font("Segoe UI", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.IconOptions.SvgImage = CType(resources.GetObject("frmCockpitConfig.IconOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
Me.Margin = New System.Windows.Forms.Padding(4)
Me.Name = "frmCockpitConfig"
Me.Ribbon = Me.RibbonControl1
Me.StatusBar = Me.RibbonStatusBar1
Me.Text = "Cockpit Config"
CType(Me.RibbonControl1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.LookUpEditCockpit.Properties, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.CheckEdit_Cockpit_Active.Properties, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.ImageCollection1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.TreeList_Cockpit, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.TextEdit_PK_CFG_COCKPIT_DEFINITION_ID.Properties, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.TextEdit_ParentID.Properties, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.LookUpEditTypeID.Properties, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.TextEdit_Bezeichnung.Properties, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.CheckEdit_Active.Properties, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.LookUpEdit_Image.Properties, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.TextEdit_Comment.Properties, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.LookUpEditProfil.Properties, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.LookUpEditChart.Properties, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.LookUpEditMonitor.Properties, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.XtraTabControl_UserGroup, System.ComponentModel.ISupportInitialize).EndInit()
Me.XtraTabControl_UserGroup.ResumeLayout(False)
Me.XtraTabPage1.ResumeLayout(False)
CType(Me.gridAssignedUsers, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.viewAssignedUsers, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.gridAvailableUsers, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.viewAvailableUsers, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.PanelControl1, System.ComponentModel.ISupportInitialize).EndInit()
Me.PanelControl1.ResumeLayout(False)
Me.PanelControl1.PerformLayout()
Me.XtraTabPage2.ResumeLayout(False)
CType(Me.GridAssignedGroups, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.ViewAssignedGroups, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.GridAvailableGroups, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.ViewAvailableGroups, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.PanelControl2, System.ComponentModel.ISupportInitialize).EndInit()
Me.PanelControl2.ResumeLayout(False)
Me.PanelControl2.PerformLayout()
CType(Me.TextEditCockpit_Bez.Properties, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.SplitContainerControl1.Panel1, System.ComponentModel.ISupportInitialize).EndInit()
Me.SplitContainerControl1.Panel1.ResumeLayout(False)
Me.SplitContainerControl1.Panel1.PerformLayout()
CType(Me.SplitContainerControl1.Panel2, System.ComponentModel.ISupportInitialize).EndInit()
Me.SplitContainerControl1.Panel2.ResumeLayout(False)
CType(Me.SplitContainerControl1, System.ComponentModel.ISupportInitialize).EndInit()
Me.SplitContainerControl1.ResumeLayout(False)
CType(Me.SpinEdit_sequence.Properties, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False)
Me.PerformLayout()
End Sub
Friend WithEvents RibbonControl1 As DevExpress.XtraBars.Ribbon.RibbonControl
Friend WithEvents RibbonPage1 As DevExpress.XtraBars.Ribbon.RibbonPage
Friend WithEvents RibbonPageGroup1 As DevExpress.XtraBars.Ribbon.RibbonPageGroup
Friend WithEvents RbmPgGrp_Node 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 LabelControl1 As DevExpress.XtraEditors.LabelControl
Friend WithEvents LookUpEditCockpit As DevExpress.XtraEditors.LookUpEdit
Friend WithEvents CheckEdit_Cockpit_Active As DevExpress.XtraEditors.CheckEdit
Friend WithEvents ImageCollection1 As DevExpress.Utils.ImageCollection
Friend WithEvents TreeList_Cockpit As DevExpress.XtraTreeList.TreeList
Friend WithEvents LabelControl2 As DevExpress.XtraEditors.LabelControl
Friend WithEvents LabelControl3 As DevExpress.XtraEditors.LabelControl
Friend WithEvents LabelControl4 As DevExpress.XtraEditors.LabelControl
Friend WithEvents TextEdit_PK_CFG_COCKPIT_DEFINITION_ID As DevExpress.XtraEditors.TextEdit
Friend WithEvents TextEdit_ParentID As DevExpress.XtraEditors.TextEdit
Friend WithEvents LookUpEditTypeID As DevExpress.XtraEditors.LookUpEdit
Friend WithEvents TextEdit_Bezeichnung As DevExpress.XtraEditors.TextEdit
Friend WithEvents LabelControl5 As DevExpress.XtraEditors.LabelControl
Friend WithEvents CheckEdit_Active As DevExpress.XtraEditors.CheckEdit
Friend WithEvents bbtnSQL_Data As DevExpress.XtraBars.BarButtonItem
Friend WithEvents bbtnSQL_Count As DevExpress.XtraBars.BarButtonItem
Friend WithEvents LookUpEdit_Image As DevExpress.XtraEditors.LookUpEdit
Friend WithEvents LabelControl6 As DevExpress.XtraEditors.LabelControl
Friend WithEvents bbtnitm_Save As DevExpress.XtraBars.BarButtonItem
Friend WithEvents TextEdit_Comment As DevExpress.XtraEditors.TextEdit
Friend WithEvents LabelControl7 As DevExpress.XtraEditors.LabelControl
Friend WithEvents BarButtonItem4 As DevExpress.XtraBars.BarButtonItem
Friend WithEvents bbtnitm_NodeOverviewAdd As DevExpress.XtraBars.BarButtonItem
Friend WithEvents bbtnitm_NodeProfilAdd As DevExpress.XtraBars.BarButtonItem
Friend WithEvents LabelControl_Profil As DevExpress.XtraEditors.LabelControl
Friend WithEvents LookUpEditProfil As DevExpress.XtraEditors.LookUpEdit
Friend WithEvents LookUpEditChart As DevExpress.XtraEditors.LookUpEdit
Friend WithEvents LabelControl_Chart As DevExpress.XtraEditors.LabelControl
Friend WithEvents LookUpEditMonitor As DevExpress.XtraEditors.LookUpEdit
Friend WithEvents LabelControl_Monitor As DevExpress.XtraEditors.LabelControl
Friend WithEvents bbtnitmCopy As DevExpress.XtraBars.BarButtonItem
Friend WithEvents XtraTabControl_UserGroup As DevExpress.XtraTab.XtraTabControl
Friend WithEvents XtraTabPage1 As DevExpress.XtraTab.XtraTabPage
Friend WithEvents XtraTabPage2 As DevExpress.XtraTab.XtraTabPage
Friend WithEvents gridAvailableUsers As DevExpress.XtraGrid.GridControl
Friend WithEvents viewAvailableUsers As DevExpress.XtraGrid.Views.Grid.GridView
Friend WithEvents PanelControl1 As DevExpress.XtraEditors.PanelControl
Friend WithEvents LabelControl9 As DevExpress.XtraEditors.LabelControl
Friend WithEvents LabelControl8 As DevExpress.XtraEditors.LabelControl
Friend WithEvents gridAssignedUsers As DevExpress.XtraGrid.GridControl
Friend WithEvents viewAssignedUsers As DevExpress.XtraGrid.Views.Grid.GridView
Friend WithEvents bsitm_info As DevExpress.XtraBars.BarStaticItem
Friend WithEvents PanelControl2 As DevExpress.XtraEditors.PanelControl
Friend WithEvents LabelControl10 As DevExpress.XtraEditors.LabelControl
Friend WithEvents LabelControl11 As DevExpress.XtraEditors.LabelControl
Friend WithEvents GridAssignedGroups As DevExpress.XtraGrid.GridControl
Friend WithEvents ViewAssignedGroups As DevExpress.XtraGrid.Views.Grid.GridView
Friend WithEvents GridAvailableGroups As DevExpress.XtraGrid.GridControl
Friend WithEvents ViewAvailableGroups As DevExpress.XtraGrid.Views.Grid.GridView
Friend WithEvents bbtnitm_DeleteCockpit As DevExpress.XtraBars.BarButtonItem
Friend WithEvents bbtnitm_AddCockpit As DevExpress.XtraBars.BarButtonItem
Friend WithEvents RbmPgGrp_Cockpit As DevExpress.XtraBars.Ribbon.RibbonPageGroup
Friend WithEvents bbtnitmsave_Cocpit As DevExpress.XtraBars.BarButtonItem
Friend WithEvents TextEditCockpit_Bez As DevExpress.XtraEditors.TextEdit
Friend WithEvents LabelControl12 As DevExpress.XtraEditors.LabelControl
Friend WithEvents bsitm_added_Changed As DevExpress.XtraBars.BarStaticItem
Friend WithEvents SplitContainerControl1 As DevExpress.XtraEditors.SplitContainerControl
Friend WithEvents LabelControl13 As DevExpress.XtraEditors.LabelControl
Friend WithEvents SpinEdit_sequence As DevExpress.XtraEditors.SpinEdit
End Class

View File

@@ -0,0 +1,466 @@
<?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
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAKEDAAAC77u/
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5Z
ZWxsb3d7ZmlsbDojRkZCMTE1O30KCS5CbGFja3tmaWxsOiM3MjcyNzI7fQoJLkdyZWVue2ZpbGw6IzAz
OUMyMzt9CgkuUmVke2ZpbGw6I0QxMUMxQzt9Cgkuc3Qwe29wYWNpdHk6MC43NTt9Cgkuc3Qxe29wYWNp
dHk6MC41O30KPC9zdHlsZT4NCiAgPGcgaWQ9IlVzZXIiPg0KICAgIDxwYXRoIGQ9Ik0xMCw5LjljLTAu
MSwwLjUsMC4yLDAuOSwwLjQsMS40YzAuMiwwLjUtMC4xLDEuNywwLjksMS42YzAsMCwwLDAuMSwwLDAu
MmMwLjYsMi4zLDIsNC45LDQuNyw0LjkgICBjMi43LDAsNC4yLTIuNiw0LjctNC45YzAsMCwwLTAuMSww
LTAuMWMxLDAuMSwwLjYtMS4xLDAuOS0xLjZjMC4yLTAuNSwwLjQtMC45LDAuMy0xLjRjLTAuMS0wLjQt
MC40LTAuNC0wLjUtMC4zICAgYzEuOC00LjktMS4xLTQuNy0xLjEtNC43UzIwLDIsMTQuOCwyQzEwLDIs
OS40LDYsMTAuNSw5LjZDMTAuNCw5LjYsMTAuMSw5LjcsMTAsOS45eiIgY2xhc3M9IkJsYWNrIiAvPg0K
ICAgIDxwYXRoIGQ9Ik0yMCwxOGMtMC44LDEuNS0yLjEsNC00LDRjLTEuOSwwLTMuMi0yLjUtNC00Yy0y
LjMsMy41LTgsMS04LDguNVYzMGgyNHYtMy41QzI4LDE5LjEsMjIuMywyMS40LDIwLDE4eiIgY2xhc3M9
IkJsYWNrIiAvPg0KICA8L2c+DQo8L3N2Zz4L
</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
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAC4DAAAC77u/
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5Z
ZWxsb3d7ZmlsbDojRkZCMTE1O30KCS5CbGFja3tmaWxsOiM3MjcyNzI7fQoJLkdyZWVue2ZpbGw6IzAz
OUMyMzt9CgkuUmVke2ZpbGw6I0QxMUMxQzt9Cgkuc3Qwe29wYWNpdHk6MC43NTt9Cgkuc3Qxe29wYWNp
dHk6MC41O30KPC9zdHlsZT4NCiAgPGcgaWQ9IlJlZnJlc2hfMV8iPg0KICAgIDxwYXRoIGQ9Ik0yNC41
LDcuNUMyMi4zLDUuMywxOS4zLDQsMTYsNEMxMC4xLDQsNS4xLDguMyw0LjIsMTRoNC4xYzAuOS0zLjQs
NC02LDcuNy02YzIuMiwwLDQuMiwwLjksNS42LDIuNEwxOCwxNCAgIGg1LjdoNC4xSDI4VjRMMjQuNSw3
LjV6IiBjbGFzcz0iR3JlZW4iIC8+DQogICAgPHBhdGggZD0iTTE2LjIsMjRjLTIuMiwwLTQuMi0wLjkt
NS42LTIuNGwzLjYtMy42SDguNEg0LjRINC4ydjEwbDMuNS0zLjVjMi4yLDIuMiw1LjIsMy41LDguNSwz
LjUgICBDMjIuMSwyOCwyNywyMy43LDI4LDE4aC00LjFDMjMsMjEuNCwxOS45LDI0LDE2LjIsMjR6IiBj
bGFzcz0iR3JlZW4iIC8+DQogIDwvZz4NCjwvc3ZnPgs=
</value>
</data>
<data name="bbtnSQL_Data.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAADIDAAAC77u/
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5Z
ZWxsb3d7ZmlsbDojRkZCMTE1O30KCS5CbGFja3tmaWxsOiM3MjcyNzI7fQoJLkdyZWVue2ZpbGw6IzAz
OUMyMzt9CgkuUmVke2ZpbGw6I0QxMUMxQzt9Cgkuc3Qwe29wYWNpdHk6MC43NTt9Cgkuc3Qxe29wYWNp
dHk6MC41O30KPC9zdHlsZT4NCiAgPGcgaWQ9IkRhdGFiYXNlIj4NCiAgICA8cGF0aCBkPSJNMTYsMjRj
LTUuNSwwLTEwLTEuOC0xMC00djRjMCwyLjIsNC41LDQsMTAsNHMxMC0xLjgsMTAtNHYtNEMyNiwyMi4y
LDIxLjUsMjQsMTYsMjR6IiBjbGFzcz0iWWVsbG93IiAvPg0KICAgIDxwYXRoIGQ9Ik0xNiwxOGMtNS41
LDAtMTAtMS44LTEwLTR2NGMwLDIuMiw0LjUsNCwxMCw0czEwLTEuOCwxMC00di00QzI2LDE2LjIsMjEu
NSwxOCwxNiwxOHoiIGNsYXNzPSJZZWxsb3ciIC8+DQogICAgPHBhdGggZD0iTTE2LDRDMTAuNSw0LDYs
NS44LDYsOHY0YzAsMi4yLDQuNSw0LDEwLDRzMTAtMS44LDEwLTRWOEMyNiw1LjgsMjEuNSw0LDE2LDR6
IiBjbGFzcz0iWWVsbG93IiAvPg0KICA8L2c+DQo8L3N2Zz4L
</value>
</data>
<data name="bbtnSQL_Count.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAADIDAAAC77u/
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5Z
ZWxsb3d7ZmlsbDojRkZCMTE1O30KCS5CbGFja3tmaWxsOiM3MjcyNzI7fQoJLkdyZWVue2ZpbGw6IzAz
OUMyMzt9CgkuUmVke2ZpbGw6I0QxMUMxQzt9Cgkuc3Qwe29wYWNpdHk6MC43NTt9Cgkuc3Qxe29wYWNp
dHk6MC41O30KPC9zdHlsZT4NCiAgPGcgaWQ9IkRhdGFiYXNlIj4NCiAgICA8cGF0aCBkPSJNMTYsMjRj
LTUuNSwwLTEwLTEuOC0xMC00djRjMCwyLjIsNC41LDQsMTAsNHMxMC0xLjgsMTAtNHYtNEMyNiwyMi4y
LDIxLjUsMjQsMTYsMjR6IiBjbGFzcz0iWWVsbG93IiAvPg0KICAgIDxwYXRoIGQ9Ik0xNiwxOGMtNS41
LDAtMTAtMS44LTEwLTR2NGMwLDIuMiw0LjUsNCwxMCw0czEwLTEuOCwxMC00di00QzI2LDE2LjIsMjEu
NSwxOCwxNiwxOHoiIGNsYXNzPSJZZWxsb3ciIC8+DQogICAgPHBhdGggZD0iTTE2LDRDMTAuNSw0LDYs
NS44LDYsOHY0YzAsMi4yLDQuNSw0LDEwLDRzMTAtMS44LDEwLTRWOEMyNiw1LjgsMjEuNSw0LDE2LDR6
IiBjbGFzcz0iWWVsbG93IiAvPg0KICA8L2c+DQo8L3N2Zz4L
</value>
</data>
<data name="bbtnitm_Save.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAMICAAAC77u/
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsYWNre2ZpbGw6IzczNzM3NDt9Cgku
WWVsbG93e2ZpbGw6I0ZDQjAxQjt9CgkuR3JlZW57ZmlsbDojMTI5QzQ5O30KCS5CbHVle2ZpbGw6IzM4
N0NCNzt9CgkuUmVke2ZpbGw6I0QwMjEyNzt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh
Y2l0eTowLjU7fQoJLnN0MXtvcGFjaXR5OjAuNzU7fQoJLnN0MntvcGFjaXR5OjAuMjU7fQoJLnN0M3tk
aXNwbGF5Om5vbmU7ZmlsbDojNzM3Mzc0O30KPC9zdHlsZT4NCiAgPHBhdGggZD0iTTI3LDRoLTN2MTBI
OFY0SDVDNC40LDQsNCw0LjQsNCw1djIyYzAsMC42LDAuNCwxLDEsMWgyMmMwLjYsMCwxLTAuNCwxLTFW
NUMyOCw0LjQsMjcuNiw0LDI3LDR6IE0yNCwyNEg4di02ICBoMTZWMjR6IE0xMCw0djhoMTBWNEgxMHog
TTE0LDEwaC0yVjZoMlYxMHoiIGNsYXNzPSJCbGFjayIgLz4NCjwvc3ZnPgs=
</value>
</data>
<data name="BarButtonItem4.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAD4DAAAC77u/
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsYWNre2ZpbGw6IzczNzM3NDt9Cgku
WWVsbG93e2ZpbGw6I0ZDQjAxQjt9CgkuR3JlZW57ZmlsbDojMTI5QzQ5O30KCS5CbHVle2ZpbGw6IzM4
N0NCNzt9CgkuUmVke2ZpbGw6I0QwMjEyNzt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh
Y2l0eTowLjU7fQoJLnN0MXtvcGFjaXR5OjAuNzU7fQoJLnN0MntvcGFjaXR5OjAuMjU7fQoJLnN0M3tk
aXNwbGF5Om5vbmU7ZmlsbDojNzM3Mzc0O30KPC9zdHlsZT4NCiAgPHBhdGggZD0iTTE4LjgsMTZsOC45
LTguOWMwLjQtMC40LDAuNC0xLDAtMS40bC0xLjQtMS40Yy0wLjQtMC40LTEtMC40LTEuNCwwTDE2LDEz
LjJMNy4xLDQuM2MtMC40LTAuNC0xLTAuNC0xLjQsMCAgTDQuMyw1LjdjLTAuNCwwLjQtMC40LDEsMCwx
LjRsOC45LDguOWwtOC45LDguOWMtMC40LDAuNC0wLjQsMSwwLDEuNGwxLjQsMS40YzAuNCwwLjQsMSww
LjQsMS40LDBsOC45LTguOWw4LjksOC45ICBjMC40LDAuNCwxLDAuNCwxLjQsMGwxLjQtMS40YzAuNC0w
LjQsMC40LTEsMC0xLjRMMTguOCwxNnoiIGNsYXNzPSJSZWQiIC8+DQo8L3N2Zz4L
</value>
</data>
<data name="bbtnitm_NodeOverviewAdd.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAGICAAAC77u/
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5Z
ZWxsb3d7ZmlsbDojRkZCMTE1O30KCS5CbGFja3tmaWxsOiM3MjcyNzI7fQoJLkdyZWVue2ZpbGw6IzAz
OUMyMzt9CgkuUmVke2ZpbGw6I0QxMUMxQzt9Cgkuc3Qwe29wYWNpdHk6MC43NTt9Cgkuc3Qxe29wYWNp
dHk6MC41O30KPC9zdHlsZT4NCiAgPGcgaWQ9IkFkZENpcmNsZWQiPg0KICAgIDxwYXRoIGQ9Ik0xNiw0
QzkuNCw0LDQsOS40LDQsMTZzNS40LDEyLDEyLDEyczEyLTUuNCwxMi0xMlMyMi42LDQsMTYsNHogTTI0
LDE4aC02djZoLTR2LTZIOHYtNGg2VjhoNHY2aDZWMTh6IiBjbGFzcz0iR3JlZW4iIC8+DQogIDwvZz4N
Cjwvc3ZnPgs=
</value>
</data>
<data name="bbtnitm_NodeProfilAdd.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAGICAAAC77u/
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5Z
ZWxsb3d7ZmlsbDojRkZCMTE1O30KCS5CbGFja3tmaWxsOiM3MjcyNzI7fQoJLkdyZWVue2ZpbGw6IzAz
OUMyMzt9CgkuUmVke2ZpbGw6I0QxMUMxQzt9Cgkuc3Qwe29wYWNpdHk6MC43NTt9Cgkuc3Qxe29wYWNp
dHk6MC41O30KPC9zdHlsZT4NCiAgPGcgaWQ9IkFkZENpcmNsZWQiPg0KICAgIDxwYXRoIGQ9Ik0xNiw0
QzkuNCw0LDQsOS40LDQsMTZzNS40LDEyLDEyLDEyczEyLTUuNCwxMi0xMlMyMi42LDQsMTYsNHogTTI0
LDE4aC02djZoLTR2LTZIOHYtNGg2VjhoNHY2aDZWMTh6IiBjbGFzcz0iR3JlZW4iIC8+DQogIDwvZz4N
Cjwvc3ZnPgs=
</value>
</data>
<data name="bbtnitmCopy.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAMcCAAAC77u/
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLlllbGxvd3tmaWxsOiNGRkIxMTU7fQoJ
LlJlZHtmaWxsOiNEMTFDMUM7fQoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5HcmVlbntmaWxsOiMwMzlD
MjM7fQoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh
Y2l0eTowLjc1O30KPC9zdHlsZT4NCiAgPGcgaWQ9IkNvcHkiPg0KICAgIDxwYXRoIGQ9Ik0yMSwySDEx
Yy0wLjUsMC0xLDAuNS0xLDF2NUg1QzQuNSw4LDQsOC41LDQsOXYyMGMwLDAuNSwwLjUsMSwxLDFoMTZj
MC41LDAsMS0wLjUsMS0xdi01aDVjMC41LDAsMS0wLjUsMS0xICAgVjlMMjEsMnogTTIwLDI4SDZWMTBo
OHY1YzAsMC41LDAuNSwxLDEsMWg1VjI4eiBNMjYsMjJoLTR2LTdsLTctN2gtM1Y0aDh2NWMwLDAuNSww
LjUsMSwxLDFoNVYyMnoiIGNsYXNzPSJCbGFjayIgLz4NCiAgPC9nPg0KPC9zdmc+Cw==
</value>
</data>
<data name="bsitm_info.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAABsDAAAC77u/
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLlllbGxvd3tmaWxsOiNGRkIxMTU7fQoJ
LlJlZHtmaWxsOiNEMTFDMUM7fQoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5HcmVlbntmaWxsOiMwMzlD
MjM7fQoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh
Y2l0eTowLjU7fQoJLnN0MXtkaXNwbGF5Om5vbmU7fQoJLnN0MntkaXNwbGF5OmlubGluZTtmaWxsOiMw
MzlDMjM7fQoJLnN0M3tkaXNwbGF5OmlubGluZTtmaWxsOiNEMTFDMUM7fQoJLnN0NHtkaXNwbGF5Omlu
bGluZTtmaWxsOiM3MjcyNzI7fQo8L3N0eWxlPg0KICA8ZyBpZD0iQWJvdXQiPg0KICAgIDxwYXRoIGQ9
Ik0xNiwyQzguMywyLDIsOC4zLDIsMTZzNi4zLDE0LDE0LDE0czE0LTYuMywxNC0xNFMyMy43LDIsMTYs
MnogTTE2LDZjMS4xLDAsMiwwLjksMiwycy0wLjksMi0yLDJzLTItMC45LTItMiAgIFMxNC45LDYsMTYs
NnogTTIwLDI0aC04di0yaDJ2LThoLTJ2LTJoMmg0djEwaDJWMjR6IiBjbGFzcz0iQmx1ZSIgLz4NCiAg
PC9nPg0KPC9zdmc+Cw==
</value>
</data>
<data name="bbtnitm_DeleteCockpit.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAD4DAAAC77u/
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsYWNre2ZpbGw6IzczNzM3NDt9Cgku
WWVsbG93e2ZpbGw6I0ZDQjAxQjt9CgkuR3JlZW57ZmlsbDojMTI5QzQ5O30KCS5CbHVle2ZpbGw6IzM4
N0NCNzt9CgkuUmVke2ZpbGw6I0QwMjEyNzt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh
Y2l0eTowLjU7fQoJLnN0MXtvcGFjaXR5OjAuNzU7fQoJLnN0MntvcGFjaXR5OjAuMjU7fQoJLnN0M3tk
aXNwbGF5Om5vbmU7ZmlsbDojNzM3Mzc0O30KPC9zdHlsZT4NCiAgPHBhdGggZD0iTTE4LjgsMTZsOC45
LTguOWMwLjQtMC40LDAuNC0xLDAtMS40bC0xLjQtMS40Yy0wLjQtMC40LTEtMC40LTEuNCwwTDE2LDEz
LjJMNy4xLDQuM2MtMC40LTAuNC0xLTAuNC0xLjQsMCAgTDQuMyw1LjdjLTAuNCwwLjQtMC40LDEsMCwx
LjRsOC45LDguOWwtOC45LDguOWMtMC40LDAuNC0wLjQsMSwwLDEuNGwxLjQsMS40YzAuNCwwLjQsMSww
LjQsMS40LDBsOC45LTguOWw4LjksOC45ICBjMC40LDAuNCwxLDAuNCwxLjQsMGwxLjQtMS40YzAuNC0w
LjQsMC40LTEsMC0xLjRMMTguOCwxNnoiIGNsYXNzPSJSZWQiIC8+DQo8L3N2Zz4L
</value>
</data>
<data name="bbtnitm_AddCockpit.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAGICAAAC77u/
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5Z
ZWxsb3d7ZmlsbDojRkZCMTE1O30KCS5CbGFja3tmaWxsOiM3MjcyNzI7fQoJLkdyZWVue2ZpbGw6IzAz
OUMyMzt9CgkuUmVke2ZpbGw6I0QxMUMxQzt9Cgkuc3Qwe29wYWNpdHk6MC43NTt9Cgkuc3Qxe29wYWNp
dHk6MC41O30KPC9zdHlsZT4NCiAgPGcgaWQ9IkFkZENpcmNsZWQiPg0KICAgIDxwYXRoIGQ9Ik0xNiw0
QzkuNCw0LDQsOS40LDQsMTZzNS40LDEyLDEyLDEyczEyLTUuNCwxMi0xMlMyMi42LDQsMTYsNHogTTI0
LDE4aC02djZoLTR2LTZIOHYtNGg2VjhoNHY2aDZWMTh6IiBjbGFzcz0iR3JlZW4iIC8+DQogIDwvZz4N
Cjwvc3ZnPgs=
</value>
</data>
<data name="bbtnitmsave_Cocpit.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAMICAAAC77u/
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsYWNre2ZpbGw6IzczNzM3NDt9Cgku
WWVsbG93e2ZpbGw6I0ZDQjAxQjt9CgkuR3JlZW57ZmlsbDojMTI5QzQ5O30KCS5CbHVle2ZpbGw6IzM4
N0NCNzt9CgkuUmVke2ZpbGw6I0QwMjEyNzt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh
Y2l0eTowLjU7fQoJLnN0MXtvcGFjaXR5OjAuNzU7fQoJLnN0MntvcGFjaXR5OjAuMjU7fQoJLnN0M3tk
aXNwbGF5Om5vbmU7ZmlsbDojNzM3Mzc0O30KPC9zdHlsZT4NCiAgPHBhdGggZD0iTTI3LDRoLTN2MTBI
OFY0SDVDNC40LDQsNCw0LjQsNCw1djIyYzAsMC42LDAuNCwxLDEsMWgyMmMwLjYsMCwxLTAuNCwxLTFW
NUMyOCw0LjQsMjcuNiw0LDI3LDR6IE0yNCwyNEg4di02ICBoMTZWMjR6IE0xMCw0djhoMTBWNEgxMHog
TTE0LDEwaC0yVjZoMlYxMHoiIGNsYXNzPSJCbGFjayIgLz4NCjwvc3ZnPgs=
</value>
</data>
<metadata name="ImageCollection1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<assembly alias="DevExpress.Utils.v21.2" name="DevExpress.Utils.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<data name="ImageCollection1.ImageStream" type="DevExpress.Utils.ImageCollectionStreamer, DevExpress.Utils.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFpEZXZFeHByZXNzLlV0aWxzLnYyMS4yLCBWZXJzaW9uPTIxLjIu
NC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEMAwAAAFFT
eXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRv
a2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAAChEZXZFeHByZXNzLlV0aWxzLkltYWdlQ29sbGVjdGlvblN0
cmVhbWVyAgAAAAlJbWFnZVNpemUERGF0YQQHE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAAgIAAAAF/P//
/xNTeXN0ZW0uRHJhd2luZy5TaXplAgAAAAV3aWR0aAZoZWlnaHQAAAgIAwAAABgAAAAYAAAACQUAAAAP
BQAAACcLAAAC+gIAAIlQTkcNChoKAAAADUlIRFIAAAAYAAAAGAgGAAAA4Hc9+AAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADrwAAA68AZW8ckkAAAKcSURBVEhL3ZTLaxNRFMYLrvRfkD4yc5OgFeeZIIiLVkrV
Jq1O6SNGqxUhCtZVkWBIbQitdOVS3AlZtXUnKAq1mUcmr6aPpCVod9KmuBbXn8z0NTMki9Yuij/4uDNn
7jnfnLl3blPTf4PO0NBYAp2lkGFc0BgXVMaF/GUKzrnHQhbcSItepHkCjaWg827IXBt0jj4w0JhmKIwL
CkdD4QhUjoLKUrsjR5l5Km/kEhRZYn8xxUeQET3QuGYU2BbzocpeRMZi8E8oAo0lznNQTObdWDS7cbzJ
cTE+kc57kGM8ZlGNd0MR3MjxhwYK14o0TyEtEhgdy37alC4SfLne8dte0cE3H420QGCuBU+wKO4mZ32H
XZ1+5ubmzjjlnHNsMqwLMu9CWmjGgq8FC/4WyCKFPHtC/4Gxd50xg7wlXpFuoizdwNrALZSHAqhYNRjA
+lAP1ocDqA734UdIstczdo0tsEdWrG98ZDJC/UJWg5XXiZ5qLJoyNRFLVeMvU9V4NPU9Hk3Zs+qgCjSy
b9+0OeNWg1pEwtbTAWyNhQ60PTaM2rNBFGZmvPZMB5+uMn8UgTIXdl+qSENr0NnpQ74moMgR5AWCrOA2
tcQSrF44ocOuwBN8HXnU+/H5k0vvOzvPf5Ck1s+PR9qXLbtrdXraU4pNRlYmkqZKhianIqVYMmLG958l
k5Gfs7NnbQZ5f/0zp2g5izb7e1AJBbAWDmLtXi8q9wOoGKOhcBDrd4PYCPViIxTE5mDAXi9/xVvXoJHx
kWlkYO1gJxxELdyH7Qe3URvtx86ohNrDO/g10ofS+HjCnulA9xEURQq6n0ZO9CInelAQPLAaLL17da4c
f9FVTsS7ylMJU8tTcfPeXq0B890d7fPBPRnX3R3tzjlH5S88LZDGXf/36QAAAABJRU5ErkJggjMCAACJ
UE5HDQoaCgAAAA1JSERSAAAAGAAAABgIBgAAAOB3PfgAAAAEZ0FNQQAAsY8L/GEFAAAACXBIWXMAAA68
AAAOvAGVvHJJAAAB1UlEQVRIS+2Uu24aQRSGz7hImqTLA1DQpIwiFCF5l9vewciSCysRRap0KEqRmhoW
h1swVdLbZaS8gzsXKfwGlgs3thUMhuGPZmE3u3iXTBuJTxrtzsw58885c2aItvzXAGDh/vnHz/vhfiL1
ev1pmwib2hEReozg+4yNPO7VXfx4++FFdLUY/EWa6ZeXbragullFdbO66v1nCmono6idV1nVt59Ubcz1
HKZFLRBMxGWEL/R3Z//iyrHvFmUD3LbkfI5YNPRNnOzV0twpAZWKlL2HSE1fUoCXC1hU7MB2dFh7H7WI
QaRowFjgdK/lcK3ojwR5WcesYgbjp43Gk4FMaoVAP2Q4MRQ86CrO9t9998dmtoa5o+PWrAZ2LmMYhjaW
iDBcP4OpXcC8tKyQX7XaT24VwZ3ooUoLtBIO+cHMg2sm5oaGmfW4HEXkUgJxEQh+20VMzBy4ZeJCq96s
z7cYw/GOjICoooTDGlsKpkYpdq7pCcT7RRARhKtIFukUiTcmKYJNiNv/VUZg8Ow57xFBqqZX9GgZtZtK
3a3PxSIEjlc57RKhs3qfRBP/fl/MDRmh641J7D7M6PWbjrc4MbQZQ4vIa83VV1RNe2d56785B5/W/bdI
8werE/HGFidAHwAAAABJRU5ErkJgghADAACJUE5HDQoaCgAAAA1JSERSAAAAGAAAABgIBgAAAOB3PfgA
AAAEZ0FNQQAAsY8L/GEFAAAACXBIWXMAAA68AAAOvAGVvHJJAAACsklEQVRIS8VVzW7TQBDOc/AeHKom
3t2Z3bVDy08R4gaqKvUZOHDoK3BDvAEHClVVceEaqKqCWtvrnyQOVPAKnHL50Dp2G6WtRNUIPmnl8ex4
/vzNbqfzr1BqRmIJJyzgKEBqAqTUw4nqIWYvC5yqHhK/pwI42UMiu8ikQKYEYtGF4wA5CZQqwNH9dZw7
H3IPLlRwTMhZISMB1zpjgZgEUpLImXAqAiRKoGBCyVQ7T5v3jCUcC4wNoSCJD0+fvKoDVMYgtuIi4hJQ
WMaYejOfmVZIIrPcAEZhTE3SpWHERt0owN7W5tbu9vbdRX2LMtIYa9lUYBTcDQNUljHkxsEVKO9pTAzN
9lOtcHqN8YglDiP7e153pro4I4VKS0xE0+cF5BGhapPOrMJXvmw4oi5OwwCjhepKffE+vKby3EqMTZO0
04RvTQW7L19QznJaapoWfV3rciNRqZVarqiLn3L13GllFX7JALmmqeP+tNVnhjBpg6da4iSc9evTo4fT
UksUhjBqM+h0OhPNtfzdzILOo6AAuVEo9AXVc0uYUNC2iHA8t3kVCruKLFIYqcutvAp+Dn5wU0EeMo7n
sr0OZ3LWpr9B1beYtDTNrcY321BqSSisxLAdtCQkxNFyA3hilC31i0hj1PZrSfAkKbmpwE9lbhmJFki0
bJaqn84SYn+isj9RZ6zIjETCAp4cfqVGIW5s/f9MWNb6hOe64rSqDVNLcGZ2N/jlLMNPemwVEiOxt7Nz
x5ef2pltYhVcSEj8cRNq5KGGM4T8Cjr/X2S0gpy7yGgVJa9i9/HG60WbW6FSBMcSZd/AD9HB883lBjix
Ap+twlFf4zBivH229WbR5sZ492Djy9D/MBXUnPZyfV8bAX8LZiSR3XZ+Pobrg/1obbAfrQ8OogvZr/fR
2uDArg8Wv5nHH4RP7Rpx+BP5AAAAAElFTkSuQmCC2gIAAIlQTkcNChoKAAAADUlIRFIAAAAYAAAAGAgG
AAAA4Hc9+AAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADrwAAA68AZW8ckkAAAJ8SURBVEhL3VXNbtNA
EPaBQx+CQ2t7HSde24l6yKGAk1IREBd+GnCjVgEunLkgVQj1CXgCDrlwRXkEUA48AGpVQqWIZmNDiNcO
eYFB42Bn3VAoNFz4pNHO7oz9eXZnP0vSf4NAocA1CoFSgEgzISImcM2GQKUQEQtCzYSQUOCqEY8453HM
jP0IY7ge55jAV3RIX/6x0XyZYVsA8EPSyeH2zsIJQoUKFTQfzRFw2QCuWhAoBoxVIfmM4Ct5gcDdzhAE
cgFCZVaip5egd+3mazGnXS4vt8vOcrtWS+3N3tOLSTwSnpcOG7MtOtp6UEOCNChJUq9atY/ubD77cNe1
xPVfIVKECrrNhykBl+e3I9SseI2vzIj7t+51/Lrb8etbneP1G6/YptvprVVfJPHMIe/XG6cShMI8Eg/u
NwhJpotmbcqJnQbGxIp7PY0J/oBYE0+zJz6aak08lU48Wv6WxEOxgp910XmRvQfCIS8Kodgo4hksCqEs
dNHBOSrYc5wl1KqT65kKMlvkOBecH5bxT2AkT/e45ThLXJ4K25jMmiBQBYKDnT8XO5QSHLECrhjQz9vv
UFqSeCTKy75QAbtUbfUrV1t+ZaPFKhutT1eq8di/ff95kjNCKZENeL+7q/ceP7FRr7CFcT3JyUqFcA/O
Anw5Xjq82eiHsgljmcZ+khNpopoK/wMvR5mnW8zPl9jnXIn5GmXHOcpY+XI3jhfL3iBfZH5+lXl6kQ1y
RebpJeajFUrMN1bZHEHX/fsuOg34h0snvtu8nokuAHO69ZWYEJtCYagaMEIfR4VCkLOmc2LCSLNgiAeK
ljxDTBjKBfhC8FkKQ9kAtrb+NkPwr/Ad3DFsyGIxcj4AAAAASUVORK5CYIIL
</value>
</data>
<data name="frmCockpitConfig.IconOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAIkDAAAC77u/
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkdyZWVue2ZpbGw6IzAzOUMyMzt9Cgku
QmxhY2t7ZmlsbDojNzI3MjcyO30KCS5SZWR7ZmlsbDojRDExQzFDO30KCS5ZZWxsb3d7ZmlsbDojRkZC
MTE1O30KCS5CbHVle2ZpbGw6IzExNzdENzt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh
Y2l0eTowLjU7fQoJLnN0MXtvcGFjaXR5OjAuNzU7fQo8L3N0eWxlPg0KICA8ZyBpZD0iSW5zZXJ0VHJl
ZVZpZXciPg0KICAgIDxwYXRoIGQ9Ik0xMyw4SDVDNC40LDgsNCw3LjYsNCw3VjNjMC0wLjUsMC40LTEs
MS0xaDhjMC42LDAsMSwwLjUsMSwxdjRDMTQsNy42LDEzLjYsOCwxMyw4eiBNMjYsMTd2LTQgICBjMC0w
LjYtMC41LTEtMS0xaC04Yy0wLjUsMC0xLDAuNC0xLDF2NGMwLDAuNSwwLjUsMSwxLDFoOEMyNS41LDE4
LDI2LDE3LjUsMjYsMTd6IE0yNiwyN3YtNGMwLTAuNS0wLjUtMS0xLTFoLThjLTAuNSwwLTEsMC41LTEs
MSAgIHY0YzAsMC41LDAuNSwxLDEsMWg4QzI1LjUsMjgsMjYsMjcuNSwyNiwyN3oiIGNsYXNzPSJZZWxs
b3ciIC8+DQogICAgPHBvbHlnb24gcG9pbnRzPSIxNCwxNiAxNCwxNCAxMCwxNCAxMCwxMCA4LDEwIDgs
MjYgMTQsMjYgMTQsMjQgMTAsMjQgMTAsMTYgICIgY2xhc3M9IkJsYWNrIiAvPg0KICA8L2c+DQo8L3N2
Zz4L
</value>
</data>
</root>

File diff suppressed because it is too large Load Diff

View File

@@ -93,6 +93,7 @@ Partial Class frmColumn_Detail
Me.LayoutControlItem26 = New DevExpress.XtraLayout.LayoutControlItem()
Me.LayoutControlItem27 = New DevExpress.XtraLayout.LayoutControlItem()
Me.LayoutControlItem15 = New DevExpress.XtraLayout.LayoutControlItem()
Me.BarButtonItem3 = New DevExpress.XtraBars.BarButtonItem()
CType(Me.TBPM_CONTROL_TABLEBindingSource, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.DD_DMSLiteDataSet, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.RibbonControl1, System.ComponentModel.ISupportInitialize).BeginInit()
@@ -183,11 +184,13 @@ Partial Class frmColumn_Detail
'RibbonControl1
'
Me.RibbonControl1.CommandLayout = DevExpress.XtraBars.Ribbon.CommandLayout.Simplified
Me.RibbonControl1.EmptyAreaImageOptions.ImagePadding = New System.Windows.Forms.Padding(40, 44, 40, 44)
Me.RibbonControl1.ExpandCollapseItem.Id = 0
Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.RibbonControl1.SearchEditItem, Me.BarButtonItem1, Me.BarButtonItem2, Me.tslblAenderungen})
Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.RibbonControl1.SearchEditItem, Me.BarButtonItem1, Me.BarButtonItem2, Me.tslblAenderungen, Me.BarButtonItem3})
resources.ApplyResources(Me.RibbonControl1, "RibbonControl1")
Me.RibbonControl1.MaxItemId = 5
Me.RibbonControl1.MaxItemId = 6
Me.RibbonControl1.Name = "RibbonControl1"
Me.RibbonControl1.OptionsMenuMinWidth = 440
Me.RibbonControl1.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.RibbonPage1})
Me.RibbonControl1.ShowApplicationButton = DevExpress.Utils.DefaultBoolean.[False]
Me.RibbonControl1.ShowPageHeadersMode = DevExpress.XtraBars.Ribbon.ShowPageHeadersMode.Hide
@@ -199,7 +202,7 @@ Partial Class frmColumn_Detail
'
resources.ApplyResources(Me.BarButtonItem1, "BarButtonItem1")
Me.BarButtonItem1.Id = 1
Me.BarButtonItem1.ImageOptions.SvgImage = Global.taskFLOW.My.Resources.Resources.markcomplete
Me.BarButtonItem1.ImageOptions.SvgImage = CType(resources.GetObject("BarButtonItem1.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
Me.BarButtonItem1.Name = "BarButtonItem1"
'
'BarButtonItem2
@@ -225,6 +228,7 @@ Partial Class frmColumn_Detail
'RibbonPageGroup1
'
Me.RibbonPageGroup1.ItemLinks.Add(Me.BarButtonItem1)
Me.RibbonPageGroup1.ItemLinks.Add(Me.BarButtonItem3)
Me.RibbonPageGroup1.ItemLinks.Add(Me.BarButtonItem2)
Me.RibbonPageGroup1.Name = "RibbonPageGroup1"
resources.ApplyResources(Me.RibbonPageGroup1, "RibbonPageGroup1")
@@ -502,7 +506,7 @@ Partial Class frmColumn_Detail
Me.Root.GroupBordersVisible = False
Me.Root.Items.AddRange(New DevExpress.XtraLayout.BaseLayoutItem() {Me.LayoutControlItem1, Me.LayoutControlItem2, Me.LayoutControlItem3, Me.LayoutControlItem4, Me.LayoutControlItem5, Me.LayoutControlItem6, Me.LayoutControlItem8, Me.LayoutControlItem7, Me.LayoutControlItem9, Me.LayoutControlItem10, Me.LayoutControlItem12, Me.LayoutControlItem11, Me.LayoutControlItem13, Me.LayoutControlGroup1, Me.LayoutControlItem18, Me.LayoutControlItem19, Me.LayoutControlItem23, Me.LayoutControlItem21, Me.LayoutControlItem24, Me.LayoutControlItem26, Me.LayoutControlItem27, Me.LayoutControlItem15})
Me.Root.Name = "Root"
Me.Root.Size = New System.Drawing.Size(630, 853)
Me.Root.Size = New System.Drawing.Size(840, 1255)
Me.Root.TextVisible = False
'
'LayoutControlItem1
@@ -510,135 +514,135 @@ Partial Class frmColumn_Detail
Me.LayoutControlItem1.Control = Me.GUIDTextBox
Me.LayoutControlItem1.Location = New System.Drawing.Point(0, 0)
Me.LayoutControlItem1.Name = "LayoutControlItem1"
Me.LayoutControlItem1.Padding = New DevExpress.XtraLayout.Utils.Padding(10, 10, 10, 10)
Me.LayoutControlItem1.Size = New System.Drawing.Size(610, 40)
Me.LayoutControlItem1.Padding = New DevExpress.XtraLayout.Utils.Padding(13, 13, 15, 15)
Me.LayoutControlItem1.Size = New System.Drawing.Size(814, 52)
resources.ApplyResources(Me.LayoutControlItem1, "LayoutControlItem1")
Me.LayoutControlItem1.TextSize = New System.Drawing.Size(110, 13)
Me.LayoutControlItem1.TextSize = New System.Drawing.Size(140, 16)
'
'LayoutControlItem2
'
Me.LayoutControlItem2.Control = Me.SPALTENNAMETextBox
Me.LayoutControlItem2.Location = New System.Drawing.Point(0, 40)
Me.LayoutControlItem2.Location = New System.Drawing.Point(0, 52)
Me.LayoutControlItem2.Name = "LayoutControlItem2"
Me.LayoutControlItem2.Padding = New DevExpress.XtraLayout.Utils.Padding(10, 10, 10, 10)
Me.LayoutControlItem2.Size = New System.Drawing.Size(610, 40)
Me.LayoutControlItem2.Padding = New DevExpress.XtraLayout.Utils.Padding(13, 13, 15, 15)
Me.LayoutControlItem2.Size = New System.Drawing.Size(814, 52)
resources.ApplyResources(Me.LayoutControlItem2, "LayoutControlItem2")
Me.LayoutControlItem2.TextSize = New System.Drawing.Size(110, 13)
Me.LayoutControlItem2.TextSize = New System.Drawing.Size(140, 16)
'
'LayoutControlItem3
'
Me.LayoutControlItem3.Control = Me.SPALTEN_HEADERTextBox
Me.LayoutControlItem3.Location = New System.Drawing.Point(0, 80)
Me.LayoutControlItem3.Location = New System.Drawing.Point(0, 104)
Me.LayoutControlItem3.Name = "LayoutControlItem3"
Me.LayoutControlItem3.Padding = New DevExpress.XtraLayout.Utils.Padding(10, 10, 10, 10)
Me.LayoutControlItem3.Size = New System.Drawing.Size(610, 40)
Me.LayoutControlItem3.Padding = New DevExpress.XtraLayout.Utils.Padding(13, 13, 15, 15)
Me.LayoutControlItem3.Size = New System.Drawing.Size(814, 52)
resources.ApplyResources(Me.LayoutControlItem3, "LayoutControlItem3")
Me.LayoutControlItem3.TextSize = New System.Drawing.Size(110, 13)
Me.LayoutControlItem3.TextSize = New System.Drawing.Size(140, 16)
'
'LayoutControlItem4
'
Me.LayoutControlItem4.Control = Me.SPALTENBREITETextBox
Me.LayoutControlItem4.Location = New System.Drawing.Point(0, 120)
Me.LayoutControlItem4.Location = New System.Drawing.Point(0, 156)
Me.LayoutControlItem4.Name = "LayoutControlItem4"
Me.LayoutControlItem4.Padding = New DevExpress.XtraLayout.Utils.Padding(10, 10, 10, 10)
Me.LayoutControlItem4.Size = New System.Drawing.Size(304, 40)
Me.LayoutControlItem4.Padding = New DevExpress.XtraLayout.Utils.Padding(13, 13, 15, 15)
Me.LayoutControlItem4.Size = New System.Drawing.Size(406, 54)
resources.ApplyResources(Me.LayoutControlItem4, "LayoutControlItem4")
Me.LayoutControlItem4.TextSize = New System.Drawing.Size(110, 13)
Me.LayoutControlItem4.TextSize = New System.Drawing.Size(140, 16)
'
'LayoutControlItem5
'
Me.LayoutControlItem5.Control = Me.REGEX_MATCHTextBox
Me.LayoutControlItem5.Location = New System.Drawing.Point(0, 200)
Me.LayoutControlItem5.Location = New System.Drawing.Point(0, 262)
Me.LayoutControlItem5.Name = "LayoutControlItem5"
Me.LayoutControlItem5.Padding = New DevExpress.XtraLayout.Utils.Padding(10, 10, 10, 10)
Me.LayoutControlItem5.Size = New System.Drawing.Size(520, 46)
Me.LayoutControlItem5.Padding = New DevExpress.XtraLayout.Utils.Padding(13, 13, 15, 15)
Me.LayoutControlItem5.Size = New System.Drawing.Size(694, 63)
resources.ApplyResources(Me.LayoutControlItem5, "LayoutControlItem5")
Me.LayoutControlItem5.TextSize = New System.Drawing.Size(110, 13)
Me.LayoutControlItem5.TextSize = New System.Drawing.Size(140, 16)
'
'LayoutControlItem6
'
Me.LayoutControlItem6.Control = Me.SimpleButton1
Me.LayoutControlItem6.Location = New System.Drawing.Point(520, 200)
Me.LayoutControlItem6.Location = New System.Drawing.Point(694, 262)
Me.LayoutControlItem6.Name = "LayoutControlItem6"
Me.LayoutControlItem6.Size = New System.Drawing.Size(90, 46)
Me.LayoutControlItem6.Size = New System.Drawing.Size(120, 63)
Me.LayoutControlItem6.TextSize = New System.Drawing.Size(0, 0)
Me.LayoutControlItem6.TextVisible = False
'
'LayoutControlItem8
'
Me.LayoutControlItem8.Control = Me.SQL_COMMANDTextBox
Me.LayoutControlItem8.Location = New System.Drawing.Point(0, 326)
Me.LayoutControlItem8.Location = New System.Drawing.Point(0, 432)
Me.LayoutControlItem8.Name = "LayoutControlItem8"
Me.LayoutControlItem8.Padding = New DevExpress.XtraLayout.Utils.Padding(10, 10, 10, 10)
Me.LayoutControlItem8.Size = New System.Drawing.Size(520, 46)
Me.LayoutControlItem8.Padding = New DevExpress.XtraLayout.Utils.Padding(13, 13, 15, 15)
Me.LayoutControlItem8.Size = New System.Drawing.Size(694, 63)
resources.ApplyResources(Me.LayoutControlItem8, "LayoutControlItem8")
Me.LayoutControlItem8.TextSize = New System.Drawing.Size(110, 13)
Me.LayoutControlItem8.TextSize = New System.Drawing.Size(140, 16)
'
'LayoutControlItem7
'
Me.LayoutControlItem7.Control = Me.REGEX_MESSAGE_DETextBox
Me.LayoutControlItem7.Location = New System.Drawing.Point(0, 246)
Me.LayoutControlItem7.Location = New System.Drawing.Point(0, 325)
Me.LayoutControlItem7.Name = "LayoutControlItem7"
Me.LayoutControlItem7.Padding = New DevExpress.XtraLayout.Utils.Padding(10, 10, 10, 10)
Me.LayoutControlItem7.Size = New System.Drawing.Size(610, 40)
Me.LayoutControlItem7.Padding = New DevExpress.XtraLayout.Utils.Padding(13, 13, 15, 15)
Me.LayoutControlItem7.Size = New System.Drawing.Size(814, 52)
resources.ApplyResources(Me.LayoutControlItem7, "LayoutControlItem7")
Me.LayoutControlItem7.TextSize = New System.Drawing.Size(110, 13)
Me.LayoutControlItem7.TextSize = New System.Drawing.Size(140, 16)
'
'LayoutControlItem9
'
Me.LayoutControlItem9.Control = Me.SimpleButton2
Me.LayoutControlItem9.Location = New System.Drawing.Point(520, 326)
Me.LayoutControlItem9.Location = New System.Drawing.Point(694, 432)
Me.LayoutControlItem9.Name = "LayoutControlItem9"
Me.LayoutControlItem9.Size = New System.Drawing.Size(90, 46)
Me.LayoutControlItem9.Size = New System.Drawing.Size(120, 63)
Me.LayoutControlItem9.TextSize = New System.Drawing.Size(0, 0)
Me.LayoutControlItem9.TextVisible = False
'
'LayoutControlItem10
'
Me.LayoutControlItem10.Control = Me.TextEdit7
Me.LayoutControlItem10.Location = New System.Drawing.Point(0, 504)
Me.LayoutControlItem10.Location = New System.Drawing.Point(0, 673)
Me.LayoutControlItem10.Name = "LayoutControlItem10"
Me.LayoutControlItem10.Padding = New DevExpress.XtraLayout.Utils.Padding(10, 10, 10, 10)
Me.LayoutControlItem10.Size = New System.Drawing.Size(304, 40)
Me.LayoutControlItem10.Padding = New DevExpress.XtraLayout.Utils.Padding(13, 13, 15, 15)
Me.LayoutControlItem10.Size = New System.Drawing.Size(406, 52)
resources.ApplyResources(Me.LayoutControlItem10, "LayoutControlItem10")
Me.LayoutControlItem10.TextSize = New System.Drawing.Size(110, 13)
Me.LayoutControlItem10.TextSize = New System.Drawing.Size(140, 16)
'
'LayoutControlItem12
'
Me.LayoutControlItem12.Control = Me.CHANGED_WHOTextBox
Me.LayoutControlItem12.Location = New System.Drawing.Point(0, 544)
Me.LayoutControlItem12.Location = New System.Drawing.Point(0, 725)
Me.LayoutControlItem12.Name = "LayoutControlItem12"
Me.LayoutControlItem12.Padding = New DevExpress.XtraLayout.Utils.Padding(10, 10, 10, 10)
Me.LayoutControlItem12.Size = New System.Drawing.Size(304, 40)
Me.LayoutControlItem12.Padding = New DevExpress.XtraLayout.Utils.Padding(13, 13, 15, 15)
Me.LayoutControlItem12.Size = New System.Drawing.Size(406, 52)
resources.ApplyResources(Me.LayoutControlItem12, "LayoutControlItem12")
Me.LayoutControlItem12.TextSize = New System.Drawing.Size(110, 13)
Me.LayoutControlItem12.TextSize = New System.Drawing.Size(140, 16)
'
'LayoutControlItem11
'
Me.LayoutControlItem11.Control = Me.TextEdit8
Me.LayoutControlItem11.Location = New System.Drawing.Point(304, 504)
Me.LayoutControlItem11.Location = New System.Drawing.Point(406, 673)
Me.LayoutControlItem11.Name = "LayoutControlItem11"
Me.LayoutControlItem11.Padding = New DevExpress.XtraLayout.Utils.Padding(10, 10, 10, 10)
Me.LayoutControlItem11.Size = New System.Drawing.Size(306, 40)
Me.LayoutControlItem11.Padding = New DevExpress.XtraLayout.Utils.Padding(13, 13, 15, 15)
Me.LayoutControlItem11.Size = New System.Drawing.Size(408, 52)
resources.ApplyResources(Me.LayoutControlItem11, "LayoutControlItem11")
Me.LayoutControlItem11.TextSize = New System.Drawing.Size(110, 13)
Me.LayoutControlItem11.TextSize = New System.Drawing.Size(140, 16)
'
'LayoutControlItem13
'
Me.LayoutControlItem13.Control = Me.TextEdit10
Me.LayoutControlItem13.Location = New System.Drawing.Point(304, 544)
Me.LayoutControlItem13.Location = New System.Drawing.Point(406, 725)
Me.LayoutControlItem13.Name = "LayoutControlItem13"
Me.LayoutControlItem13.Padding = New DevExpress.XtraLayout.Utils.Padding(10, 10, 10, 10)
Me.LayoutControlItem13.Size = New System.Drawing.Size(306, 40)
Me.LayoutControlItem13.Padding = New DevExpress.XtraLayout.Utils.Padding(13, 13, 15, 15)
Me.LayoutControlItem13.Size = New System.Drawing.Size(408, 52)
resources.ApplyResources(Me.LayoutControlItem13, "LayoutControlItem13")
Me.LayoutControlItem13.TextSize = New System.Drawing.Size(110, 13)
Me.LayoutControlItem13.TextSize = New System.Drawing.Size(140, 16)
'
'LayoutControlGroup1
'
Me.LayoutControlGroup1.Items.AddRange(New DevExpress.XtraLayout.BaseLayoutItem() {Me.LayoutControlItem16, Me.LayoutControlItem14, Me.LayoutControlItem17, Me.LayoutControlItem25, Me.LayoutControlItem20, Me.LayoutControlItem22})
Me.LayoutControlGroup1.Location = New System.Drawing.Point(0, 584)
Me.LayoutControlGroup1.Location = New System.Drawing.Point(0, 777)
Me.LayoutControlGroup1.Name = "LayoutControlGroup1"
Me.LayoutControlGroup1.Size = New System.Drawing.Size(610, 249)
Me.LayoutControlGroup1.Size = New System.Drawing.Size(814, 448)
resources.ApplyResources(Me.LayoutControlGroup1, "LayoutControlGroup1")
'
'LayoutControlItem16
@@ -646,134 +650,141 @@ Partial Class frmColumn_Detail
Me.LayoutControlItem16.Control = Me.VALIDATIONCheckbox
Me.LayoutControlItem16.Location = New System.Drawing.Point(0, 0)
Me.LayoutControlItem16.Name = "LayoutControlItem16"
Me.LayoutControlItem16.Size = New System.Drawing.Size(292, 24)
Me.LayoutControlItem16.Size = New System.Drawing.Size(390, 28)
Me.LayoutControlItem16.TextSize = New System.Drawing.Size(0, 0)
Me.LayoutControlItem16.TextVisible = False
'
'LayoutControlItem14
'
Me.LayoutControlItem14.Control = Me.READ_ONLYCheckBox
Me.LayoutControlItem14.Location = New System.Drawing.Point(0, 24)
Me.LayoutControlItem14.Location = New System.Drawing.Point(0, 28)
Me.LayoutControlItem14.Name = "LayoutControlItem14"
Me.LayoutControlItem14.Size = New System.Drawing.Size(586, 22)
Me.LayoutControlItem14.Size = New System.Drawing.Size(782, 27)
Me.LayoutControlItem14.TextSize = New System.Drawing.Size(0, 0)
Me.LayoutControlItem14.TextVisible = False
'
'LayoutControlItem17
'
Me.LayoutControlItem17.Control = Me.ADVANCED_LOOKUPCheckbox
Me.LayoutControlItem17.Location = New System.Drawing.Point(0, 46)
Me.LayoutControlItem17.Location = New System.Drawing.Point(0, 55)
Me.LayoutControlItem17.Name = "LayoutControlItem17"
Me.LayoutControlItem17.Size = New System.Drawing.Size(586, 22)
Me.LayoutControlItem17.Size = New System.Drawing.Size(782, 27)
Me.LayoutControlItem17.TextSize = New System.Drawing.Size(0, 0)
Me.LayoutControlItem17.TextVisible = False
'
'LayoutControlItem25
'
Me.LayoutControlItem25.Control = Me.LOAD_IDX_VALUECheckBox
Me.LayoutControlItem25.Location = New System.Drawing.Point(0, 68)
Me.LayoutControlItem25.Location = New System.Drawing.Point(0, 82)
Me.LayoutControlItem25.Name = "LayoutControlItem25"
Me.LayoutControlItem25.Size = New System.Drawing.Size(586, 22)
Me.LayoutControlItem25.Size = New System.Drawing.Size(782, 27)
Me.LayoutControlItem25.TextSize = New System.Drawing.Size(0, 0)
Me.LayoutControlItem25.TextVisible = False
'
'LayoutControlItem20
'
Me.LayoutControlItem20.Control = Me.SUMMARY_FUNCTIONCombobox
Me.LayoutControlItem20.Location = New System.Drawing.Point(292, 0)
Me.LayoutControlItem20.Location = New System.Drawing.Point(390, 0)
Me.LayoutControlItem20.Name = "LayoutControlItem20"
Me.LayoutControlItem20.Size = New System.Drawing.Size(294, 24)
Me.LayoutControlItem20.Size = New System.Drawing.Size(392, 28)
resources.ApplyResources(Me.LayoutControlItem20, "LayoutControlItem20")
Me.LayoutControlItem20.TextSize = New System.Drawing.Size(110, 13)
Me.LayoutControlItem20.TextSize = New System.Drawing.Size(140, 16)
'
'LayoutControlItem22
'
Me.LayoutControlItem22.Control = Me.CheckEditInheritValue
Me.LayoutControlItem22.DataBindings.Add(New System.Windows.Forms.Binding("Text", Me.TBPM_CONTROL_TABLEBindingSource, "INHERIT_VALUE", True))
Me.LayoutControlItem22.Location = New System.Drawing.Point(0, 90)
Me.LayoutControlItem22.Location = New System.Drawing.Point(0, 109)
Me.LayoutControlItem22.Name = "LayoutControlItem22"
Me.LayoutControlItem22.Size = New System.Drawing.Size(586, 114)
Me.LayoutControlItem22.Size = New System.Drawing.Size(782, 279)
Me.LayoutControlItem22.TextSize = New System.Drawing.Size(0, 0)
Me.LayoutControlItem22.TextVisible = False
'
'LayoutControlItem18
'
Me.LayoutControlItem18.Control = Me.DEFAULTVALUETextBox
Me.LayoutControlItem18.Location = New System.Drawing.Point(0, 372)
Me.LayoutControlItem18.Location = New System.Drawing.Point(0, 495)
Me.LayoutControlItem18.Name = "LayoutControlItem18"
Me.LayoutControlItem18.Padding = New DevExpress.XtraLayout.Utils.Padding(10, 10, 10, 10)
Me.LayoutControlItem18.Size = New System.Drawing.Size(610, 40)
Me.LayoutControlItem18.Padding = New DevExpress.XtraLayout.Utils.Padding(13, 13, 15, 15)
Me.LayoutControlItem18.Size = New System.Drawing.Size(814, 52)
resources.ApplyResources(Me.LayoutControlItem18, "LayoutControlItem18")
Me.LayoutControlItem18.TextSize = New System.Drawing.Size(110, 13)
Me.LayoutControlItem18.TextSize = New System.Drawing.Size(140, 16)
'
'LayoutControlItem19
'
Me.LayoutControlItem19.Control = Me.SEQUENCETextBox
Me.LayoutControlItem19.Location = New System.Drawing.Point(304, 120)
Me.LayoutControlItem19.Location = New System.Drawing.Point(406, 156)
Me.LayoutControlItem19.Name = "LayoutControlItem19"
Me.LayoutControlItem19.Padding = New DevExpress.XtraLayout.Utils.Padding(10, 10, 10, 10)
Me.LayoutControlItem19.Size = New System.Drawing.Size(306, 40)
Me.LayoutControlItem19.Padding = New DevExpress.XtraLayout.Utils.Padding(13, 13, 15, 15)
Me.LayoutControlItem19.Size = New System.Drawing.Size(408, 54)
resources.ApplyResources(Me.LayoutControlItem19, "LayoutControlItem19")
Me.LayoutControlItem19.TextSize = New System.Drawing.Size(110, 13)
Me.LayoutControlItem19.TextSize = New System.Drawing.Size(140, 16)
'
'LayoutControlItem23
'
Me.LayoutControlItem23.Control = Me.LU_CAPTIONTextBox
resources.ApplyResources(Me.LayoutControlItem23, "LayoutControlItem23")
Me.LayoutControlItem23.Location = New System.Drawing.Point(0, 286)
Me.LayoutControlItem23.Location = New System.Drawing.Point(0, 377)
Me.LayoutControlItem23.Name = "LayoutControlItem23"
Me.LayoutControlItem23.Padding = New DevExpress.XtraLayout.Utils.Padding(10, 10, 10, 10)
Me.LayoutControlItem23.Size = New System.Drawing.Size(610, 40)
Me.LayoutControlItem23.TextSize = New System.Drawing.Size(110, 13)
Me.LayoutControlItem23.Padding = New DevExpress.XtraLayout.Utils.Padding(13, 13, 15, 15)
Me.LayoutControlItem23.Size = New System.Drawing.Size(814, 55)
Me.LayoutControlItem23.TextSize = New System.Drawing.Size(140, 16)
'
'LayoutControlItem21
'
Me.LayoutControlItem21.Control = Me.TYPE_COLUMNComboBox2
Me.LayoutControlItem21.Location = New System.Drawing.Point(0, 160)
Me.LayoutControlItem21.Location = New System.Drawing.Point(0, 210)
Me.LayoutControlItem21.Name = "LayoutControlItem21"
Me.LayoutControlItem21.Padding = New DevExpress.XtraLayout.Utils.Padding(10, 10, 10, 10)
Me.LayoutControlItem21.Size = New System.Drawing.Size(610, 40)
Me.LayoutControlItem21.Padding = New DevExpress.XtraLayout.Utils.Padding(13, 13, 15, 15)
Me.LayoutControlItem21.Size = New System.Drawing.Size(814, 52)
resources.ApplyResources(Me.LayoutControlItem21, "LayoutControlItem21")
Me.LayoutControlItem21.TextSize = New System.Drawing.Size(110, 13)
Me.LayoutControlItem21.TextSize = New System.Drawing.Size(140, 16)
'
'LayoutControlItem24
'
Me.LayoutControlItem24.Control = Me.FORMULA_EXPRESSIONTextBox
Me.LayoutControlItem24.Location = New System.Drawing.Point(0, 412)
Me.LayoutControlItem24.Location = New System.Drawing.Point(0, 547)
Me.LayoutControlItem24.Name = "LayoutControlItem24"
Me.LayoutControlItem24.Padding = New DevExpress.XtraLayout.Utils.Padding(10, 10, 10, 10)
Me.LayoutControlItem24.Size = New System.Drawing.Size(520, 46)
Me.LayoutControlItem24.Padding = New DevExpress.XtraLayout.Utils.Padding(13, 13, 15, 15)
Me.LayoutControlItem24.Size = New System.Drawing.Size(694, 63)
resources.ApplyResources(Me.LayoutControlItem24, "LayoutControlItem24")
Me.LayoutControlItem24.TextSize = New System.Drawing.Size(110, 13)
Me.LayoutControlItem24.TextSize = New System.Drawing.Size(140, 16)
'
'LayoutControlItem26
'
Me.LayoutControlItem26.Control = Me.SimpleButton3
Me.LayoutControlItem26.Location = New System.Drawing.Point(520, 412)
Me.LayoutControlItem26.Location = New System.Drawing.Point(694, 547)
Me.LayoutControlItem26.Name = "LayoutControlItem26"
Me.LayoutControlItem26.Size = New System.Drawing.Size(90, 46)
Me.LayoutControlItem26.Size = New System.Drawing.Size(120, 63)
Me.LayoutControlItem26.TextSize = New System.Drawing.Size(0, 0)
Me.LayoutControlItem26.TextVisible = False
'
'LayoutControlItem27
'
Me.LayoutControlItem27.Control = Me.FORMULA_SQLTextBox
Me.LayoutControlItem27.Location = New System.Drawing.Point(0, 458)
Me.LayoutControlItem27.Location = New System.Drawing.Point(0, 610)
Me.LayoutControlItem27.Name = "LayoutControlItem27"
Me.LayoutControlItem27.Padding = New DevExpress.XtraLayout.Utils.Padding(10, 10, 10, 10)
Me.LayoutControlItem27.Size = New System.Drawing.Size(520, 46)
Me.LayoutControlItem27.Padding = New DevExpress.XtraLayout.Utils.Padding(13, 13, 15, 15)
Me.LayoutControlItem27.Size = New System.Drawing.Size(694, 63)
resources.ApplyResources(Me.LayoutControlItem27, "LayoutControlItem27")
Me.LayoutControlItem27.TextSize = New System.Drawing.Size(110, 13)
Me.LayoutControlItem27.TextSize = New System.Drawing.Size(140, 16)
'
'LayoutControlItem15
'
Me.LayoutControlItem15.Control = Me.SimpleButton4
Me.LayoutControlItem15.Location = New System.Drawing.Point(520, 458)
Me.LayoutControlItem15.Location = New System.Drawing.Point(694, 610)
Me.LayoutControlItem15.Name = "LayoutControlItem15"
Me.LayoutControlItem15.Size = New System.Drawing.Size(90, 46)
Me.LayoutControlItem15.Size = New System.Drawing.Size(120, 63)
Me.LayoutControlItem15.TextSize = New System.Drawing.Size(0, 0)
Me.LayoutControlItem15.TextVisible = False
'
'BarButtonItem3
'
resources.ApplyResources(Me.BarButtonItem3, "BarButtonItem3")
Me.BarButtonItem3.Id = 5
Me.BarButtonItem3.ImageOptions.SvgImage = CType(resources.GetObject("BarButtonItem3.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
Me.BarButtonItem3.Name = "BarButtonItem3"
'
'frmColumn_Detail
'
Me.Appearance.Options.UseFont = True
@@ -915,4 +926,5 @@ End Sub
Friend WithEvents FORMULA_SQLTextBox As TextBox
Friend WithEvents LayoutControlItem27 As DevExpress.XtraLayout.LayoutControlItem
Friend WithEvents LayoutControlItem15 As DevExpress.XtraLayout.LayoutControlItem
Friend WithEvents BarButtonItem3 As DevExpress.XtraBars.BarButtonItem
End Class

View File

@@ -135,27 +135,86 @@
<data name="BarButtonItem1.Caption" xml:space="preserve">
<value>Speichern</value>
</data>
<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
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAMICAAAC77u/
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsYWNre2ZpbGw6IzczNzM3NDt9Cgku
WWVsbG93e2ZpbGw6I0ZDQjAxQjt9CgkuR3JlZW57ZmlsbDojMTI5QzQ5O30KCS5CbHVle2ZpbGw6IzM4
N0NCNzt9CgkuUmVke2ZpbGw6I0QwMjEyNzt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh
Y2l0eTowLjU7fQoJLnN0MXtvcGFjaXR5OjAuNzU7fQoJLnN0MntvcGFjaXR5OjAuMjU7fQoJLnN0M3tk
aXNwbGF5Om5vbmU7ZmlsbDojNzM3Mzc0O30KPC9zdHlsZT4NCiAgPHBhdGggZD0iTTI3LDRoLTN2MTBI
OFY0SDVDNC40LDQsNCw0LjQsNCw1djIyYzAsMC42LDAuNCwxLDEsMWgyMmMwLjYsMCwxLTAuNCwxLTFW
NUMyOCw0LjQsMjcuNiw0LDI3LDR6IE0yNCwyNEg4di02ICBoMTZWMjR6IE0xMCw0djhoMTBWNEgxMHog
TTE0LDEwaC0yVjZoMlYxMHoiIGNsYXNzPSJCbGFjayIgLz4NCjwvc3ZnPgs=
</value>
</data>
<data name="BarButtonItem2.Caption" xml:space="preserve">
<value>Löschen</value>
</data>
<data name="tslblAenderungen.Caption" xml:space="preserve">
<value>tslblAenderungen</value>
</data>
<data name="BarButtonItem3.Caption" xml:space="preserve">
<value>Speichern und Schliesen</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
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAGkEAAAC77u/
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLlllbGxvd3tmaWxsOiNGRkIxMTU7fQoJ
LlJlZHtmaWxsOiNEMTFDMUM7fQoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5HcmVlbntmaWxsOiMwMzlD
MjM7fQoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh
Y2l0eTowLjU7fQoJLnN0MXtkaXNwbGF5Om5vbmU7fQoJLnN0MntkaXNwbGF5OmlubGluZTtmaWxsOiMw
MzlDMjM7fQoJLnN0M3tkaXNwbGF5OmlubGluZTtmaWxsOiNEMTFDMUM7fQoJLnN0NHtkaXNwbGF5Omlu
bGluZTtmaWxsOiM3MjcyNzI7fQo8L3N0eWxlPg0KICA8ZyBpZD0iU2F2ZUFuZENsb3NlIj4NCiAgICA8
cGF0aCBkPSJNNiwxNlY2SDNDMi40LDYsMiw2LjQsMiw3djIyYzAsMC42LDAuNCwxLDEsMWgyMmMwLjYs
MCwxLTAuNCwxLTFWMTZINnogTTYsMjZ2LTZoMTZ2Nkg2eiBNMTYsNkg4djhoOFY2eiAgICBNMTIsMTJo
LTJWOGgyVjEyeiIgY2xhc3M9IkJsYWNrIiAvPg0KICAgIDxwYXRoIGQ9Ik0yOSwySDE5Yy0wLjUsMC0x
LDAuNS0xLDF2MTBjMCwwLjUsMC41LDEsMSwxaDEwYzAuNSwwLDEtMC41LDEtMVYzQzMwLDIuNSwyOS41
LDIsMjksMnogTTI3LjcsMTAuNCAgIGMwLjQsMC40LDAuNCwxLDAsMS4zYy0wLjQsMC40LTEsMC40LTEu
MywwTDI0LDkuM2wtMi40LDIuNGMtMC40LDAuNC0xLDAuNC0xLjMsMGMtMC40LTAuNC0wLjQtMSwwLTEu
M0wyMi43LDhsLTIuNC0yLjQgICBjLTAuNC0wLjQtMC40LTEsMC0xLjNjMC40LTAuNCwxLTAuNCwxLjMs
MEwyNCw2LjdsMi40LTIuNGMwLjQtMC40LDEtMC40LDEuMywwYzAuNCwwLjQsMC40LDEsMCwxLjNMMjUu
Myw4TDI3LjcsMTAuNHoiIGNsYXNzPSJSZWQiIC8+DQogIDwvZz4NCjwvc3ZnPgs=
</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="RibbonControl1.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 0</value>
</data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="RibbonControl1.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="RibbonPageGroup1.Text" xml:space="preserve">
<value>RibbonPageGroup1</value>
</data>
<data name="RibbonPage1.Text" xml:space="preserve">
<value>RibbonPage1</value>
</data>
<data name="RibbonControl1.Size" type="System.Drawing.Size, System.Drawing">
<value>630, 67</value>
<value>840, 82</value>
</data>
<data name="RibbonStatusBar1.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 920</value>
<value>0, 1337</value>
</data>
<data name="RibbonStatusBar1.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="RibbonStatusBar1.Size" type="System.Drawing.Size, System.Drawing">
<value>630, 22</value>
<value>840, 28</value>
</data>
<data name="&gt;&gt;RibbonStatusBar1.Name" xml:space="preserve">
<value>RibbonStatusBar1</value>
@@ -181,21 +240,20 @@
<data name="&gt;&gt;RibbonControl1.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="RibbonPageGroup1.Text" xml:space="preserve">
<value>RibbonPageGroup1</value>
</data>
<data name="RibbonPage2.Text" xml:space="preserve">
<value>RibbonPage2</value>
</data>
<data name="SimpleButton4.Location" type="System.Drawing.Point, System.Drawing">
<value>532, 470</value>
<value>710, 628</value>
</data>
<data name="SimpleButton4.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="SimpleButton4.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>10, 10, 10, 10</value>
<value>13, 15, 13, 15</value>
</data>
<data name="SimpleButton4.Size" type="System.Drawing.Size, System.Drawing">
<value>86, 42</value>
<value>114, 57</value>
</data>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="SimpleButton4.TabIndex" type="System.Int32, mscorlib">
@@ -217,10 +275,13 @@
<value>4</value>
</data>
<data name="FORMULA_SQLTextBox.Location" type="System.Drawing.Point, System.Drawing">
<value>142, 478</value>
<value>182, 640</value>
</data>
<data name="FORMULA_SQLTextBox.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="FORMULA_SQLTextBox.Size" type="System.Drawing.Size, System.Drawing">
<value>378, 20</value>
<value>512, 25</value>
</data>
<data name="FORMULA_SQLTextBox.TabIndex" type="System.Int32, mscorlib">
<value>32</value>
@@ -238,13 +299,16 @@
<value>5</value>
</data>
<data name="SimpleButton3.Location" type="System.Drawing.Point, System.Drawing">
<value>532, 424</value>
<value>710, 565</value>
</data>
<data name="SimpleButton3.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="SimpleButton3.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>10, 10, 10, 10</value>
<value>13, 15, 13, 15</value>
</data>
<data name="SimpleButton3.Size" type="System.Drawing.Size, System.Drawing">
<value>86, 42</value>
<value>114, 57</value>
</data>
<data name="SimpleButton3.TabIndex" type="System.Int32, mscorlib">
<value>31</value>
@@ -265,10 +329,13 @@
<value>6</value>
</data>
<data name="FORMULA_EXPRESSIONTextBox.Location" type="System.Drawing.Point, System.Drawing">
<value>142, 432</value>
<value>182, 577</value>
</data>
<data name="FORMULA_EXPRESSIONTextBox.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="FORMULA_EXPRESSIONTextBox.Size" type="System.Drawing.Size, System.Drawing">
<value>378, 20</value>
<value>512, 25</value>
</data>
<data name="FORMULA_EXPRESSIONTextBox.TabIndex" type="System.Int32, mscorlib">
<value>29</value>
@@ -286,10 +353,13 @@
<value>7</value>
</data>
<data name="LU_CAPTIONTextBox.Location" type="System.Drawing.Point, System.Drawing">
<value>142, 306</value>
<value>182, 407</value>
</data>
<data name="LU_CAPTIONTextBox.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="LU_CAPTIONTextBox.Size" type="System.Drawing.Size, System.Drawing">
<value>468, 20</value>
<value>632, 25</value>
</data>
<data name="LU_CAPTIONTextBox.TabIndex" type="System.Int32, mscorlib">
<value>26</value>
@@ -307,10 +377,13 @@
<value>8</value>
</data>
<data name="GUIDTextBox.Location" type="System.Drawing.Point, System.Drawing">
<value>142, 20</value>
<value>182, 30</value>
</data>
<data name="GUIDTextBox.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="GUIDTextBox.Size" type="System.Drawing.Size, System.Drawing">
<value>468, 20</value>
<value>632, 22</value>
</data>
<data name="GUIDTextBox.TabIndex" type="System.Int32, mscorlib">
<value>4</value>
@@ -328,10 +401,13 @@
<value>9</value>
</data>
<data name="SPALTENNAMETextBox.Location" type="System.Drawing.Point, System.Drawing">
<value>142, 60</value>
<value>182, 82</value>
</data>
<data name="SPALTENNAMETextBox.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="SPALTENNAMETextBox.Size" type="System.Drawing.Size, System.Drawing">
<value>468, 20</value>
<value>632, 22</value>
</data>
<data name="SPALTENNAMETextBox.TabIndex" type="System.Int32, mscorlib">
<value>5</value>
@@ -349,10 +425,13 @@
<value>10</value>
</data>
<data name="SPALTEN_HEADERTextBox.Location" type="System.Drawing.Point, System.Drawing">
<value>142, 100</value>
<value>182, 134</value>
</data>
<data name="SPALTEN_HEADERTextBox.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="SPALTEN_HEADERTextBox.Size" type="System.Drawing.Size, System.Drawing">
<value>468, 20</value>
<value>632, 22</value>
</data>
<data name="SPALTEN_HEADERTextBox.TabIndex" type="System.Int32, mscorlib">
<value>6</value>
@@ -373,14 +452,17 @@
<value>0</value>
</data>
<data name="SPALTENBREITETextBox.Location" type="System.Drawing.Point, System.Drawing">
<value>142, 140</value>
<value>182, 186</value>
</data>
<data name="SPALTENBREITETextBox.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<assembly alias="DevExpress.Utils.v21.2" name="DevExpress.Utils.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<data name="SPALTENBREITETextBox.Properties.Buttons" type="DevExpress.XtraEditors.Controls.ButtonPredefines, DevExpress.Utils.v21.2">
<value>Combo</value>
</data>
<data name="SPALTENBREITETextBox.Size" type="System.Drawing.Size, System.Drawing">
<value>162, 20</value>
<value>224, 24</value>
</data>
<data name="SPALTENBREITETextBox.TabIndex" type="System.Int32, mscorlib">
<value>7</value>
@@ -398,10 +480,13 @@
<value>12</value>
</data>
<data name="REGEX_MATCHTextBox.Location" type="System.Drawing.Point, System.Drawing">
<value>142, 220</value>
<value>182, 292</value>
</data>
<data name="REGEX_MATCHTextBox.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="REGEX_MATCHTextBox.Size" type="System.Drawing.Size, System.Drawing">
<value>378, 20</value>
<value>512, 22</value>
</data>
<data name="REGEX_MATCHTextBox.TabIndex" type="System.Int32, mscorlib">
<value>8</value>
@@ -419,16 +504,16 @@
<value>13</value>
</data>
<data name="SimpleButton1.Location" type="System.Drawing.Point, System.Drawing">
<value>532, 212</value>
<value>710, 280</value>
</data>
<data name="SimpleButton1.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>10, 10, 10, 10</value>
<value>13, 15, 13, 15</value>
</data>
<data name="SimpleButton1.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>10, 10, 10, 10</value>
<value>13, 15, 13, 15</value>
</data>
<data name="SimpleButton1.Size" type="System.Drawing.Size, System.Drawing">
<value>86, 42</value>
<value>114, 57</value>
</data>
<data name="SimpleButton1.TabIndex" type="System.Int32, mscorlib">
<value>9</value>
@@ -449,10 +534,13 @@
<value>14</value>
</data>
<data name="REGEX_MESSAGE_DETextBox.Location" type="System.Drawing.Point, System.Drawing">
<value>142, 266</value>
<value>182, 355</value>
</data>
<data name="REGEX_MESSAGE_DETextBox.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="REGEX_MESSAGE_DETextBox.Size" type="System.Drawing.Size, System.Drawing">
<value>468, 20</value>
<value>632, 22</value>
</data>
<data name="REGEX_MESSAGE_DETextBox.TabIndex" type="System.Int32, mscorlib">
<value>10</value>
@@ -470,10 +558,13 @@
<value>15</value>
</data>
<data name="SQL_COMMANDTextBox.Location" type="System.Drawing.Point, System.Drawing">
<value>142, 346</value>
<value>182, 462</value>
</data>
<data name="SQL_COMMANDTextBox.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="SQL_COMMANDTextBox.Size" type="System.Drawing.Size, System.Drawing">
<value>378, 20</value>
<value>512, 22</value>
</data>
<data name="SQL_COMMANDTextBox.TabIndex" type="System.Int32, mscorlib">
<value>11</value>
@@ -491,13 +582,16 @@
<value>16</value>
</data>
<data name="SimpleButton2.Location" type="System.Drawing.Point, System.Drawing">
<value>532, 338</value>
<value>710, 450</value>
</data>
<data name="SimpleButton2.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="SimpleButton2.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>10, 10, 10, 10</value>
<value>13, 15, 13, 15</value>
</data>
<data name="SimpleButton2.Size" type="System.Drawing.Size, System.Drawing">
<value>86, 42</value>
<value>114, 57</value>
</data>
<data name="SimpleButton2.TabIndex" type="System.Int32, mscorlib">
<value>12</value>
@@ -518,10 +612,13 @@
<value>17</value>
</data>
<data name="TextEdit7.Location" type="System.Drawing.Point, System.Drawing">
<value>142, 524</value>
<value>182, 703</value>
</data>
<data name="TextEdit7.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="TextEdit7.Size" type="System.Drawing.Size, System.Drawing">
<value>162, 20</value>
<value>224, 22</value>
</data>
<data name="TextEdit7.TabIndex" type="System.Int32, mscorlib">
<value>13</value>
@@ -539,10 +636,13 @@
<value>18</value>
</data>
<data name="TextEdit8.Location" type="System.Drawing.Point, System.Drawing">
<value>446, 524</value>
<value>588, 703</value>
</data>
<data name="TextEdit8.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="TextEdit8.Size" type="System.Drawing.Size, System.Drawing">
<value>164, 20</value>
<value>226, 22</value>
</data>
<data name="TextEdit8.TabIndex" type="System.Int32, mscorlib">
<value>14</value>
@@ -560,10 +660,13 @@
<value>19</value>
</data>
<data name="CHANGED_WHOTextBox.Location" type="System.Drawing.Point, System.Drawing">
<value>142, 564</value>
<value>182, 755</value>
</data>
<data name="CHANGED_WHOTextBox.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="CHANGED_WHOTextBox.Size" type="System.Drawing.Size, System.Drawing">
<value>162, 20</value>
<value>224, 22</value>
</data>
<data name="CHANGED_WHOTextBox.TabIndex" type="System.Int32, mscorlib">
<value>15</value>
@@ -581,10 +684,13 @@
<value>20</value>
</data>
<data name="TextEdit10.Location" type="System.Drawing.Point, System.Drawing">
<value>446, 564</value>
<value>588, 755</value>
</data>
<data name="TextEdit10.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="TextEdit10.Size" type="System.Drawing.Size, System.Drawing">
<value>164, 20</value>
<value>226, 22</value>
</data>
<data name="TextEdit10.TabIndex" type="System.Int32, mscorlib">
<value>16</value>
@@ -602,13 +708,16 @@
<value>21</value>
</data>
<data name="READ_ONLYCheckBox.Location" type="System.Drawing.Point, System.Drawing">
<value>24, 653</value>
<value>32, 866</value>
</data>
<data name="READ_ONLYCheckBox.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="READ_ONLYCheckBox.Properties.Caption" xml:space="preserve">
<value>Read Only</value>
</data>
<data name="READ_ONLYCheckBox.Size" type="System.Drawing.Size, System.Drawing">
<value>582, 18</value>
<value>776, 21</value>
</data>
<data name="READ_ONLYCheckBox.TabIndex" type="System.Int32, mscorlib">
<value>17</value>
@@ -626,13 +735,16 @@
<value>22</value>
</data>
<data name="LOAD_IDX_VALUECheckBox.Location" type="System.Drawing.Point, System.Drawing">
<value>24, 697</value>
<value>32, 920</value>
</data>
<data name="LOAD_IDX_VALUECheckBox.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="LOAD_IDX_VALUECheckBox.Properties.Caption" xml:space="preserve">
<value>Lade Indexdaten</value>
</data>
<data name="LOAD_IDX_VALUECheckBox.Size" type="System.Drawing.Size, System.Drawing">
<value>582, 18</value>
<value>776, 21</value>
</data>
<data name="LOAD_IDX_VALUECheckBox.TabIndex" type="System.Int32, mscorlib">
<value>18</value>
@@ -650,13 +762,16 @@
<value>23</value>
</data>
<data name="VALIDATIONCheckbox.Location" type="System.Drawing.Point, System.Drawing">
<value>24, 629</value>
<value>32, 838</value>
</data>
<data name="VALIDATIONCheckbox.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="VALIDATIONCheckbox.Properties.Caption" xml:space="preserve">
<value>Muss ausgefüllt werden</value>
</data>
<data name="VALIDATIONCheckbox.Size" type="System.Drawing.Size, System.Drawing">
<value>288, 18</value>
<value>384, 21</value>
</data>
<data name="VALIDATIONCheckbox.TabIndex" type="System.Int32, mscorlib">
<value>19</value>
@@ -674,13 +789,16 @@
<value>24</value>
</data>
<data name="ADVANCED_LOOKUPCheckbox.Location" type="System.Drawing.Point, System.Drawing">
<value>24, 675</value>
<value>32, 893</value>
</data>
<data name="ADVANCED_LOOKUPCheckbox.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="ADVANCED_LOOKUPCheckbox.Properties.Caption" xml:space="preserve">
<value>Erweitertes Auswahl Control (für lange Listen)</value>
</data>
<data name="ADVANCED_LOOKUPCheckbox.Size" type="System.Drawing.Size, System.Drawing">
<value>582, 18</value>
<value>776, 21</value>
</data>
<data name="ADVANCED_LOOKUPCheckbox.TabIndex" type="System.Int32, mscorlib">
<value>20</value>
@@ -698,10 +816,13 @@
<value>25</value>
</data>
<data name="DEFAULTVALUETextBox.Location" type="System.Drawing.Point, System.Drawing">
<value>142, 392</value>
<value>182, 525</value>
</data>
<data name="DEFAULTVALUETextBox.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="DEFAULTVALUETextBox.Size" type="System.Drawing.Size, System.Drawing">
<value>468, 20</value>
<value>632, 22</value>
</data>
<data name="DEFAULTVALUETextBox.TabIndex" type="System.Int32, mscorlib">
<value>21</value>
@@ -722,13 +843,16 @@
<value>0</value>
</data>
<data name="SEQUENCETextBox.Location" type="System.Drawing.Point, System.Drawing">
<value>446, 140</value>
<value>588, 186</value>
</data>
<data name="SEQUENCETextBox.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="SEQUENCETextBox.Properties.Buttons" type="DevExpress.XtraEditors.Controls.ButtonPredefines, DevExpress.Utils.v21.2">
<value>Combo</value>
</data>
<data name="SEQUENCETextBox.Size" type="System.Drawing.Size, System.Drawing">
<value>164, 20</value>
<value>226, 24</value>
</data>
<data name="SEQUENCETextBox.TabIndex" type="System.Int32, mscorlib">
<value>22</value>
@@ -746,7 +870,10 @@
<value>27</value>
</data>
<data name="SUMMARY_FUNCTIONCombobox.Location" type="System.Drawing.Point, System.Drawing">
<value>438, 629</value>
<value>578, 838</value>
</data>
<data name="SUMMARY_FUNCTIONCombobox.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="SUMMARY_FUNCTIONCombobox.Properties.Buttons" type="DevExpress.XtraEditors.Controls.ButtonPredefines, DevExpress.Utils.v21.2">
<value>Combo</value>
@@ -755,7 +882,7 @@
<value />
</data>
<data name="SUMMARY_FUNCTIONCombobox.Size" type="System.Drawing.Size, System.Drawing">
<value>168, 20</value>
<value>230, 22</value>
</data>
<data name="SUMMARY_FUNCTIONCombobox.TabIndex" type="System.Int32, mscorlib">
<value>23</value>
@@ -773,7 +900,10 @@
<value>28</value>
</data>
<data name="TYPE_COLUMNComboBox2.Location" type="System.Drawing.Point, System.Drawing">
<value>142, 180</value>
<value>182, 240</value>
</data>
<data name="TYPE_COLUMNComboBox2.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="TYPE_COLUMNComboBox2.Properties.Buttons" type="DevExpress.XtraEditors.Controls.ButtonPredefines, DevExpress.Utils.v21.2">
<value>Combo</value>
@@ -782,7 +912,7 @@
<value />
</data>
<data name="TYPE_COLUMNComboBox2.Size" type="System.Drawing.Size, System.Drawing">
<value>468, 20</value>
<value>632, 22</value>
</data>
<data name="TYPE_COLUMNComboBox2.TabIndex" type="System.Int32, mscorlib">
<value>27</value>
@@ -800,13 +930,16 @@
<value>29</value>
</data>
<data name="CheckEditInheritValue.Location" type="System.Drawing.Point, System.Drawing">
<value>24, 719</value>
<value>32, 947</value>
</data>
<data name="CheckEditInheritValue.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="CheckEditInheritValue.Properties.Caption" xml:space="preserve">
<value>Inherit Value (Vererbt den Wert der aktuellen Zelle auf alle nachfolgenden)</value>
</data>
<data name="CheckEditInheritValue.Size" type="System.Drawing.Size, System.Drawing">
<value>582, 18</value>
<value>776, 21</value>
</data>
<data name="CheckEditInheritValue.TabIndex" type="System.Int32, mscorlib">
<value>28</value>
@@ -827,7 +960,10 @@
<value>Fill</value>
</data>
<data name="LayoutControl1.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 67</value>
<value>0, 82</value>
</data>
<data name="LayoutControl1.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="LayoutControlItem1.Text" xml:space="preserve">
<value>ID</value>
@@ -890,7 +1026,7 @@
<value>Formel SQL:</value>
</data>
<data name="LayoutControl1.Size" type="System.Drawing.Size, System.Drawing">
<value>630, 853</value>
<value>840, 1255</value>
</data>
<data name="LayoutControl1.TabIndex" type="System.Int32, mscorlib">
<value>33</value>
@@ -914,14 +1050,17 @@
<value>True</value>
</metadata>
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
<value>6, 13</value>
<value>8, 19</value>
</data>
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>630, 942</value>
<value>840, 1365</value>
</data>
<data name="$this.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 8.25pt</value>
</data>
<data name="$this.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>Spalte bearbeiten</value>
</data>
@@ -1159,6 +1298,12 @@
<data name="&gt;&gt;LayoutControlItem15.Type" xml:space="preserve">
<value>DevExpress.XtraLayout.LayoutControlItem, DevExpress.XtraLayout.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;BarButtonItem3.Name" xml:space="preserve">
<value>BarButtonItem3</value>
</data>
<data name="&gt;&gt;BarButtonItem3.Type" xml:space="preserve">
<value>DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>frmColumn_Detail</value>
</data>

View File

@@ -75,7 +75,7 @@ Public Class frmColumn_Detail
Console.WriteLine($"Called from: {stackTrace}")
End Sub
Sub Save_Data()
Sub Save_Data(pClose As Boolean)
Try
TBPM_CONTROL_TABLEBindingSource.EndEdit()
If DD_DMSLiteDataSet.TBPM_CONTROL_TABLE.GetChanges Is Nothing = False Then
@@ -104,8 +104,11 @@ Public Class frmColumn_Detail
GUIDTextBox.Text
)
tslblAenderungen.Visibility = DevExpress.XtraBars.BarItemVisibility.Always
tslblAenderungen.Caption = "Änderungen gespeichert - " & Now
' FillData(GUIDTextBox.Text)
If pClose Then
Me.Close()
Else
tslblAenderungen.Caption = "Änderungen gespeichert - " & Now
End If
Else
tslblAenderungen.Visibility = DevExpress.XtraBars.BarItemVisibility.Never
End If
@@ -136,12 +139,12 @@ Public Class frmColumn_Detail
CURRENT_DESIGN_TYPE = "SQL_SOURCE_TABLE_COLUMN"
CURRENT_INDEX_ID = GUIDTextBox.Text
Dim oForm2 As New frmSQLEditor(LOGCONFIG, DatabaseECM) With {
.SQLCommand = SQL_COMMANDTextBox.Text,
.SQLConnection = 1,
.PlaceholdersManualPrefix = "CTRL",
.PlaceholdersManualTitle = "Controls",
.PlaceholdersManual = CURRENT_CONTROL_NAME_LIST.ToDictionary(Function(name) name, Function(name) name)
}
.SQLCommand = SQL_COMMANDTextBox.Text,
.SQLConnection = 1,
.PlaceholdersManualPrefix = "CTRL",
.PlaceholdersManualTitle = "Controls",
.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
@@ -164,7 +167,7 @@ Public Class frmColumn_Detail
End Sub
Private Sub BarButtonItem1_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem1.ItemClick
Save_Data()
Save_Data(False)
End Sub
Private Sub BarButtonItem2_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem2.ItemClick
@@ -195,11 +198,18 @@ Public Class frmColumn_Detail
CURRENT_INDEX_ID = GUIDTextBox.Text
Dim oForm2 As New frmSQLEditor(LOGCONFIG, DatabaseECM) With {
.SQLCommand = SQL_COMMANDTextBox.Text,
.SQLConnection = 0,
.PlaceholdersManualPrefix = "CTRL",
.PlaceholdersManualTitle = "Controls",
.PlaceholdersManual = CURRENT_CONTROL_NAME_LIST.ToDictionary(Function(name) name, Function(name) name)
.SQLConnection = 1,
.PlaceholdersManualPrefix = "CTRL",
.PlaceholdersManualTitle = "Controls",
.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()
If oForm2.DialogResult = DialogResult.OK Then
@@ -244,11 +254,17 @@ Public Class frmColumn_Detail
CURRENT_INDEX_ID = GUIDTextBox.Text
Dim oForm2 As New frmSQLEditor(LOGCONFIG, DatabaseECM) With {
.SQLCommand = FORMULA_SQLTextBox.Text,
.SQLConnection = 0,
.SQLConnection = 1,
.PlaceholdersManualPrefix = "CTRL",
.PlaceholdersManualTitle = "Controls",
.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()
If oForm2.DialogResult = DialogResult.OK Then
@@ -288,4 +304,8 @@ Public Class frmColumn_Detail
End If
End Sub
Private Sub BarButtonItem3_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem3.ItemClick
Save_Data(True)
End Sub
End Class

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,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()
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmFormDesigner))
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.Panel1 = New System.Windows.Forms.Panel()
Me.pgControlsNew = New DevExpress.XtraVerticalGrid.PropertyGridControl()
@@ -60,6 +58,8 @@ Partial Class frmFormDesigner
Me.RibPGCtrlWidth = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibPGCtrlheight = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
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.TBDD_CONNECTIONBindingSource = New System.Windows.Forms.BindingSource(Me.components)
Me.ToolTip1 = New System.Windows.Forms.ToolTip(Me.components)
@@ -79,11 +79,11 @@ Partial Class frmFormDesigner
Me.SplitContainerDesigner.Panel1.SuspendLayout()
Me.SplitContainerDesigner.Panel2.SuspendLayout()
Me.SplitContainerDesigner.SuspendLayout()
CType(Me.TBPM_CONTROL_TABLEBindingSource, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.DD_DMSLiteDataSet, System.ComponentModel.ISupportInitialize).BeginInit()
Me.Panel1.SuspendLayout()
CType(Me.pgControlsNew, 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.TBDD_CONNECTIONBindingSource, System.ComponentModel.ISupportInitialize).BeginInit()
Me.GridControlContextMenu.SuspendLayout()
@@ -104,16 +104,6 @@ Partial Class frmFormDesigner
'
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
'
resources.ApplyResources(Me.pnldesigner, "pnldesigner")
@@ -365,6 +355,16 @@ Partial Class frmFormDesigner
Me.RibbonStatusBar1.Name = "RibbonStatusBar1"
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
'
Me.TBPM_PROFILE_CONTROLSBindingSource.DataMember = "TBPM_PROFILE_CONTROLS"
@@ -464,11 +464,11 @@ Partial Class frmFormDesigner
Me.SplitContainerDesigner.Panel2.ResumeLayout(False)
CType(Me.SplitContainerDesigner, System.ComponentModel.ISupportInitialize).EndInit()
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)
CType(Me.pgControlsNew, 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.TBDD_CONNECTIONBindingSource, System.ComponentModel.ISupportInitialize).EndInit()
Me.GridControlContextMenu.ResumeLayout(False)

View File

@@ -1071,18 +1071,6 @@
<data name="$this.Text" xml:space="preserve">
<value>Formular Designer</value>
</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">
<value>bbtnItemFinishSQL</value>
</data>
@@ -1251,6 +1239,18 @@
<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>
</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">
<value>TBPM_PROFILE_CONTROLSBindingSource</value>
</data>

View File

@@ -238,10 +238,7 @@ Public Class frmFormDesigner
End Function
Private Function IsNotVectorDatetimeIndex(IndexName As String) As Boolean
Dim oType As Integer
If IndexName = "@@DISPLAY_ONLY" Then
Return 0
End If
Dim oType As Integer '= WINDREAM_MOD.GetIndexType(IndexName)
If IDB_ACTIVE = False Then
oType = WINDREAM_MOD.GetIndexType(IndexName)
Else
@@ -313,7 +310,7 @@ Public Class frmFormDesigner
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.ColumnHeaderMouseClick, AddressOf table_ColumnHeaderMouseClick
@@ -639,6 +636,7 @@ Public Class frmFormDesigner
obj.Index = ClassAllgemeineFunktionen.NotNullString(row.Item("INDEX_NAME"), "")
obj.DefaultValue = ClassAllgemeineFunktionen.NotNullString(row.Item("DEFAULT_VALUE"), Nothing)
obj.TextAlignment = ClassAllgemeineFunktionen.NotNullString(row.Item("TEXT_ALIGNMENT"), "Near")
' Default value for ConnectionID
Dim oConnectionId = ClassAllgemeineFunktionen.NotNullString(row.Item("CONNECTION_ID"), 0)
obj.SQLCommand = New SQLValue(row.Item("SQL_UEBERPRUEFUNG"))
Return obj
@@ -732,6 +730,8 @@ Public Class frmFormDesigner
Dim cmb As Windows.Forms.ComboBox = sender
Dim cmbProps As ComboboxProperties = CreatePropsObjectWithIndicies(New ComboboxProperties, oRow, Source_AllIndicies)
cmbProps.ChoiceLists = Windream_ChoiceLists
cmbProps.Regex = ClassAllgemeineFunktionen.NotNullString(oRow.Item("REGEX_MATCH"), String.Empty)
cmbProps.RegexMessage = ClassAllgemeineFunktionen.NotNullString(oRow.Item("REGEX_MESSAGE_DE"), String.Empty)
cmbProps.ChoiceList = ClassAllgemeineFunktionen.NotNullString(oRow.Item("CHOICE_LIST"), String.Empty)
cmbProps.Enable_SQL = New SQLValue(ClassAllgemeineFunktionen.NotNullString(oRow.Item("SQL_ENABLE"), ""))
cmbProps.Enable_SQL_OnLoad = New SQLValue(ClassAllgemeineFunktionen.NotNullString(oRow.Item("SQL_ENABLE_ON_LOAD"), ""))
@@ -760,7 +760,6 @@ Public Class frmFormDesigner
oGridProps.AllowAddNewValues = StrToBool(oRow.Item("VKT_ADD_ITEM"))
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.DISPLAY_SEP_FORM = StrToBool(oRow.Item("DISPLAY_IN_SEPERATE_FORM")) ' Hier hinzufügen
props = oGridProps
ElseIf TypeOf sender Is Button Then
Dim oButton As Button = sender
@@ -924,8 +923,6 @@ Public Class frmFormDesigner
Dim oActive As Boolean = IIf(newValue = True, 1, 0)
UpdateSingleValue("CONTROL_ACTIVE", oActive)
Case "DISPLAY_SEP_FORM"
UpdateSingleValue("DISPLAY_IN_SEPERATE_FORM", IIf(newValue = True, 1, 0))
Case "CtrlImage"
Dim myPath As ImageValue = newValue
UpdateImage(myPath.Value)
@@ -990,21 +987,30 @@ Public Class frmFormDesigner
escapedValue = $"'{v.Value.Replace("'", "''")}'"
'UpdateSingleValue("CONNECTION_ID", v.ConnectionId)
ElseIf TypeOf value Is Boolean Then
If escapedValue = False Then
escapedValue = 0
Else
escapedValue = 1
End If
End If
Try
Dim oUPD = $"UPDATE TBPM_PROFILE_CONTROLS SET {columnName} = {escapedValue}, CHANGED_WHO = '{USER_USERNAME}' WHERE GUID = {guid}"
If DatabaseFallback.ExecuteNonQueryECM(oUPD) = True Then
Dim upd = $"UPDATE TBPM_PROFILE_CONTROLS SET {columnName} = {escapedValue}, CHANGED_WHO = '{USER_USERNAME}' WHERE GUID = {guid}"
If DatabaseFallback.ExecuteNonQueryECM(upd) = True Then
tslblAenderungen.Visibility = DevExpress.XtraBars.BarItemVisibility.Always
tslblAenderungen.Caption = "Änderungen gespeichert - " & Now
If columnName.ToUpper = "CTRL_TEXT" Then
Dim oSQL = $"EXEC PRPM_CHANGE_CONTROL_CAPTION {guid},{escapedValue},'{USER_USERNAME}','{USER_LANGUAGE}'"
DatabaseFallback.ExecuteNonQueryECM(oSQL)
ElseIf columnName.ToUpper = "SQL_UEBERPRUEFUNG" Then
Dim oSQL = $"UPDATE TBPM_PROFILE_CONTROLS SET CONNECTION_ID = 1 WHERE GUID = {guid} AND CONNECTION_ID IS NULL"
DatabaseFallback.ExecuteNonQueryECM(oSQL)
End If
CHANGES_FORM_DESIGN = True
Return True
Else
_Logger.Info($"UpdateSingleValue - Fehler beim Speichern von Control (Id: {guid}): ExecuteNonQueryECM [{oUPD}] returned False")
LOGGER.Info($"UpdateSingleValue - Fehler beim Speichern von Control (Id: {guid}, column: {columnName}): {vbCrLf}{upd}")
End If
Return False
@@ -1042,12 +1048,12 @@ Public Class frmFormDesigner
Dim oSQL = $"SELECT SQL_BTN_FINISH FROM TBPM_PROFILE WHERE GUID = {ProfileId}"
Dim oldSQL = DatabaseFallback.GetScalarValueECM(oSQL)
Dim oForm As New frmSQLEditor(LOGCONFIG, DatabaseECM) With {
.SQLCommand = oldSQL,
.SQLConnection = 1,
.PlaceholdersManualPrefix = "CTRL",
.PlaceholdersManualTitle = "Controls",
.PlaceholdersManual = CURRENT_CONTROL_NAME_LIST.ToDictionary(Function(name) name, Function(name) name)
}
.SQLCommand = oldSQL,
.SQLConnection = 1,
.PlaceholdersManualPrefix = "CTRL",
.PlaceholdersManualTitle = "Controls",
.PlaceholdersManual = CURRENT_CONTROL_NAME_LIST.ToDictionary(Function(name) name, Function(name) name)
}
If IDB_ACTIVE = False Then
oForm.ATTRIBUTE_STORE = "WM"
oForm.PlaceholdersWindream = MVSource_AllIndicies
@@ -1175,7 +1181,7 @@ Public Class frmFormDesigner
SetMovementHandlers(label)
Dim oInsert = $"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, DISPLAY_IN_SEPERATE_FORM)
VALUES ({ProfileId},'{label.Name}','LBL','{label.Text}','{label.Location.X}','{label.Location.Y}','{USER_USERNAME}',{label.Size.Height},{label.Size.Width},'{label.TextAlign}','')"
If DatabaseFallback.ExecuteNonQueryECM(oInsert) Then
'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, "")
@@ -1190,11 +1196,12 @@ Public Class frmFormDesigner
_Logger.Info($"Error while inserting new Label Control into TBPM_PROFILE_CONTROLS: {oInsert}")
MsgBox("Fehler beim Erstellen des Labels. Bitte überprüfen Sie die Log-Datei für weitere Informationen.", MsgBoxStyle.Critical, "Fehler beim Erstellen des Labels")
End If
Case ClassControlCreator.PREFIX_TEXTBOX
Dim txt = ControlCreator.CreateNewTextBox(cursorPosition)
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
CurrentControl = txt
CurrentControl.Tag = New ClassControlCreator.ControlMetadata() With {
@@ -1208,7 +1215,7 @@ Public Class frmFormDesigner
Dim cmb = ControlCreator.CreateNewCombobox(cursorPosition)
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
CurrentControl = cmb
CurrentControl.Tag = New ClassControlCreator.ControlMetadata() With {
@@ -1222,7 +1229,7 @@ Public Class frmFormDesigner
Dim dtp = ControlCreator.CreateNewDatetimepicker(cursorPosition)
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
CurrentControl = dtp
CurrentControl.Tag = New ClassControlCreator.ControlMetadata() With {
@@ -1236,7 +1243,7 @@ Public Class frmFormDesigner
Dim chk = ControlCreator.CreateNewCheckbox(cursorPosition)
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
CurrentControl = chk
CurrentControl.Tag = New ClassControlCreator.ControlMetadata() With {
@@ -1251,7 +1258,7 @@ Public Class frmFormDesigner
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
CurrentControl = lc
CurrentControl.Tag = New ClassControlCreator.ControlMetadata() With {
@@ -1267,7 +1274,7 @@ Public Class frmFormDesigner
SetMovementHandlers(tb)
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
Dim oControlId = GetLastID()
@@ -1286,7 +1293,7 @@ Public Class frmFormDesigner
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
CurrentControl = line
CurrentControl.Tag = New ClassControlCreator.ControlMetadata() With {
@@ -1301,7 +1308,7 @@ Public Class frmFormDesigner
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
CurrentControl = oButton
CurrentControl.Tag = New ClassControlCreator.ControlMetadata() With {

View File

@@ -4,13 +4,14 @@
Dim DT_USER = DatabaseFallback.GetDatatableECM(oSQL)
'
If IsNothing(DT_USER) Then
LOGGER.Info("GHOST Select 1 was nothing, now trying 2nd..")
LOGGER.Info($"GHOST Select 1 [{oSQL}] was nothing, now trying 2nd..")
oSQL = "SELECT CONFIG_VALUE FROM TBIDB_BASE WITH (NOLOCK) WHERE CONFIG_NAME = 'GHOST_SELECT'"
If Not IsNothing(oSQL) Then
oSQL = DatabaseFallback.GetScalarValueIDB(oSQL)
DT_USER = DatabaseFallback.GetDatatableIDB(oSQL)
Else
MsgBox("No SQL for Ghostmode via IDB. Check Your configuration.", MsgBoxStyle.Exclamation)
LOGGER.Info($"GHOST Select 2 [{oSQL}] was nothing, Exit.")
MsgBox("No SQL for Ghostmode via SQL. Check Your configuration.", MsgBoxStyle.Exclamation)
Exit Sub
End If
End If

File diff suppressed because it is too large Load Diff

View File

@@ -290,9 +290,6 @@
<metadata name="TableAdapterManager.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>905, 17</value>
</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">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
@@ -437,9 +434,6 @@
GT/5HgfSAAAAAElFTkSuQmCC
</value>
</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">
<value>257, 56</value>
</metadata>

View File

@@ -4,7 +4,7 @@ Imports DevExpress.XtraCharts
Imports DevExpress.XtraGrid.Views.Tile
Imports DigitalData.GUIs.Common
Public Class frmInvDashboard
Partial Public Class frmInvDashboard
Private _selectedChart As ChartControl
Private Sub frmInvDashboard_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Try
@@ -15,26 +15,104 @@ Public Class frmInvDashboard
WithClipboardHandler()
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
Me.VWPM_CHART_TOP5TableAdapter.Fill(Me.DD_DMSLiteDataSet.VWPM_CHART_TOP5)
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, 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()
Catch ex As Exception
LOGGER.Error(ex)
MsgBox("Error loading form2 - " & ex.Message, MsgBoxStyle.Exclamation, ADDITIONAL_TITLE)
End Try
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()
Try
Dim groupCount As Integer
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
Configure_Split_Containers(groupCount)
charts = New List(Of ChartControl) From {ChartTopLeft, ChartTopRight, ChartBottomLeft, ChartBottomRight}
If groupCount >= 1 Then
@@ -53,7 +131,7 @@ Public Class frmInvDashboard
If groupCount >= 1 Then
LOGGER.Debug($"ChartCreating...Found more than one charts [{groupCount}]")
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 groupCharts = BASEDATA_DT_CHARTS.Select(String.Format("GROUP_ID = '{0}'", oGroupID))
@@ -314,8 +392,8 @@ Public Class frmInvDashboard
RibbonPageGroup1.Enabled = False
RibbonPageGroup2.Enabled = True
BarButtonItem3.Enabled = True
BarButtonItem4.Enabled = False
BarButtonItem5.Enabled = False
BarButtonItemTKredExcel.Enabled = False
BarButtonItemTKredPdf.Enabled = False
End Sub
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 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"
If SaveFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
GridView1.ExportToXlsx(SaveFileDialog1.FileName)
End If
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"
If SaveFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
GridView1.ExportToPdf(SaveFileDialog1.FileName)
End If
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
RibbonPageGroup2.Enabled = True
BarButtonItem3.Enabled = False
BarButtonItem4.Enabled = True
BarButtonItem5.Enabled = True
BarButtonItemTKredExcel.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 Class

File diff suppressed because it is too large Load Diff

2723
app/TaskFlow/frmMain.aa.resx Normal file

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

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")
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
If oControl IsNot Nothing AndAlso TypeOf oControl IsNot Label Then
@@ -1164,6 +1164,7 @@ Public Class frmMassValidator
If CreateWMObject() = True Then
If ClassFinalizeDoc.Write_Final_Metadata(CURRENT_WMFILE) = True Then
Dim sql = $"EXEC PRTF_PROFILE_FILES_WORK {CURRENT_DOC_ID},{CURRENT_ProfilGUID},{USER_ID},'Worked'"
'String.Format("UPDATE TBPM_PROFILE_FILES SET IN_WORK = 0, WORK_USER = '{0}', EDIT = 1 WHERE GUID = {1}", USER_USERNAME, CURRENT_DOC_GUID)
If DatabaseFallback.ExecuteNonQueryECM(sql) = True Then
workedFiles += 1

View File

@@ -48,22 +48,39 @@ Partial Class frmMonitor
Me.XtraSaveFileDialog1 = New System.Windows.Forms.SaveFileDialog()
Me.SplitContainerControlMain = New DevExpress.XtraEditors.SplitContainerControl()
Me.DocumentViewerMonitor = New DigitalData.Controls.DocumentViewer.DocumentViewer()
Me.BarButtonItem5 = New DevExpress.XtraBars.BarButtonItem()
CType(Me.RibbonControl1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.SplitContainerControl1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.SplitContainerControl1.Panel1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SplitContainerControl1.Panel1.SuspendLayout()
CType(Me.SplitContainerControl1.Panel2, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SplitContainerControl1.Panel2.SuspendLayout()
Me.SplitContainerControl1.SuspendLayout()
CType(Me.GridControl1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.GridView1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.SplitContainerControl2, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.SplitContainerControl2.Panel1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SplitContainerControl2.Panel1.SuspendLayout()
CType(Me.SplitContainerControl2.Panel2, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SplitContainerControl2.Panel2.SuspendLayout()
Me.SplitContainerControl2.SuspendLayout()
CType(Me.GridControl2, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.GridView2, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.SplitContainerControl3, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.SplitContainerControl3.Panel1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SplitContainerControl3.Panel1.SuspendLayout()
CType(Me.SplitContainerControl3.Panel2, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SplitContainerControl3.Panel2.SuspendLayout()
Me.SplitContainerControl3.SuspendLayout()
CType(Me.GridControl3, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.GridView3, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.GridControl4, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.GridView4, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.SplitContainerControlMain, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.SplitContainerControlMain.Panel1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SplitContainerControlMain.Panel1.SuspendLayout()
CType(Me.SplitContainerControlMain.Panel2, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SplitContainerControlMain.Panel2.SuspendLayout()
Me.SplitContainerControlMain.SuspendLayout()
Me.SuspendLayout()
'
@@ -71,13 +88,13 @@ Partial Class frmMonitor
'
Me.RibbonControl1.AutoHideEmptyItems = True
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.BarButtonItem4, Me.BarStaticItemInfoDoc, Me.BarStaticItemInfo})
Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.RibbonControl1.SearchEditItem, Me.BarButtonItem1, Me.BarButtonItem2, Me.BarButtonItem3, Me.BarButtonItem4, Me.BarStaticItemInfoDoc, Me.BarStaticItemInfo, Me.BarButtonItem5})
Me.RibbonControl1.Location = New System.Drawing.Point(0, 0)
Me.RibbonControl1.MaxItemId = 7
Me.RibbonControl1.MaxItemId = 8
Me.RibbonControl1.Name = "RibbonControl1"
Me.RibbonControl1.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.RibbonPage1})
Me.RibbonControl1.ShowApplicationButton = DevExpress.Utils.DefaultBoolean.[False]
Me.RibbonControl1.Size = New System.Drawing.Size(1202, 146)
Me.RibbonControl1.Size = New System.Drawing.Size(1202, 158)
Me.RibbonControl1.StatusBar = Me.RibbonStatusBar1
'
'BarButtonItem1
@@ -136,6 +153,7 @@ Partial Class frmMonitor
'
'RibbonPageGroup1
'
Me.RibbonPageGroup1.ItemLinks.Add(Me.BarButtonItem5)
Me.RibbonPageGroup1.ItemLinks.Add(Me.BarButtonItem1)
Me.RibbonPageGroup1.ItemLinks.Add(Me.BarButtonItem3)
Me.RibbonPageGroup1.ItemLinks.Add(Me.BarButtonItem4)
@@ -146,10 +164,10 @@ Partial Class frmMonitor
'
Me.RibbonStatusBar1.ItemLinks.Add(Me.BarStaticItemInfoDoc)
Me.RibbonStatusBar1.ItemLinks.Add(Me.BarStaticItemInfo)
Me.RibbonStatusBar1.Location = New System.Drawing.Point(0, 676)
Me.RibbonStatusBar1.Location = New System.Drawing.Point(0, 675)
Me.RibbonStatusBar1.Name = "RibbonStatusBar1"
Me.RibbonStatusBar1.Ribbon = Me.RibbonControl1
Me.RibbonStatusBar1.Size = New System.Drawing.Size(1202, 21)
Me.RibbonStatusBar1.Size = New System.Drawing.Size(1202, 22)
'
'RibbonPage2
'
@@ -161,11 +179,17 @@ Partial Class frmMonitor
Me.SplitContainerControl1.Dock = System.Windows.Forms.DockStyle.Fill
Me.SplitContainerControl1.Location = New System.Drawing.Point(0, 0)
Me.SplitContainerControl1.Name = "SplitContainerControl1"
'
'SplitContainerControl1.Panel1
'
Me.SplitContainerControl1.Panel1.Controls.Add(Me.GridControl1)
Me.SplitContainerControl1.Panel1.Text = "Panel1"
'
'SplitContainerControl1.Panel2
'
Me.SplitContainerControl1.Panel2.Controls.Add(Me.SplitContainerControl2)
Me.SplitContainerControl1.Panel2.Text = "Panel2"
Me.SplitContainerControl1.Size = New System.Drawing.Size(864, 530)
Me.SplitContainerControl1.Size = New System.Drawing.Size(866, 517)
Me.SplitContainerControl1.SplitterPosition = 510
Me.SplitContainerControl1.TabIndex = 2
'
@@ -176,7 +200,7 @@ Partial Class frmMonitor
Me.GridControl1.MainView = Me.GridView1
Me.GridControl1.MenuManager = Me.RibbonControl1
Me.GridControl1.Name = "GridControl1"
Me.GridControl1.Size = New System.Drawing.Size(510, 530)
Me.GridControl1.Size = New System.Drawing.Size(510, 517)
Me.GridControl1.TabIndex = 0
Me.GridControl1.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.GridView1})
'
@@ -203,11 +227,17 @@ Partial Class frmMonitor
Me.SplitContainerControl2.Horizontal = False
Me.SplitContainerControl2.Location = New System.Drawing.Point(0, 0)
Me.SplitContainerControl2.Name = "SplitContainerControl2"
'
'SplitContainerControl2.Panel1
'
Me.SplitContainerControl2.Panel1.Controls.Add(Me.GridControl2)
Me.SplitContainerControl2.Panel1.Text = "Panel1"
'
'SplitContainerControl2.Panel2
'
Me.SplitContainerControl2.Panel2.Controls.Add(Me.SplitContainerControl3)
Me.SplitContainerControl2.Panel2.Text = "Panel2"
Me.SplitContainerControl2.Size = New System.Drawing.Size(342, 530)
Me.SplitContainerControl2.Size = New System.Drawing.Size(346, 517)
Me.SplitContainerControl2.SplitterPosition = 270
Me.SplitContainerControl2.TabIndex = 0
'
@@ -218,7 +248,7 @@ Partial Class frmMonitor
Me.GridControl2.MainView = Me.GridView2
Me.GridControl2.MenuManager = Me.RibbonControl1
Me.GridControl2.Name = "GridControl2"
Me.GridControl2.Size = New System.Drawing.Size(342, 270)
Me.GridControl2.Size = New System.Drawing.Size(346, 270)
Me.GridControl2.TabIndex = 1
Me.GridControl2.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.GridView2})
'
@@ -244,11 +274,17 @@ Partial Class frmMonitor
Me.SplitContainerControl3.Dock = System.Windows.Forms.DockStyle.Fill
Me.SplitContainerControl3.Location = New System.Drawing.Point(0, 0)
Me.SplitContainerControl3.Name = "SplitContainerControl3"
'
'SplitContainerControl3.Panel1
'
Me.SplitContainerControl3.Panel1.Controls.Add(Me.GridControl3)
Me.SplitContainerControl3.Panel1.Text = "Panel1"
'
'SplitContainerControl3.Panel2
'
Me.SplitContainerControl3.Panel2.Controls.Add(Me.GridControl4)
Me.SplitContainerControl3.Panel2.Text = "Panel2"
Me.SplitContainerControl3.Size = New System.Drawing.Size(342, 248)
Me.SplitContainerControl3.Size = New System.Drawing.Size(346, 237)
Me.SplitContainerControl3.SplitterPosition = 400
Me.SplitContainerControl3.TabIndex = 0
'
@@ -259,7 +295,7 @@ Partial Class frmMonitor
Me.GridControl3.MainView = Me.GridView3
Me.GridControl3.MenuManager = Me.RibbonControl1
Me.GridControl3.Name = "GridControl3"
Me.GridControl3.Size = New System.Drawing.Size(330, 248)
Me.GridControl3.Size = New System.Drawing.Size(336, 237)
Me.GridControl3.TabIndex = 2
Me.GridControl3.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.GridView3})
'
@@ -311,23 +347,38 @@ Partial Class frmMonitor
'
Me.SplitContainerControlMain.CollapsePanel = DevExpress.XtraEditors.SplitCollapsePanel.Panel1
Me.SplitContainerControlMain.Dock = System.Windows.Forms.DockStyle.Fill
Me.SplitContainerControlMain.Location = New System.Drawing.Point(0, 146)
Me.SplitContainerControlMain.Location = New System.Drawing.Point(0, 158)
Me.SplitContainerControlMain.Name = "SplitContainerControlMain"
'
'SplitContainerControlMain.Panel1
'
Me.SplitContainerControlMain.Panel1.Controls.Add(Me.DocumentViewerMonitor)
Me.SplitContainerControlMain.Panel1.Text = "Panel1"
'
'SplitContainerControlMain.Panel2
'
Me.SplitContainerControlMain.Panel2.Controls.Add(Me.SplitContainerControl1)
Me.SplitContainerControlMain.Panel2.Text = "Panel2"
Me.SplitContainerControlMain.Size = New System.Drawing.Size(1202, 530)
Me.SplitContainerControlMain.Size = New System.Drawing.Size(1202, 517)
Me.SplitContainerControlMain.SplitterPosition = 326
Me.SplitContainerControlMain.TabIndex = 5
'
'DocumentViewerMonitor
'
Me.DocumentViewerMonitor.Dock = System.Windows.Forms.DockStyle.Fill
Me.DocumentViewerMonitor.FileLoaded = False
Me.DocumentViewerMonitor.Location = New System.Drawing.Point(0, 0)
Me.DocumentViewerMonitor.Name = "DocumentViewerMonitor"
Me.DocumentViewerMonitor.Size = New System.Drawing.Size(326, 530)
Me.DocumentViewerMonitor.Size = New System.Drawing.Size(326, 517)
Me.DocumentViewerMonitor.TabIndex = 0
Me.DocumentViewerMonitor.Viewer_ForceTemporaryMode = False
'
'BarButtonItem5
'
Me.BarButtonItem5.Caption = "Aktualisieren"
Me.BarButtonItem5.Id = 7
Me.BarButtonItem5.ImageOptions.SvgImage = CType(resources.GetObject("BarButtonItem5.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
Me.BarButtonItem5.Name = "BarButtonItem5"
'
'frmMonitor
'
@@ -343,20 +394,36 @@ Partial Class frmMonitor
Me.StatusBar = Me.RibbonStatusBar1
Me.Text = "Monitoring"
CType(Me.RibbonControl1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.SplitContainerControl1.Panel1, System.ComponentModel.ISupportInitialize).EndInit()
Me.SplitContainerControl1.Panel1.ResumeLayout(False)
CType(Me.SplitContainerControl1.Panel2, System.ComponentModel.ISupportInitialize).EndInit()
Me.SplitContainerControl1.Panel2.ResumeLayout(False)
CType(Me.SplitContainerControl1, System.ComponentModel.ISupportInitialize).EndInit()
Me.SplitContainerControl1.ResumeLayout(False)
CType(Me.GridControl1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.GridView1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.SplitContainerControl2.Panel1, System.ComponentModel.ISupportInitialize).EndInit()
Me.SplitContainerControl2.Panel1.ResumeLayout(False)
CType(Me.SplitContainerControl2.Panel2, System.ComponentModel.ISupportInitialize).EndInit()
Me.SplitContainerControl2.Panel2.ResumeLayout(False)
CType(Me.SplitContainerControl2, System.ComponentModel.ISupportInitialize).EndInit()
Me.SplitContainerControl2.ResumeLayout(False)
CType(Me.GridControl2, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.GridView2, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.SplitContainerControl3.Panel1, System.ComponentModel.ISupportInitialize).EndInit()
Me.SplitContainerControl3.Panel1.ResumeLayout(False)
CType(Me.SplitContainerControl3.Panel2, System.ComponentModel.ISupportInitialize).EndInit()
Me.SplitContainerControl3.Panel2.ResumeLayout(False)
CType(Me.SplitContainerControl3, System.ComponentModel.ISupportInitialize).EndInit()
Me.SplitContainerControl3.ResumeLayout(False)
CType(Me.GridControl3, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.GridView3, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.GridControl4, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.GridView4, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.SplitContainerControlMain.Panel1, System.ComponentModel.ISupportInitialize).EndInit()
Me.SplitContainerControlMain.Panel1.ResumeLayout(False)
CType(Me.SplitContainerControlMain.Panel2, System.ComponentModel.ISupportInitialize).EndInit()
Me.SplitContainerControlMain.Panel2.ResumeLayout(False)
CType(Me.SplitContainerControlMain, System.ComponentModel.ISupportInitialize).EndInit()
Me.SplitContainerControlMain.ResumeLayout(False)
Me.ResumeLayout(False)
@@ -389,4 +456,5 @@ Partial Class frmMonitor
Friend WithEvents BarStaticItemInfoDoc As DevExpress.XtraBars.BarStaticItem
Friend WithEvents BarStaticItemInfo As DevExpress.XtraBars.BarStaticItem
Friend WithEvents DocumentViewerMonitor As DigitalData.Controls.DocumentViewer.DocumentViewer
Friend WithEvents BarButtonItem5 As DevExpress.XtraBars.BarButtonItem
End Class

View File

@@ -122,71 +122,92 @@
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAddEVYdFRpdGxlAEV4cG9ydDtYbHM7RXhwb3J0VG9Y
bHM7TKCZ/gAAAHFJREFUOE/dkMkNgDAMBKmaCtwDJfCiCL5pyrBIG8XGgP1lpFEuMoqYVNUoIloxDGT5
a+A0TQ/M66IViQmAaIRb26814Bm4BfihD4xzroEJ8DJGfyk6A+kXUO6Rz38AxvnrCyqSHnCmCQPYzPIY
yCt6APRYR9ABL1x3AAAAAElFTkSuQmCC
bHM7TKCZ/gAAAGxJREFUOE9j+P//PwMybmlp+U8KRtEMM4BYMFwNQFeED8ANKFs+/T8pGKsBIICNBuG1
pw7CNeE1AKYQ3QBkNk4DYJpBNLombHIYBsAUwDQiG4DuEpwGoNPobLwuIAVjGEBxOkDGFKdEkCApGAD0
WEfQztmY3AAAAABJRU5ErkJggg==
</value>
</data>
<data name="BarButtonItem1.ImageOptions.LargeImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAddEVYdFRpdGxlAEV4cG9ydDtYbHM7RXhwb3J0VG9Y
bHM7TKCZ/gAAATNJREFUWEflkD1uwkAQhTmfj5ID5ARuXUQUVK4pKZGQ6NJRUruKlEOEYvMe4qHNemyP
rcX85EmflpmdZT55EUK4K2ZzTszmnJjNOTGbpCzLMJIvUAC+bWHtIGaT4BEOfzhfVdWprusCZfpff+oY
s3lhVCjQNI0pMSjwvl6FqSj6YpYEBTDbgnfZBZhUwi3AWKfYHQ/nHqOeEgswF4kfSowS0BLVurNq9ZhU
gJEE7grMDgtoOU/WjO6se80wFOjhG7PDAkzfFxBx3xNKYNYnkJ5KXFtfoC9ugSl48hQC1mW2DAos3zYt
+ChnrB1o5xPYfHxyyRlGv2OS/h5lPgG8udJV64z6/0Sgq4/cTqArydxtBLwgLyjgSTT74AJeGLzJKzCB
xxAYQ26BLTAXdbC9CtyPsPgFto7Q9L8du98AAAAASUVORK5CYII=
bHM7TKCZ/gAAARxJREFUWEflkzsOgkAQhjkfR/EAnGBaCmNBRU1JSWJiZ2dpTWXiIbRYM8YhZGbYB49F
9E++rDvi/F9MSIwxyZqIQWzEIDZiEBsxIADABHIDgBQA8LcCvt9LICT4fJ7nz7IsU2WX2O8U4AWuoEDb
tqqEUyCrCjOWvgBGk0CBrCoEiwhoEt4CGO0kjtdLV2ITwHwkHigRJEAlmgC/2wQwJIFvBy9XBagcT62Q
f88FLNx5uSpAy6mYC/Sf4wK2oAQvHxTgJ6V/1/4BW7wFxuCTTQgI+JIpcQocdrVAe62mhO9HZhWo92cs
eYOhz33Y/DSrgKWouyvzPxEYmi8qMJQoAr78poBPtiPgC1vqjJfACL5DIIS5BRpe4KDpBNbkBbaO0PRj
TUUSAAAAAElFTkSuQmCC
</value>
</data>
<data name="BarButtonItem3.ImageOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAPdEVYdFRpdGxlAFNob3c7RXllO0njByUAAAE3SURB
VDhPpZKxSsRQEEXzG5ba+QHCYuMX+Df6AxIIWKQMiGBSprEQLBYbixSRFNkopNDeRgxaCAsmYZzzyJO3
MeKqAwfe3Ll3svsST0T+xaT4G74Ivu/vKqdRFEkQBAbtH9CYjf1ucFO5SpJEFouFNE0jXdcZOKMxw4N3
ZYEKe8pLnufairwtW7m+e5TDsxvTu4UHLxltPcLbymtd18ZA+Pj8VvaP5oapwkuGLAvmRVEMIzFPtuHv
FlBkyLJg2bbtIIv52essIEP2xwUu7p24Cy7s5VHjv+DCzJbmDsiyYEt5rqrKDMaXaEFjRuElQ9a+xp0w
DCXLMmNwXyNwtmE86n8io+3Kh7SRpqnEcSxlWZqPp+97A2c09eTKJV6b+1xg0eFMOVHulfcBzmizsX+l
+QuT4vqI9wEq0AjdmqGMVgAAAABJRU5ErkJggg==
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAPdEVYdFRpdGxlAFNob3c7RXllO0njByUAAAExSURB
VDhPpZKxSsRQFET3Nyy18wOExcYv8G/0B+TAgkXKgAhmyzQWgsViY7FFZItsFFJobyMuWggLJuHKPHzh
mSgavDBwM3dmktz3RmY2+g96xFD0CGAXOI3j2CaTiQPwIE6zrj40bgJX0+nUlsulrVYrq+vaQb04zaSR
9ksAsAe8ZFlmqrd1Zdd3j3Z4duOew5JGWnlcALANvJZl2ZqPz29t/2jm8F1JK4+8CpgtFot2qDd7808B
KnnkVcC6qqp2oM/+S4A88v4aECLcSRhw4Zen6v5CCM18AQfyKmALeC6Kwg26S/QQp5lKWnnk9ce4E0WR
zefzNsQfo6Dem6UBnuTpXqSNNE0tSRLL89xdnqZpHNSLAzLgUtreTQyCxsAJcA+8f0K9uHFX3wsYih4x
FB8q0AjdQAvTBwAAAABJRU5ErkJggg==
</value>
</data>
<data name="BarButtonItem3.ImageOptions.LargeImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAPdEVYdFRpdGxlAFNob3c7RXllO0njByUAAAJtSURB
VFhHxZY/i1NBFMV3/RJbbG1nJX4Nuy23sfVLiLJWsRC22jIhFpYhhEggKcXCLCEWaU3EQDCLaJAVEhzP
7zmTvPfmPo0ujBd+kDlz7rk3m3974Jz7r5hiSkwxJaaYElNMiSmmxBSrqNVq98RT0RcfxXcPj9G4w4M3
wso0xTxqvCVOxTvh9gQvPfT++wJquiOGIgtuNBpuMBi46XTqVquVW6/XGTxG4w5P8PteMv5+ATU8FNfC
NZtNNxqNJO9XeOmh12eQZc6JBBkPBZUFdLtdybv69OXatd68d49evHWnzwZetYvekEOg6lByYV7hADI9
F1nTZDKRtKvJh8/u7OWlu//k1ZY/FRkhj2xJhXmFgwwPgnk+n0vaFc+8PHyfBSiyQi4zJMUL6OJYfMM0
Ho8lFYs/e3n4vgtQZPoFmHEsKVrgAkO73dYxLl7zmyxAke2XuNAxWuCKy+VyqWNcvOFuugDZfoErHaMF
llwuFgsd46pawKLq00G2X4BnGS1wzmWr1dIxrqqXwAKvVWT7Bc51jBY4El8x9Ho9ScWqehNa4C0XmX44
M44kFRcAXZyIHxhns5mkXVV9DMvgwZsvssj02SeStjMLC4AMZ94cff1aX0R5uMOTLzJCHtmSCvMKhwDG
0NTpdNxms5H8q8pfxcBjtPwzp4fekEOm5GhWJATUwM9p9p6o1+tuOBxK3q/w0uMHk0GWOccUA2q6LV6L
LIzQfr9f+XPMXW4w0EsGWeYMU8yjRn4deXNeinz478BLD73ZcLDyTbEKhdwVj0XVv2Tc4dkOzWNlmmJK
TDElppgSU0yJKabEFNPhDn4CUL0KSeYATWkAAAAASUVORK5CYII=
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAPdEVYdFRpdGxlAFNob3c7RXllO0njByUAAAJSSURB
VFhHxZY9i1NBFIZ3/RNbbG1nJf4Nuy232dY/IcpavRYLW22ZEAvLEEIkkJRiYZYQi7QmYiCYRTTICgmO
PNe5YXJmbj4WvR544XLmnPc8k/sxOXDOHfxPRYmyFSXKVpQoW1GibEWJshUlNknSI0kvJHUkfZb004tr
cqxRQ20k67cTgKR7kk4lfZDkdhS19NB7dwBJDyT1cuNqteq63a4bjUZuPp+7xWKRiWtyrFETgNCLx/4A
kp5IusWoVqu5fr/vdg1q6fEQeOAVzUgCSDrUn8gMWq3WmvmXb7eu/u6je/rqvTt92V1bs0Fv8GsQh3Ze
CuAibxoOh2uGw09f3fnra/f4+ZuVtgUeAcSFnWeHn+XFk8lkzYid2+G7ABB4BRBnSQBJx5J+UDQYDKxH
9rPb4bsCEHh6AGYcpwCuKGg0GrY3C+65Hb4PAIG3h7hKAdywOJvNbF8WPHB2+L4AeHuAmxTAjMXpdGr7
sigCSKno7cDbA7DLCOCSxXq9bvuyKLoFKVGbCrw9wGUK4EjSdwra7bbtLXwIU6LWBp5+ODOOIgAPcSLp
F4Xj8XjNoOg1tKKG2jDw8sPxPglnrgF4iPP8nbWf39SHyA6nJgw8cj+87bwIwEI0m023XC5XhvZTjLgm
F+6cHno3DS8E8BAcp9kzUalUXK/XW5lvC2rpCe45XtGMjQAe4r6kt/kuMO10OoXHMWvBYEQvHvsfxwEE
pyMP53VgvE3U0kNvNvzOAAbmoaRnG/6SsUbNauhfBfgXihJlK0qUrShRtqJE2YoSZes3UL0KST/PhM0A
AAAASUVORK5CYII=
</value>
</data>
<data name="BarButtonItem4.ImageOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAldEVYdFRpdGxlAENsZWFyO0VyYXNlO1JlbW92ZTtC
YXJzO1JpYmJvbjuHgINzAAAAjElEQVQ4T6WQ2w2AIBAE7ckW/KUKO7EqS7GbkyV3eMCCBj8mvnYmwUVE
fkFfXvvmCRFRcF9siwcDI8XLNFKIBgY6rGUjRxoZ6ICJnoDtrJzAfloGLECHHdojkFGP5yeG41wjgqt+
YIInycACkI23SJYBC4wijVwfYRQpZOAD3YiNRliARuoxg778jiw3qLGCwJyNBO4AAAAASUVORK5CYII=
YXJzO1JpYmJvbjuHgINzAAAAg0lEQVQ4T6WQ0QnAIAwF3akr+OsUbuJUjuI2KRG1qS+xSj8ORXIH0RGR
+wM8MCV6SSjRU4PvRwEpqxGQRUCTIQJyC6zkEVEDm3IFAieyFYChBbiCMmTxfGJI+QopE5+bK1RZBlju
fEWGbAVWEZDnFVaRlzwHzIj8YIseUCPzsAY8nHIDqLGCwDZPXeAAAAAASUVORK5CYII=
</value>
</data>
<data name="BarButtonItem4.ImageOptions.LargeImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAldEVYdFRpdGxlAENsZWFyO0VyYXNlO1JlbW92ZTtC
YXJzO1JpYmJvbjuHgINzAAABNUlEQVRYR8WR0W3DMAxEs1NX6K+n6CadqqNkG1Vn6ASSPtmSJTgfD7EJ
8t4hfqWUPoocPokcWt4/3yNsmVTAs8y0yKEFIZ1YeXcJObQgoAMlJ3uJCPOdTKGOA2dycijBfCdTxMNA
j5y4Esx3MoU9CozISS3BfCdT8CBwR072Esx3MgWWAzNysjH/IIzk5dXyHeYfhJG8vFwOmH8QRvLycnlm
6BMsl2dqvpNFyrIKucsuB3Q4oaUsq5C7VDmgx0kt5WgVUg7ci6UcrsDJgfW4l+337yuT8FsOVeAIBzmw
TiUnsyWkHLQKWPlsiaYcjBQAoyVO5aBVIH4CS2+JSzloFZgt0SUHZwXuluiWg6sCoyWG5KCnwGUJGzJD
fcihimYJ3s1SH3JoC1Vi/T/wKeTwSeTwOdLrH2+P6VJXa4e4AAAAAElFTkSuQmCC
YXJzO1JpYmJvbjuHgINzAAAA6UlEQVRYR8WSyxGEIAxA7Wlb8EoVdmJVlmI3OOzsOpCEkJ94eCOTQ94b
cMk5L2+CBrNBA8i5rRrSua35RzmjfRA0gBCSHrVcHIEGEEJEQcmbCEhkACfvRkQFSORkRESARo4ivAEW
eRPhCfDI7whrQIT8iyUgTF7QBoTKtU8QLhf/hE/JRQFPyqUBcIEHUj4roJGzAWk/Pmk/cvkGPQGSdwMq
+R9vBCnnAmq5N6Ir1wZYIlg5FwCfwBIxlHMB3giRfBRgjRDLJQHaCJVcGjCMqJd4uA9EABsBF1m5D4Sc
i4i/gbdAg9mgwWwub4/pUvK+XdgAAAAASUVORK5CYII=
</value>
</data>
<assembly alias="DevExpress.Data.v21.2" name="DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<data name="BarButtonItem5.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAC4DAAAC77u/
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5Z
ZWxsb3d7ZmlsbDojRkZCMTE1O30KCS5CbGFja3tmaWxsOiM3MjcyNzI7fQoJLkdyZWVue2ZpbGw6IzAz
OUMyMzt9CgkuUmVke2ZpbGw6I0QxMUMxQzt9Cgkuc3Qwe29wYWNpdHk6MC43NTt9Cgkuc3Qxe29wYWNp
dHk6MC41O30KPC9zdHlsZT4NCiAgPGcgaWQ9IlJlZnJlc2hfMV8iPg0KICAgIDxwYXRoIGQ9Ik0yNC41
LDcuNUMyMi4zLDUuMywxOS4zLDQsMTYsNEMxMC4xLDQsNS4xLDguMyw0LjIsMTRoNC4xYzAuOS0zLjQs
NC02LDcuNy02YzIuMiwwLDQuMiwwLjksNS42LDIuNEwxOCwxNCAgIGg1LjdoNC4xSDI4VjRMMjQuNSw3
LjV6IiBjbGFzcz0iR3JlZW4iIC8+DQogICAgPHBhdGggZD0iTTE2LjIsMjRjLTIuMiwwLTQuMi0wLjkt
NS42LTIuNGwzLjYtMy42SDguNEg0LjRINC4ydjEwbDMuNS0zLjVjMi4yLDIuMiw1LjIsMy41LDguNSwz
LjUgICBDMjIuMSwyOCwyNywyMy43LDI4LDE4aC00LjFDMjMsMjEuNCwxOS45LDI0LDE2LjIsMjR6IiBj
bGFzcz0iR3JlZW4iIC8+DQogIDwvZz4NCjwvc3ZnPgs=
</value>
</data>
<metadata name="XtraSaveFileDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
@@ -196,11 +217,10 @@
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAbdEVYdFRpdGxlAEZpbmQ7SWQ7TG9jYXRlO1NlYXJj
aMjN118AAADxSURBVFhH7ZJRDsIwDEN3Qa7BQdAuwU24XUZQi1zPrbJ1G2Lax5OIcRxTMZjZT5HikUjx
SKTI3B4vI5Rn5mOPQopMNDjqQ6TIRIOjPkSKGQ5klvoUUsykgDuGIeRTfHazTyHFDIZUQJ/iKvDHBSio
RtiL2YgUnbTY+vVRmq8gRQeXO9mvAHlrLCtAy5vD94rBScYtnp6RL1EMDpo35mQFKnstrgK7FwjBezPh
bfIDqwqM42hL8L0ixEkHugqgLuYn+r5fZNKB7hdwTc2o++cixOFDNcTeSQr0kIP5EM6o+2cZtBYMRo3m
9p+whxwcxcyGCV++4POOhQ6sAAAAAElFTkSuQmCC
aMjN118AAADRSURBVFhH7ZJrCsMwDIN7wV1jBxm5xG6y23l0UDCS4jlN0z3Ijw9qIStK6GJmyych4WxI
OBsSFJfbwwDlIR96FCQossFZn4cERTY46/OQEAUirT4FCaLAFQMxGHXHaxdzDyuw/YxCnwX+oIAIU6S9
mJ8tEN0+S/gKJPxUAfDWaCsgAg4Fz6sVCG++E/kSs8DuApW9iFlgeIEUuEdCT4FSirUwrIDXxXwfXmAL
V7PXowJvEXvyQJy/v0AP6kCcvb5+U0gPPthrMMc/YQ/+xhnWnSdfvuDzi8ClJgAAAABJRU5ErkJggg==
</value>
</data>
</root>

View File

@@ -18,8 +18,16 @@ Public Class frmMonitor
Private _GridBuilder As GridBuilder
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
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
If FormShown = False Then Exit Sub
Load_Detail()
@@ -174,11 +182,25 @@ Public Class frmMonitor
'_frmDocView.LoadFile(oDocPath)
If File.Exists(oDocPath) Then
DocumentViewerMonitor.LoadFile_FromPath(oDocPath)
BarStaticItemInfo.Visibility = DevExpress.XtraBars.BarItemVisibility.Never
DocumentViewerMonitor.Visible = True
' DocumentViewerMonitor.RightOnlyView(USER_RIGHT_VIEW_ONLY)
Try
If DocumentViewerMonitor Is Nothing Then
LOGGER.Error("DocumentViewerMonitor is Nothing in Load_Doc")
BarStaticItemInfo.Visibility = DevExpress.XtraBars.BarItemVisibility.Always
BarStaticItemInfo.Caption = "DocView not initialized"
DocumentViewerMonitor.Visible = False
Else
DocumentViewerMonitor.LoadFile_FromPath(oDocPath)
BarStaticItemInfo.Visibility = DevExpress.XtraBars.BarItemVisibility.Never
DocumentViewerMonitor.Visible = True
' DocumentViewerMonitor.RightOnlyView(USER_RIGHT_VIEW_ONLY)
End If
Catch ex As Exception
LOGGER.Error(ex)
BarStaticItemInfo.Visibility = DevExpress.XtraBars.BarItemVisibility.Always
BarStaticItemInfo.Caption = "Error loading document"
DocumentViewerMonitor.Visible = False
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error in LoadDoc:")
End Try
Else
BarStaticItemInfo.Visibility = DevExpress.XtraBars.BarItemVisibility.Always
BarStaticItemInfo.Caption = $"File is not existing or accessible!"
@@ -193,8 +215,11 @@ Public Class frmMonitor
End Try
End Sub
Private Async Sub frmMonitor_Load(sender As Object, e As EventArgs) Handles Me.Load
Await Initial_Load()
End Sub
Private Async Function Initial_Load() As Threading.Tasks.Task
SplitContainerControlMain.Collapsed = True
Me.Text = COCKPIT_MONITOR_CAPTION
Dim _GridList As New List(Of GridView) From {
GridView1,
GridView2,
@@ -204,31 +229,35 @@ Public Class frmMonitor
_GridBuilder = New GridBuilder(_GridList).
WithReadOnlyOptions().
WithClipboardHandler()
GridView1.ShowLoadingPanel()
Await Load_Grid_Data()
GridView1.HideLoadingPanel()
Select Case DT_MONITOR_KONFIG.Rows.Count
Case 2
LoadGrid1Layout()
LoadGrid2Layout()
LoadGridLayout(1)
LoadGridLayout(2)
SplitContainerControl1.SplitterPosition = CONFIG.Config.MonitorSplitter1_Distance
Case 3
LoadGrid1Layout()
LoadGrid2Layout()
LoadGrid3Layout()
LoadGridLayout(1)
LoadGridLayout(2)
LoadGridLayout(3)
SplitContainerControl1.SplitterPosition = CONFIG.Config.MonitorSplitter1_Distance
SplitContainerControl2.SplitterPosition = CONFIG.Config.MonitorSplitter2_Distance
Case 4
LoadGrid1Layout()
LoadGrid2Layout()
LoadGrid3Layout()
LoadGrid4Layout()
LoadGridLayout(1)
LoadGridLayout(2)
LoadGridLayout(3)
LoadGridLayout(4)
SplitContainerControl1.SplitterPosition = CONFIG.Config.MonitorSplitter1_Distance
SplitContainerControl2.SplitterPosition = CONFIG.Config.MonitorSplitter2_Distance
SplitContainerControl3.SplitterPosition = CONFIG.Config.MonitorSplitter3_Distance
End Select
Try
GridView1.Columns.Item("FULL_FILE_PATH").Visible = False
Catch ex As Exception
LOGGER.Debug($"Attention: No Column FULL_FILE_PATH in GridView1")
End Try
Try
DocumentViewerMonitor.Init(LOGCONFIG, GDPICTURE_LICENSE, New DigitalData.Controls.DocumentViewer.DocumentViewer.ToolbarSettings() With {
.ShowPrintButton = True,
@@ -239,216 +268,145 @@ Public Class frmMonitor
Catch ex As Exception
LOGGER.Error(ex)
End Try
End Sub
End Function
Async Function Load_Grid_Data() As Threading.Tasks.Task
Try
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")
If Not IsNothing(DT_MONITOR_KONFIG) Then
If DT_MONITOR_KONFIG.Rows.Count >= 1 Then
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
End If
If DT_MONITOR_KONFIG Is Nothing OrElse DT_MONITOR_KONFIG.Rows.Count = 0 Then
MsgBox("No configuration found for this monitor cockpit. Please contact your administrator.", MsgBoxStyle.Critical, "No Configuration")
Me.Close()
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.Debug($"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
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error in Load_Grid_Data:")
Finally
FormShown = True
End Try
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
Dim Filename As String = String.Format("DevExpressGridViewMonitor_UserLayout_Grid1.xml")
Dim xml As String = System.IO.Path.Combine(USER_CONFIG_DIRECTORY, Filename)
If File.Exists(xml) Then
GridView1.RestoreLayoutFromXml(xml, OptionsLayoutBase.FullLayout)
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($"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
Catch ex As Exception
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 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
Select Case DT_MONITOR_KONFIG.Rows.Count
Case 2
SaveGrid1layout()
SaveGrid2layout()
SaveGridLayout(1)
SaveGridLayout(2)
Case 3
SaveGrid1layout()
SaveGrid2layout()
SaveGrid3layout()
SaveGridLayout(1)
SaveGridLayout(2)
SaveGridLayout(3)
CONFIG.Config.MonitorSplitter1_Distance = SplitContainerControl1.SplitterPosition
CONFIG.Config.MonitorSplitter2_Distance = SplitContainerControl2.SplitterPosition
Case 4
SaveGrid1layout()
SaveGrid2layout()
SaveGrid3layout()
SaveGrid4layout()
SaveGridLayout(1)
SaveGridLayout(2)
SaveGridLayout(3)
SaveGridLayout(4)
CONFIG.Config.MonitorSplitter1_Distance = SplitContainerControl1.SplitterPosition
CONFIG.Config.MonitorSplitter2_Distance = SplitContainerControl2.SplitterPosition
CONFIG.Config.MonitorSplitter3_Distance = SplitContainerControl3.SplitterPosition
@@ -465,6 +423,7 @@ Public Class frmMonitor
Private Sub frmMonitor_Shown(sender As Object, e As EventArgs) Handles Me.Shown
FormShown = True
Load_Detail()
Me.BringToFront()
End Sub
Private Sub BarButtonItem1_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem1.ItemClick
@@ -514,16 +473,55 @@ Public Class frmMonitor
End If
BarButtonItem3.Down = True
Dim oDocPath
Dim oDocPath As String = String.Empty
Try
oDocPath = GridView1.GetFocusedRowCellValue(GridView1.Columns("FULL_FILE_PATH"))
oDocPath = Convert.ToString(GridView1.GetFocusedRowCellValue(GridView1.Columns("FULL_FILE_PATH")))
Catch ex As Exception
LOGGER.Warn($"Error getting DocPath in Monitor: {ex.Message}")
Exit Sub
oDocPath = String.Empty
End Try
' Validierungen einbauen, damit LoadFile_FromPath keine unhandled NullReferenceException wirft
If String.IsNullOrWhiteSpace(oDocPath) Then
LOGGER.Warn("BarButtonItem3: No document path available")
BarStaticItemInfo.Visibility = DevExpress.XtraBars.BarItemVisibility.Always
If USER_LANGUAGE = "de-DE" Then
BarStaticItemInfo.Caption = "Kein Dateipfad verfügbar"
Else
BarStaticItemInfo.Caption = "No file path available"
End If
Exit Sub
End If
If Not File.Exists(oDocPath) Then
LOGGER.Warn($"BarButtonItem3: File does not exist: {oDocPath}")
BarStaticItemInfo.Visibility = DevExpress.XtraBars.BarItemVisibility.Always
If USER_LANGUAGE = "de-DE" Then
BarStaticItemInfo.Caption = "Datei nicht vorhanden oder nicht zugreifbar"
Else
BarStaticItemInfo.Caption = "File is not existing or accessible!"
End If
If DocumentViewerMonitor IsNot Nothing Then
DocumentViewerMonitor.Visible = False
End If
Exit Sub
End If
If DocumentViewerMonitor Is Nothing Then
LOGGER.Error("BarButtonItem3: DocumentViewerMonitor is Nothing")
MsgBox("Document viewer is not initialized.", MsgBoxStyle.Critical, "DocView")
Exit Sub
End If
Try
DocumentViewerMonitor.LoadFile_FromPath(oDocPath)
Catch ex As Exception
LOGGER.Error(ex)
BarStaticItemInfo.Visibility = DevExpress.XtraBars.BarItemVisibility.Always
BarStaticItemInfo.Caption = "Error loading document"
DocumentViewerMonitor.Visible = False
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error loading document")
End Try
DocumentViewerMonitor?.LoadFile_FromPath(oDocPath)
'If oDocPath <> "" Then
' If Not Application.OpenForms().OfType(Of frmValidator).Any Then
@@ -549,21 +547,25 @@ Public Class frmMonitor
Private Async Sub BarButtonItem4_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem4.ItemClick
Select Case DT_MONITOR_KONFIG.Rows.Count
Case 2
RemoveLayout()
RemoveLayout2()
RemoveGridLayout(1)
RemoveGridLayout(2)
Case 3
RemoveLayout()
RemoveLayout2()
RemoveLayout3()
RemoveGridLayout(1)
RemoveGridLayout(2)
RemoveGridLayout(3)
Case 4
RemoveLayout()
RemoveLayout2()
RemoveLayout3()
RemoveLayout4()
RemoveGridLayout(1)
RemoveGridLayout(2)
RemoveGridLayout(3)
RemoveGridLayout(4)
End Select
GridView1.ShowLoadingPanel()
Await Load_Grid_Data()
GridView1.HideLoadingPanel()
End Sub
Private Async Sub BarButtonItem5_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem5.ItemClick
Await Initial_Load()
End Sub
End Class

160
app/TaskFlow/frmUserSelect.Designer.vb generated Normal file
View File

@@ -0,0 +1,160 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class frmUserSelect
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(frmUserSelect))
Me.RibbonControl1 = New DevExpress.XtraBars.Ribbon.RibbonControl()
Me.BarButtonItem2 = New DevExpress.XtraBars.BarButtonItem()
Me.RibbonPage1 = 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.GridControl1 = New DevExpress.XtraGrid.GridControl()
Me.GridView1 = New DevExpress.XtraGrid.Views.Grid.GridView()
Me.BarButtonItem1 = New DevExpress.XtraBars.BarButtonItem()
CType(Me.RibbonControl1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.GridControl1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.GridView1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
'
'RibbonControl1
'
Me.RibbonControl1.EmptyAreaImageOptions.ImagePadding = New System.Windows.Forms.Padding(35, 39, 35, 39)
Me.RibbonControl1.ExpandCollapseItem.Id = 0
Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.RibbonControl1.SearchEditItem, Me.BarButtonItem2})
Me.RibbonControl1.Location = New System.Drawing.Point(0, 0)
Me.RibbonControl1.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.RibbonControl1.MaxItemId = 2
Me.RibbonControl1.Name = "RibbonControl1"
Me.RibbonControl1.OptionsMenuMinWidth = 385
Me.RibbonControl1.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.RibbonPage1})
Me.RibbonControl1.ShowApplicationButton = DevExpress.Utils.DefaultBoolean.[False]
Me.RibbonControl1.Size = New System.Drawing.Size(933, 158)
Me.RibbonControl1.StatusBar = Me.RibbonStatusBar1
'
'BarButtonItem2
'
Me.BarButtonItem2.Caption = "User wählen"
Me.BarButtonItem2.Id = 1
Me.BarButtonItem2.ImageOptions.SvgImage = CType(resources.GetObject("BarButtonItem2.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
Me.BarButtonItem2.Name = "BarButtonItem2"
'
'RibbonPage1
'
Me.RibbonPage1.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup1})
Me.RibbonPage1.Name = "RibbonPage1"
Me.RibbonPage1.Text = "Start"
'
'RibbonPageGroup1
'
Me.RibbonPageGroup1.ItemLinks.Add(Me.BarButtonItem2)
Me.RibbonPageGroup1.Name = "RibbonPageGroup1"
Me.RibbonPageGroup1.Text = "Aktionen"
'
'RibbonStatusBar1
'
Me.RibbonStatusBar1.Location = New System.Drawing.Point(0, 566)
Me.RibbonStatusBar1.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.RibbonStatusBar1.Name = "RibbonStatusBar1"
Me.RibbonStatusBar1.Ribbon = Me.RibbonControl1
Me.RibbonStatusBar1.Size = New System.Drawing.Size(933, 22)
'
'RibbonPage2
'
Me.RibbonPage2.Name = "RibbonPage2"
Me.RibbonPage2.Text = "RibbonPage2"
'
'GridControl1
'
Me.GridControl1.Dock = System.Windows.Forms.DockStyle.Fill
Me.GridControl1.EmbeddedNavigator.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.GridControl1.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.GridControl1.Location = New System.Drawing.Point(0, 158)
Me.GridControl1.MainView = Me.GridView1
Me.GridControl1.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.GridControl1.Name = "GridControl1"
Me.GridControl1.Size = New System.Drawing.Size(933, 408)
Me.GridControl1.TabIndex = 10
Me.GridControl1.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.GridView1})
'
'GridView1
'
Me.GridView1.Appearance.EvenRow.BackColor = System.Drawing.Color.LightBlue
Me.GridView1.Appearance.EvenRow.Options.UseBackColor = True
Me.GridView1.DetailHeight = 458
Me.GridView1.GridControl = Me.GridControl1
Me.GridView1.Name = "GridView1"
Me.GridView1.OptionsBehavior.AllowAddRows = DevExpress.Utils.DefaultBoolean.[False]
Me.GridView1.OptionsBehavior.AllowDeleteRows = DevExpress.Utils.DefaultBoolean.[False]
Me.GridView1.OptionsBehavior.AllowFixedGroups = DevExpress.Utils.DefaultBoolean.[True]
Me.GridView1.OptionsBehavior.AllowGroupExpandAnimation = DevExpress.Utils.DefaultBoolean.[True]
Me.GridView1.OptionsBehavior.Editable = False
Me.GridView1.OptionsClipboard.CopyColumnHeaders = DevExpress.Utils.DefaultBoolean.[False]
Me.GridView1.OptionsView.ColumnAutoWidth = False
Me.GridView1.OptionsView.EnableAppearanceEvenRow = True
Me.GridView1.OptionsView.ShowAutoFilterRow = True
Me.GridView1.OptionsView.ShowErrorPanel = DevExpress.Utils.DefaultBoolean.[True]
Me.GridView1.OptionsView.ShowViewCaption = True
Me.GridView1.ViewCaption = "Bitte wählen Sie einen User"
'
'BarButtonItem1
'
Me.BarButtonItem1.Caption = "Ghost Modus aktivieren"
Me.BarButtonItem1.Id = 1
Me.BarButtonItem1.ImageOptions.SvgImage = CType(resources.GetObject("BarButtonItem1.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
Me.BarButtonItem1.Name = "BarButtonItem1"
'
'frmUserSelect
'
Me.Appearance.Options.UseFont = True
Me.AutoScaleDimensions = New System.Drawing.SizeF(7.0!, 17.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(933, 588)
Me.Controls.Add(Me.GridControl1)
Me.Controls.Add(Me.RibbonStatusBar1)
Me.Controls.Add(Me.RibbonControl1)
Me.Font = New System.Drawing.Font("Segoe UI", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.IconOptions.SvgImage = CType(resources.GetObject("frmUserSelect.IconOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
Me.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.Name = "frmUserSelect"
Me.Ribbon = Me.RibbonControl1
Me.StatusBar = Me.RibbonStatusBar1
Me.Text = "Test-User auswählen"
CType(Me.RibbonControl1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.GridControl1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.GridView1, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False)
Me.PerformLayout()
End Sub
Friend WithEvents RibbonControl1 As DevExpress.XtraBars.Ribbon.RibbonControl
Friend WithEvents RibbonPage1 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 GridControl1 As DevExpress.XtraGrid.GridControl
Friend WithEvents GridView1 As DevExpress.XtraGrid.Views.Grid.GridView
Friend WithEvents BarButtonItem2 As DevExpress.XtraBars.BarButtonItem
Friend WithEvents BarButtonItem1 As DevExpress.XtraBars.BarButtonItem
End Class

View File

@@ -118,80 +118,80 @@
<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/
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAMwEAAAC77u/
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9Cgku
WWVsbG93e2ZpbGw6I0ZGQjExNTt9CgkuQmx1ZXtmaWxsOiMxMTc3RDc7fQoJLkdyZWVue2ZpbGw6IzAz
OUMyMzt9CgkuUmVke2ZpbGw6I0QxMUMxQzt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh
Y2l0eTowLjc1O30KCS5zdDF7b3BhY2l0eTowLjU7fQoJLnN0MntvcGFjaXR5OjAuMjU7fQo8L3N0eWxl
Pg0KICA8ZyBpZD0iRGVsZXRlTGlzdCI+DQogICAgPHBhdGggZD0iTTYsMjZWNGgxOHYxMy4ybDItMlYz
YzAtMC42LTAuNC0xLTEtMUg1QzQuNCwyLDQsMi40LDQsM3YyNGMwLDAuNiwwLjQsMSwxLDFoOC4ybDIt
Mkg2eiIgY2xhc3M9IkJsYWNrIiAvPg0KICAgIDxwb2x5Z29uIHBvaW50cz0iMjgsMjAgMjYsMTggMjIs
MjIgMTgsMTggMTYsMjAgMjAsMjQgMTYsMjggMTgsMzAgMjIsMjYgMjYsMzAgMjgsMjggMjQsMjQgICIg
Y2xhc3M9IlJlZCIgLz4NCiAgPC9nPg0KPC9zdmc+Cw==
MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5Z
ZWxsb3d7ZmlsbDojRkZCMTE1O30KCS5SZWR7ZmlsbDojRDExQzFDO30KCS5HcmVlbntmaWxsOiMwMzlD
MjM7fQoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh
Y2l0eTowLjU7fQoJLnN0MXtvcGFjaXR5OjAuNzU7fQoJLnN0MntkaXNwbGF5Om5vbmU7fQoJLnN0M3tk
aXNwbGF5OmlubGluZTtmaWxsOiNGRkIxMTU7fQoJLnN0NHtkaXNwbGF5OmlubGluZTt9Cgkuc3Q1e2Rp
c3BsYXk6aW5saW5lO29wYWNpdHk6MC43NTt9Cgkuc3Q2e2Rpc3BsYXk6aW5saW5lO29wYWNpdHk6MC41
O30KCS5zdDd7ZGlzcGxheTppbmxpbmU7ZmlsbDojMDM5QzIzO30KCS5zdDh7ZGlzcGxheTppbmxpbmU7
ZmlsbDojRDExQzFDO30KCS5zdDl7ZGlzcGxheTppbmxpbmU7ZmlsbDojMTE3N0Q3O30KCS5zdDEwe2Rp
c3BsYXk6aW5saW5lO2ZpbGw6I0ZGRkZGRjt9Cjwvc3R5bGU+DQogIDxnIGlkPSJMZWFkXzFfIj4NCiAg
ICA8cGF0aCBkPSJNMTAuNSw5LjZDOS40LDYsMTAsMiwxNC44LDJjNS4yLDAsNS41LDMsNS41LDNzMi45
LTAuMiwxLjEsNC43YzAuMS0wLjEsMC40LTAuMSwwLjUsMC4zICAgYzAuMSwwLjUtMC4xLDAuOS0wLjMs
MS40Yy0wLjMsMC41LDAuMSwxLjctMC45LDEuNnYwLjFjLTAuNSwyLjMtMiw0LjktNC43LDQuOXMtNC4x
LTIuNi00LjctNC45YzAtMC4xLDAtMC4yLDAtMC4yICAgYy0xLDAuMS0wLjctMS4xLTAuOS0xLjZTOS45
LDEwLjQsMTAsOS45QzEwLjEsOS43LDEwLjQsOS42LDEwLjUsOS42eiBNMjAsMThsLTIuNCw3LjlMMTcs
MjJsMC42LTJoLTMuMmwwLjYsMmwtMC42LDMuOUwxMiwxOCAgIGMtMi4zLDMuNS04LDEtOCw4LjVWMzBo
MTBoMWgyaDFoMTB2LTMuNUMyOCwxOS4xLDIyLjMsMjEuNCwyMCwxOHoiIGlkPSJMZWFkIiBjbGFzcz0i
QmxhY2siIC8+DQogIDwvZz4NCjwvc3ZnPgs=
</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">
<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
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAPoBAAAC77u/
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAAIEAAAC77u/
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
Y2U9InByZXNlcnZlIiBpZD0iU2VsZWN0VGFibGUiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcg
MCAwIDMyIDMyIj4NCiAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5CbHVle2ZpbGw6IzExNzdENzt9
Cjwvc3R5bGU+DQogIDxwYXRoIGQ9Ik0xMCwxMEgyVjRoOFYxMHogTTIwLDRoLTh2Nmg4VjR6IE0zMCw0
aC04djZoOFY0eiBNMTAsMTJIMnY2aDhWMTJ6IE0yMCwxMmgtOHY2aDhWMTJ6IE0zMCwxMmgtOHY2aDhW
MTJ6ICAgTTEwLDIwSDJ2Nmg4VjIweiBNMjAsMjBoLTh2Nmg4VjIweiBNMzAsMjBoLTh2Nmg4VjIweiIg
Y2xhc3M9IkJsdWUiIC8+DQo8L3N2Zz4L
Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5Z
ZWxsb3d7ZmlsbDojRkZCMTE1O30KCS5SZWR7ZmlsbDojRDExQzFDO30KCS5HcmVlbntmaWxsOiMwMzlD
MjM7fQoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh
Y2l0eTowLjU7fQoJLnN0MXtvcGFjaXR5OjAuNzU7fQoJLnN0MntkaXNwbGF5Om5vbmU7fQoJLnN0M3tk
aXNwbGF5OmlubGluZTtmaWxsOiNGRkIxMTU7fQoJLnN0NHtkaXNwbGF5OmlubGluZTt9Cgkuc3Q1e2Rp
c3BsYXk6aW5saW5lO29wYWNpdHk6MC43NTt9Cgkuc3Q2e2Rpc3BsYXk6aW5saW5lO29wYWNpdHk6MC41
O30KCS5zdDd7ZGlzcGxheTppbmxpbmU7ZmlsbDojMDM5QzIzO30KCS5zdDh7ZGlzcGxheTppbmxpbmU7
ZmlsbDojRDExQzFDO30KCS5zdDl7ZGlzcGxheTppbmxpbmU7ZmlsbDojMTE3N0Q3O30KCS5zdDEwe2Rp
c3BsYXk6aW5saW5lO2ZpbGw6I0ZGRkZGRjt9Cjwvc3R5bGU+DQogIDxnIGlkPSJSb2xlIj4NCiAgICA8
cGF0aCBkPSJNNCwydjE2YzAsNi42LDUuNCwxMiwxMiwxMnMxMi01LjQsMTItMTJWMkg0eiBNMTEsOWMx
LjcsMCwzLDEuMywzLDNIOEM4LDEwLjMsOS4zLDksMTEsOXogTTE2LDI0ICAgYy0zLjMsMC02LTIuNy02
LTZjMCwxLjEsMi43LDIsNiwyczYtMC45LDYtMkMyMiwyMS4zLDE5LjMsMjQsMTYsMjR6IE0xOCwxMmMw
LTEuNywxLjMtMywzLTNzMywxLjMsMywzSDE4eiIgY2xhc3M9IlllbGxvdyIgLz4NCiAgPC9nPg0KPC9z
dmc+Cw==
</value>
</data>
<data name="frmUserSelect.IconOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAKEDAAAC77u/
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5Z
ZWxsb3d7ZmlsbDojRkZCMTE1O30KCS5CbGFja3tmaWxsOiM3MjcyNzI7fQoJLkdyZWVue2ZpbGw6IzAz
OUMyMzt9CgkuUmVke2ZpbGw6I0QxMUMxQzt9Cgkuc3Qwe29wYWNpdHk6MC43NTt9Cgkuc3Qxe29wYWNp
dHk6MC41O30KPC9zdHlsZT4NCiAgPGcgaWQ9IlVzZXIiPg0KICAgIDxwYXRoIGQ9Ik0xMCw5LjljLTAu
MSwwLjUsMC4yLDAuOSwwLjQsMS40YzAuMiwwLjUtMC4xLDEuNywwLjksMS42YzAsMCwwLDAuMSwwLDAu
MmMwLjYsMi4zLDIsNC45LDQuNyw0LjkgICBjMi43LDAsNC4yLTIuNiw0LjctNC45YzAsMCwwLTAuMSww
LTAuMWMxLDAuMSwwLjYtMS4xLDAuOS0xLjZjMC4yLTAuNSwwLjQtMC45LDAuMy0xLjRjLTAuMS0wLjQt
MC40LTAuNC0wLjUtMC4zICAgYzEuOC00LjktMS4xLTQuNy0xLjEtNC43UzIwLDIsMTQuOCwyQzEwLDIs
OS40LDYsMTAuNSw5LjZDMTAuNCw5LjYsMTAuMSw5LjcsMTAsOS45eiIgY2xhc3M9IkJsYWNrIiAvPg0K
ICAgIDxwYXRoIGQ9Ik0yMCwxOGMtMC44LDEuNS0yLjEsNC00LDRjLTEuOSwwLTMuMi0yLjUtNC00Yy0y
LjMsMy41LTgsMS04LDguNVYzMGgyNHYtMy41QzI4LDE5LjEsMjIuMywyMS40LDIwLDE4eiIgY2xhc3M9
IkJsYWNrIiAvPg0KICA8L2c+DQo8L3N2Zz4L
</value>
</data>
</root>

View File

@@ -0,0 +1,81 @@
Public Class frmUserSelect
Public SelectedUserName As String
Public SelectedUserID As Integer
Public SelectedUserLanguage As String
Private Sub frmUserSelect_Load(sender As Object, e As EventArgs) Handles Me.Load
Dim oSQL = "SELECT [SQL_COMMAND] FROM TBDD_SQL_COMMANDS WITH (NOLOCK) where TITLE = 'GHOST_SELECT'"
Dim DT_USER = DatabaseFallback.GetDatatableECM(oSQL)
'
If IsNothing(DT_USER) Then
LOGGER.Info($"Ghost Select 1 [{oSQL}] was nothing, now trying 2nd..")
oSQL = "SELECT CONFIG_VALUE FROM TBIDB_BASE WITH (NOLOCK) WHERE CONFIG_NAME = 'GHOST_SELECT'"
If Not IsNothing(oSQL) Then
oSQL = DatabaseFallback.GetScalarValueIDB(oSQL)
DT_USER = DatabaseFallback.GetDatatableIDB(oSQL)
Else
LOGGER.Info($"GHOST Select 2 [{oSQL}] was nothing, Exit.")
MsgBox("No SQL for Ghostmode via SQL. Check Your configuration.", MsgBoxStyle.Exclamation)
Exit Sub
End If
End If
Try
If Not IsNothing(DT_USER) Then
oSQL = DT_USER.Rows(0).Item(0)
DT_USER = DatabaseFallback.GetDatatableECM(oSQL)
GridControl1.DataSource = DT_USER
LOGGER.Info($"Received [{DT_USER.Rows.Count}] Users to select!")
End If
Catch ex As Exception
MsgBox("Error Load_Users:" & vbNewLine & ex.Message)
End Try
End Sub
Private Sub BarButtonItem2_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem2.ItemClick
SelectUser()
End Sub
Private Sub GridView1_DoubleClick(sender As Object, e As EventArgs) Handles GridView1.DoubleClick
SelectUser()
End Sub
Private Sub SelectUser()
Dim oFocusedUserName
Try
oFocusedUserName = GridView1.GetFocusedRowCellValue(GridView1.Columns("UserName"))
If IsNothing(oFocusedUserName) Then
oFocusedUserName = GridView1.GetFocusedRowCellValue(GridView1.Columns("USERNAME"))
End If
If IsNothing(oFocusedUserName) Then
oFocusedUserName = GridView1.GetFocusedRowCellValue(GridView1.Columns("USER_NAME"))
End If
If IsNothing(oFocusedUserName) Then
oFocusedUserName = GridView1.GetFocusedRowCellValue(GridView1.Columns("USER"))
End If
Catch ex As Exception
oFocusedUserName = GridView1.GetFocusedRowCellValue(GridView1.Columns("UserName"))
If IsNothing(oFocusedUserName) Then
MsgBox(ex.Message, MsgBoxStyle.Critical)
Exit Sub
End If
End Try
If oFocusedUserName <> String.Empty Then
SelectedUserName = oFocusedUserName
Dim oDT As DataTable = DatabaseFallback.GetDatatableECM("SELECT * FROM TBDD_USER WITH (NOLOCK) WHERE USERNAME = '" & oFocusedUserName & "'")
If Not IsNothing(oDT) Then
SelectedUserID = oDT.Rows(0).Item("GUID")
SelectedUserLanguage = oDT.Rows(0).Item("LANGUAGE")
Else
MsgBox("Error: User not found in TBDD_USER!", MsgBoxStyle.Critical)
Exit Sub
End If
Me.Close()
Else
MsgBox("Please choose an user for Testing!", MsgBoxStyle.Information)
End If
End Sub
End Class

View File

@@ -616,7 +616,7 @@
<value>DocumentViewer1</value>
</data>
<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.3.0, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;DocumentViewer1.Parent" xml:space="preserve">
<value>SplitContainer1.Panel2</value>

File diff suppressed because it is too large Load Diff

View File

@@ -125,20 +125,32 @@
<data name="SplitContainerControlDoc.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 0</value>
</data>
<data name="SplitContainerControlDoc.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="XtraTabControlDocs.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="XtraTabControlDocs.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 0</value>
</data>
<data name="XtraTabControlDocs.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="GridControlDocSearch1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="GridControlDocSearch1.EmbeddedNavigator.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="GridControlDocSearch1.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 0</value>
</data>
<data name="GridControlDocSearch1.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="GridControlDocSearch1.Size" type="System.Drawing.Size, System.Drawing">
<value>279, 446</value>
<value>466, 736</value>
</data>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="GridControlDocSearch1.TabIndex" type="System.Int32, mscorlib">
@@ -156,8 +168,11 @@
<data name="&gt;&gt;GridControlDocSearch1.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="XtraTabPageDoc1.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>5, 5, 5, 5</value>
</data>
<data name="XtraTabPageDoc1.Size" type="System.Drawing.Size, System.Drawing">
<value>349, 557</value>
<value>466, 736</value>
</data>
<data name="XtraTabPageDoc1.Text" xml:space="preserve">
<value>XtraTabPage1</value>
@@ -175,7 +190,7 @@
<value>0</value>
</data>
<data name="XtraTabControlDocs.Size" type="System.Drawing.Size, System.Drawing">
<value>351, 580</value>
<value>468, 764</value>
</data>
<data name="XtraTabControlDocs.TabIndex" type="System.Int32, mscorlib">
<value>4</value>
@@ -183,11 +198,17 @@
<data name="GridControlDocSearch2.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="GridControlDocSearch2.EmbeddedNavigator.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="GridControlDocSearch2.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 0</value>
</data>
<data name="GridControlDocSearch2.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="GridControlDocSearch2.Size" type="System.Drawing.Size, System.Drawing">
<value>279, 446</value>
<value>466, 730</value>
</data>
<data name="GridControlDocSearch2.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
@@ -204,8 +225,11 @@
<data name="&gt;&gt;GridControlDocSearch2.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="XtraTabPageDoc2.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>5, 5, 5, 5</value>
</data>
<data name="XtraTabPageDoc2.Size" type="System.Drawing.Size, System.Drawing">
<value>349, 557</value>
<value>466, 730</value>
</data>
<data name="XtraTabPageDoc2.Text" xml:space="preserve">
<value>XtraTabPage2</value>
@@ -225,11 +249,17 @@
<data name="GridControlDocSearch3.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="GridControlDocSearch3.EmbeddedNavigator.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="GridControlDocSearch3.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 0</value>
</data>
<data name="GridControlDocSearch3.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="GridControlDocSearch3.Size" type="System.Drawing.Size, System.Drawing">
<value>279, 446</value>
<value>466, 730</value>
</data>
<data name="GridControlDocSearch3.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
@@ -246,8 +276,11 @@
<data name="&gt;&gt;GridControlDocSearch3.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="XtraTabPageDoc3.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>5, 5, 5, 5</value>
</data>
<data name="XtraTabPageDoc3.Size" type="System.Drawing.Size, System.Drawing">
<value>349, 557</value>
<value>466, 730</value>
</data>
<data name="XtraTabPageDoc3.Text" xml:space="preserve">
<value>XtraTabPage1</value>
@@ -267,11 +300,17 @@
<data name="GridControlDocSearch4.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="GridControlDocSearch4.EmbeddedNavigator.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="GridControlDocSearch4.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 0</value>
</data>
<data name="GridControlDocSearch4.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="GridControlDocSearch4.Size" type="System.Drawing.Size, System.Drawing">
<value>279, 446</value>
<value>466, 730</value>
</data>
<data name="GridControlDocSearch4.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
@@ -288,8 +327,11 @@
<data name="&gt;&gt;GridControlDocSearch4.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="XtraTabPageDoc4.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>5, 5, 5, 5</value>
</data>
<data name="XtraTabPageDoc4.Size" type="System.Drawing.Size, System.Drawing">
<value>349, 557</value>
<value>466, 730</value>
</data>
<data name="XtraTabPageDoc4.Text" xml:space="preserve">
<value>XtraTabPage2</value>
@@ -309,11 +351,17 @@
<data name="GridControlDocSearch5.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="GridControlDocSearch5.EmbeddedNavigator.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="GridControlDocSearch5.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 0</value>
</data>
<data name="GridControlDocSearch5.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="GridControlDocSearch5.Size" type="System.Drawing.Size, System.Drawing">
<value>279, 446</value>
<value>466, 730</value>
</data>
<data name="GridControlDocSearch5.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
@@ -330,8 +378,11 @@
<data name="&gt;&gt;GridControlDocSearch5.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="XtraTabPageDoc5.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>5, 5, 5, 5</value>
</data>
<data name="XtraTabPageDoc5.Size" type="System.Drawing.Size, System.Drawing">
<value>349, 557</value>
<value>466, 730</value>
</data>
<data name="XtraTabPageDoc5.Text" xml:space="preserve">
<value>XtraTabPage3</value>
@@ -382,10 +433,10 @@
<value>0, 0</value>
</data>
<data name="DocumentViewer1.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
<value>5, 5, 5, 5</value>
</data>
<data name="DocumentViewer1.Size" type="System.Drawing.Size, System.Drawing">
<value>503, 580</value>
<value>673, 764</value>
</data>
<data name="DocumentViewer1.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
@@ -394,7 +445,7 @@
<value>DocumentViewer1</value>
</data>
<data name="&gt;&gt;DocumentViewer1.Type" xml:space="preserve">
<value>DigitalData.Controls.DocumentViewer.DocumentViewer, DigitalData.Controls.DocumentViewer, Version=2.6.0.0, Culture=neutral, PublicKeyToken=null</value>
<value>DigitalData.Controls.DocumentViewer.DocumentViewer, DigitalData.Controls.DocumentViewer, Version=2.7.3.0, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;DocumentViewer1.Parent" xml:space="preserve">
<value>SplitContainerControlDoc.Panel2</value>
@@ -418,7 +469,7 @@
<value>1</value>
</data>
<data name="SplitContainerControlDoc.Size" type="System.Drawing.Size, System.Drawing">
<value>864, 580</value>
<value>1153, 764</value>
</data>
<data name="SplitContainerControlDoc.TabIndex" type="System.Int32, mscorlib">
<value>6</value>
@@ -439,7 +490,10 @@
<value>Fill</value>
</data>
<data name="SplitContainerSearches.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 27</value>
<value>0, 31</value>
</data>
<data name="SplitContainerSearches.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="XtraTabControlSQL.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
@@ -447,14 +501,23 @@
<data name="XtraTabControlSQL.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 0</value>
</data>
<data name="XtraTabControlSQL.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="GridControlSearch1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="GridControlSearch1.EmbeddedNavigator.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="GridControlSearch1.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 0</value>
</data>
<data name="GridControlSearch1.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="GridControlSearch1.Size" type="System.Drawing.Size, System.Drawing">
<value>275, 448</value>
<value>459, 741</value>
</data>
<data name="GridControlSearch1.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
@@ -471,8 +534,11 @@
<data name="&gt;&gt;GridControlSearch1.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="XtraTabPageSearch1.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>5, 5, 5, 5</value>
</data>
<data name="XtraTabPageSearch1.Size" type="System.Drawing.Size, System.Drawing">
<value>344, 560</value>
<value>459, 741</value>
</data>
<data name="XtraTabPageSearch1.Text" xml:space="preserve">
<value>Search1</value>
@@ -490,7 +556,7 @@
<value>0</value>
</data>
<data name="XtraTabControlSQL.Size" type="System.Drawing.Size, System.Drawing">
<value>346, 583</value>
<value>461, 769</value>
</data>
<data name="XtraTabControlSQL.TabIndex" type="System.Int32, mscorlib">
<value>4</value>
@@ -498,11 +564,17 @@
<data name="GridControlSearch2.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="GridControlSearch2.EmbeddedNavigator.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="GridControlSearch2.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 0</value>
</data>
<data name="GridControlSearch2.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="GridControlSearch2.Size" type="System.Drawing.Size, System.Drawing">
<value>275, 448</value>
<value>459, 729</value>
</data>
<data name="GridControlSearch2.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
@@ -519,8 +591,11 @@
<data name="&gt;&gt;GridControlSearch2.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="XtraTabPageSearch2.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="XtraTabPageSearch2.Size" type="System.Drawing.Size, System.Drawing">
<value>344, 560</value>
<value>459, 729</value>
</data>
<data name="XtraTabPageSearch2.Text" xml:space="preserve">
<value>Search2</value>
@@ -540,11 +615,17 @@
<data name="GridControlSearch3.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="GridControlSearch3.EmbeddedNavigator.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="GridControlSearch3.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 0</value>
</data>
<data name="GridControlSearch3.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="GridControlSearch3.Size" type="System.Drawing.Size, System.Drawing">
<value>275, 448</value>
<value>459, 729</value>
</data>
<data name="GridControlSearch3.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
@@ -561,8 +642,11 @@
<data name="&gt;&gt;GridControlSearch3.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="XtraTabPageSearch3.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="XtraTabPageSearch3.Size" type="System.Drawing.Size, System.Drawing">
<value>344, 560</value>
<value>459, 729</value>
</data>
<data name="XtraTabPageSearch3.Text" xml:space="preserve">
<value>XtraTabPage1</value>
@@ -582,11 +666,17 @@
<data name="GridControlSearch4.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="GridControlSearch4.EmbeddedNavigator.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="GridControlSearch4.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 0</value>
</data>
<data name="GridControlSearch4.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="GridControlSearch4.Size" type="System.Drawing.Size, System.Drawing">
<value>275, 448</value>
<value>459, 729</value>
</data>
<data name="GridControlSearch4.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
@@ -603,8 +693,11 @@
<data name="&gt;&gt;GridControlSearch4.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="XtraTabPageSearch4.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="XtraTabPageSearch4.Size" type="System.Drawing.Size, System.Drawing">
<value>344, 560</value>
<value>459, 729</value>
</data>
<data name="XtraTabPageSearch4.Text" xml:space="preserve">
<value>XtraTabPage2</value>
@@ -624,11 +717,17 @@
<data name="GridControlSearch5.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="GridControlSearch5.EmbeddedNavigator.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="GridControlSearch5.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 0</value>
</data>
<data name="GridControlSearch5.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="GridControlSearch5.Size" type="System.Drawing.Size, System.Drawing">
<value>275, 448</value>
<value>459, 729</value>
</data>
<data name="GridControlSearch5.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
@@ -645,8 +744,11 @@
<data name="&gt;&gt;GridControlSearch5.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="XtraTabPageSearch5.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="XtraTabPageSearch5.Size" type="System.Drawing.Size, System.Drawing">
<value>344, 560</value>
<value>459, 729</value>
</data>
<data name="XtraTabPageSearch5.Text" xml:space="preserve">
<value>XtraTabPage3</value>
@@ -679,19 +781,22 @@
<value>595, 17</value>
</metadata>
<data name="tsslblSQL.Size" type="System.Drawing.Size, System.Drawing">
<value>91, 17</value>
<value>115, 20</value>
</data>
<data name="tsslblSQL.Text" xml:space="preserve">
<value>No action so far</value>
</data>
<data name="statlbl.Size" type="System.Drawing.Size, System.Drawing">
<value>0, 17</value>
<value>0, 20</value>
</data>
<data name="StatusStrip1.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 583</value>
<value>0, 769</value>
</data>
<data name="StatusStrip1.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>1, 0, 19, 0</value>
</data>
<data name="StatusStrip1.Size" type="System.Drawing.Size, System.Drawing">
<value>346, 22</value>
<value>461, 26</value>
</data>
<data name="StatusStrip1.TabIndex" type="System.Int32, mscorlib">
<value>5</value>
@@ -730,22 +835,22 @@
<value>Bottom</value>
</data>
<data name="tslblDocID.Size" type="System.Drawing.Size, System.Drawing">
<value>61, 22</value>
<value>79, 28</value>
</data>
<data name="tslblDocID.Text" xml:space="preserve">
<value>tslblDocID</value>
</data>
<data name="tslblState.Size" type="System.Drawing.Size, System.Drawing">
<value>91, 22</value>
<value>115, 28</value>
</data>
<data name="tslblState.Text" xml:space="preserve">
<value>No action so far</value>
</data>
<data name="ToolStrip2.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 580</value>
<value>0, 764</value>
</data>
<data name="ToolStrip2.Size" type="System.Drawing.Size, System.Drawing">
<value>864, 25</value>
<value>1153, 31</value>
</data>
<data name="ToolStrip2.TabIndex" type="System.Int32, mscorlib">
<value>3</value>
@@ -778,7 +883,10 @@
<value>1</value>
</data>
<data name="SplitContainerSearches.Size" type="System.Drawing.Size, System.Drawing">
<value>1214, 605</value>
<value>1619, 795</value>
</data>
<data name="SplitContainerSearches.SplitterWidth" type="System.Int32, mscorlib">
<value>5</value>
</data>
<data name="SplitContainerSearches.TabIndex" type="System.Int32, mscorlib">
<value>3</value>
@@ -799,13 +907,13 @@
<value>17, 17</value>
</metadata>
<data name="DateiÖffnenToolStripMenuItem1.Size" type="System.Drawing.Size, System.Drawing">
<value>148, 22</value>
<value>184, 26</value>
</data>
<data name="DateiÖffnenToolStripMenuItem1.Text" xml:space="preserve">
<value>Öffnen</value>
</data>
<data name="EigenschaftenToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>148, 22</value>
<value>184, 26</value>
</data>
<data name="EigenschaftenToolStripMenuItem.Text" xml:space="preserve">
<value>Eigenschaften</value>
@@ -814,7 +922,7 @@
<value>Magenta</value>
</data>
<data name="ToolStripDropDownButtonFile.Size" type="System.Drawing.Size, System.Drawing">
<value>67, 24</value>
<value>79, 28</value>
</data>
<data name="ToolStripDropDownButtonFile.Text" xml:space="preserve">
<value>Datei</value>
@@ -823,7 +931,7 @@
<value>Magenta</value>
</data>
<data name="ToolStripButtonRefreshSearches.Size" type="System.Drawing.Size, System.Drawing">
<value>135, 24</value>
<value>162, 28</value>
</data>
<data name="ToolStripButtonRefreshSearches.Text" xml:space="preserve">
<value>Aktualisiere Ansicht</value>
@@ -832,7 +940,7 @@
<value>0, 0</value>
</data>
<data name="ToolStrip1.Size" type="System.Drawing.Size, System.Drawing">
<value>1214, 27</value>
<value>1619, 31</value>
</data>
<data name="ToolStrip1.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
@@ -873,7 +981,7 @@
</value>
</data>
<data name="EigenschaftenDateiToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>189, 30</value>
<value>218, 30</value>
</data>
<data name="EigenschaftenDateiToolStripMenuItem.Text" xml:space="preserve">
<value>Eigenschaften Datei</value>
@@ -936,28 +1044,28 @@
</value>
</data>
<data name="DateiÖffnenToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>189, 30</value>
<value>218, 30</value>
</data>
<data name="DateiÖffnenToolStripMenuItem.Text" xml:space="preserve">
<value>Datei öffnen</value>
</data>
<data name="ToolStripSeparator1.Size" type="System.Drawing.Size, System.Drawing">
<value>186, 6</value>
<value>215, 6</value>
</data>
<data name="ToolStripMenuItem1.Size" type="System.Drawing.Size, System.Drawing">
<value>189, 30</value>
<value>218, 30</value>
</data>
<data name="ToolStripMenuItem1.Text" xml:space="preserve">
<value>Aktualisieren</value>
</data>
<data name="LayoutZurücksetzenToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>189, 30</value>
<value>218, 30</value>
</data>
<data name="LayoutZurücksetzenToolStripMenuItem.Text" xml:space="preserve">
<value>Layout zurücksetzen</value>
</data>
<data name="ContextMenuStripWMFile.Size" type="System.Drawing.Size, System.Drawing">
<value>190, 130</value>
<value>219, 130</value>
</data>
<data name="&gt;&gt;ContextMenuStripWMFile.Name" xml:space="preserve">
<value>ContextMenuStripWMFile</value>
@@ -969,16 +1077,16 @@
<value>423, 17</value>
</metadata>
<data name="ToolStripSeparator2.Size" type="System.Drawing.Size, System.Drawing">
<value>147, 6</value>
<value>168, 6</value>
</data>
<data name="ToolStripMenuItem4.Size" type="System.Drawing.Size, System.Drawing">
<value>150, 30</value>
<value>171, 30</value>
</data>
<data name="ToolStripMenuItem4.Text" xml:space="preserve">
<value>Aktualisieren</value>
</data>
<data name="ContextMenuStripSQL.Size" type="System.Drawing.Size, System.Drawing">
<value>151, 40</value>
<value>172, 40</value>
</data>
<data name="&gt;&gt;ContextMenuStripSQL.Name" xml:space="preserve">
<value>ContextMenuStripSQL</value>
@@ -993,10 +1101,10 @@
<value>81</value>
</metadata>
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
<value>6, 13</value>
<value>8, 17</value>
</data>
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>1214, 632</value>
<value>1619, 826</value>
</data>
<data name="$this.Font" type="System.Drawing.Font, System.Drawing">
<value>Tahoma, 8.25pt</value>
@@ -1034,6 +1142,9 @@
AACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAP//AAA=
</value>
</data>
<data name="$this.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>Zusätzliche Suchen</value>
</data>

View File

@@ -3,6 +3,7 @@ Imports System.Data.SqlClient
Imports System.IO
Imports System.Runtime.InteropServices
Imports DevExpress.Utils
Imports DevExpress.XtraExport.Helpers
Imports DevExpress.XtraGrid
Imports DevExpress.XtraGrid.Columns
Imports DevExpress.XtraGrid.Views.Base
@@ -450,8 +451,8 @@ Public Class frmValidatorSearch
End Sub
Sub Refresh_Load_GridSQL(ConID As Integer, SQLCommand As String, TabIndex As Integer, TabCaption As String)
Try
Dim myGridControl As DevExpress.XtraGrid.GridControl
Dim myGridview As DevExpress.XtraGrid.Views.Grid.GridView
Dim myGridControl As New DevExpress.XtraGrid.GridControl
Dim myGridview As New DevExpress.XtraGrid.Views.Grid.GridView
Select Case TabIndex
Case 0
GridControlSearch1.DataSource = Nothing
@@ -487,24 +488,15 @@ Public Class frmValidatorSearch
If Not IsNothing(oDatatable) Then
XtraTabControlSQL.TabPages(TabIndex).Text = $"{TabCaption} ({oDatatable.Rows.Count})"
Select Case TabIndex
Case 0
GridControlSearch1.DataSource = oDatatable
GridViewSearch1.BestFitColumns(True)
Case 1
GridControlSearch2.DataSource = oDatatable
GridViewSearch2.BestFitColumns(True)
Case 2
GridControlSearch3.DataSource = oDatatable
GridViewSearch3.BestFitColumns(True)
Case 3
GridControlSearch4.DataSource = oDatatable
GridViewSearch4.BestFitColumns(True)
Case 4
GridControlSearch5.DataSource = oDatatable
GridViewSearch5.BestFitColumns(True)
myGridControl.DataSource = oDatatable
myGridview.BestFitColumns(True)
myGridControl.ForceInitialize()
myGridview.PopulateColumns()
Column_Formatting(myGridview)
End Select
tsslblSQL.Text = $"Tab [{TabCaption}] refreshed - {Now}"
End If
Catch ex As Exception
@@ -567,6 +559,7 @@ Public Class frmValidatorSearch
clsWMDocGrid.DTDocuments = oDatatable
Create_GridControl(myGridview, oDatatable)
Column_Formatting(myGridview)
Dim oxmlPath As String = ""
oxmlPath = Get_DocGrid_Layout_Filename(XtraTabControlDocs.SelectedTabPageIndex)
@@ -583,6 +576,47 @@ Public Class frmValidatorSearch
LOGGER.Error(ex)
End Try
End Sub
Private Sub Column_Formatting(pGridview As GridView)
' ========== SPALTENFORMATIERUNG ANWENDEN ==========
Try
For Each oColumn As DevExpress.XtraGrid.Columns.GridColumn In pGridview.Columns
For Each oRow As DataRow In BASEDATA_TBDD_COLUMNS_FORMAT.Rows
Try
Dim colName = oRow("COLUMN_TITLE").ToString()
Dim oViewName = oRow("GRIDVIEW").ToString()
Dim oSollFormatType = oRow("TYPE2FORMAT").ToString()
If (oColumn.FieldName = colName OrElse oColumn.Caption = colName) And (oViewName = pGridview.Name Or oViewName = "ALL") Then
Try
LOGGER.Debug($"Anwenden der Formatierung '{oSollFormatType}' auf Spalte '{colName}' in GridView '{pGridview.Name}': SollFormatType='{oSollFormatType}'")
If oSollFormatType = "DateTime" Then
If oColumn.ColumnType <> GetType(DateTime) Then
oColumn.DisplayFormat.FormatType = DevExpress.Utils.FormatType.DateTime
End If
If oColumn.ColumnType = GetType(DateTime) And oColumn.DisplayFormat.FormatString <> "dd.MM.yyyy HH:mm:ss" Then
oColumn.DisplayFormat.FormatString = "dd.MM.yyyy HH:mm:ss"
End If
ElseIf oSollFormatType = "Numeric" Then
If oColumn.ColumnType <> GetType(Int32) Then
oColumn.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Numeric
End If
End If
Catch ex As Exception
LOGGER.Warn($"⚠️ Fehler beim Anwenden der Formatierung '{oSollFormatType}' auf Spalte " & oColumn.FieldName & ": " & ex.Message)
End Try
End If
Catch ex As Exception
LOGGER.Warn("⚠️ Fehler in Column_Formatting beim Anwenden der Formatierung auf Spalte " & oColumn.FieldName & ": " & ex.Message)
End Try
Next
Next
Catch ex As Exception
LOGGER.Warn("⚠️ Fehler beim Anwenden der Formatierung aus TBDD_COLUMNS_FORMAT: " & ex.Message)
End Try
End Sub
Private Function Create_GridControl(MyGridView As GridView, _datatable As DataTable) As GridView
Dim oMyDocDatatable As New DataTable
Try

View File

@@ -1 +0,0 @@

View File

@@ -7,12 +7,19 @@
<package id="EntityFramework.Firebird" version="6.4.0" targetFramework="net462" />
<package id="GdPicture" version="14.4.4" targetFramework="net462" />
<package id="GdPicture.runtimes.windows" version="14.4.4" targetFramework="net462" />
<package id="GdPicture.WinForms" version="14.4.4" targetFramework="net462" />
<package id="Google.Protobuf" version="3.33.2" targetFramework="net462" />
<package id="Microsoft.AspNet.WebApi.Client" version="6.0.0" targetFramework="net462" />
<package id="Microsoft.Bcl.AsyncInterfaces" version="10.0.5" targetFramework="net462" />
<package id="Microsoft.Bcl.AsyncInterfaces" version="10.0.9" targetFramework="net462" />
<package id="Microsoft.Bcl.Cryptography" version="10.0.5" targetFramework="net462" />
<package id="Microsoft.Bcl.HashCode" version="6.0.0" targetFramework="net462" />
<package id="Microsoft.CSharp" version="4.7.0" targetFramework="net462" />
<package id="Microsoft.Extensions.DependencyInjection" version="10.0.0" targetFramework="net462" />
<package id="Microsoft.Extensions.DependencyInjection.Abstractions" version="10.0.0" targetFramework="net462" />
<package id="Microsoft.Extensions.Logging" version="10.0.0" targetFramework="net462" />
<package id="Microsoft.Extensions.Logging.Abstractions" version="10.0.0" targetFramework="net462" />
<package id="Microsoft.Extensions.Options" version="10.0.0" targetFramework="net462" />
<package id="Microsoft.Extensions.Primitives" version="10.0.0" targetFramework="net462" />
<package id="Microsoft.Identity.Client" version="4.55.0" targetFramework="net462" />
<package id="Microsoft.IdentityModel.Abstractions" version="6.22.0" targetFramework="net462" />
<package id="Microsoft.VisualBasic" version="10.3.0" targetFramework="net462" />
@@ -29,6 +36,7 @@
<package id="System.CodeDom" version="9.0.0" targetFramework="net462" />
<package id="System.Collections.Immutable" version="10.0.5" targetFramework="net462" />
<package id="System.Data.Odbc" version="6.0.1" targetFramework="net462" />
<package id="System.Diagnostics.DiagnosticSource" version="10.0.9" targetFramework="net462" />
<package id="System.Formats.Asn1" version="10.0.5" targetFramework="net462" />
<package id="System.IO.Packaging" version="10.0.5" targetFramework="net462" />
<package id="System.IO.Pipelines" version="10.0.5" targetFramework="net462" />

View File

@@ -316,8 +316,8 @@
<Reference Include="Mail">
<HintPath>M:\Bibliotheken\3rdParty\Limilabs\Mail.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Bcl.AsyncInterfaces, Version=10.0.0.5, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.AsyncInterfaces.10.0.5\lib\net462\Microsoft.Bcl.AsyncInterfaces.dll</HintPath>
<Reference Include="Microsoft.Bcl.AsyncInterfaces, Version=10.0.0.9, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.AsyncInterfaces.10.0.9\lib\net462\Microsoft.Bcl.AsyncInterfaces.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Bcl.Cryptography, Version=10.0.0.5, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.Cryptography.10.0.5\lib\net462\Microsoft.Bcl.Cryptography.dll</HintPath>
@@ -326,6 +326,24 @@
<HintPath>..\packages\Microsoft.Bcl.HashCode.6.0.0\lib\net462\Microsoft.Bcl.HashCode.dll</HintPath>
</Reference>
<Reference Include="Microsoft.CSharp" />
<Reference Include="Microsoft.Extensions.DependencyInjection, Version=10.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Extensions.DependencyInjection.10.0.0\lib\net462\Microsoft.Extensions.DependencyInjection.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Extensions.DependencyInjection.Abstractions, Version=10.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Extensions.DependencyInjection.Abstractions.10.0.0\lib\net462\Microsoft.Extensions.DependencyInjection.Abstractions.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Extensions.Logging, Version=10.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Extensions.Logging.10.0.0\lib\net462\Microsoft.Extensions.Logging.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Extensions.Logging.Abstractions, Version=10.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Extensions.Logging.Abstractions.10.0.0\lib\net462\Microsoft.Extensions.Logging.Abstractions.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Extensions.Options, Version=10.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Extensions.Options.10.0.0\lib\net462\Microsoft.Extensions.Options.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Extensions.Primitives, Version=10.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Extensions.Primitives.10.0.0\lib\net462\Microsoft.Extensions.Primitives.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Identity.Client, Version=4.55.0.0, Culture=neutral, PublicKeyToken=0a613f4dd989e8ae, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Identity.Client.4.55.0\lib\net461\Microsoft.Identity.Client.dll</HintPath>
</Reference>
@@ -385,6 +403,9 @@
<Reference Include="System.Data.OracleClient" />
<Reference Include="System.Deployment" />
<Reference Include="System.Design" />
<Reference Include="System.Diagnostics.DiagnosticSource, Version=10.0.0.9, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Diagnostics.DiagnosticSource.10.0.9\lib\net462\System.Diagnostics.DiagnosticSource.dll</HintPath>
</Reference>
<Reference Include="System.DirectoryServices" />
<Reference Include="System.DirectoryServices.AccountManagement" />
<Reference Include="System.Drawing" />
@@ -458,6 +479,7 @@
</ItemGroup>
<ItemGroup>
<Compile Include="ApplicationEvents.vb" />
<Compile Include="ClassCockpit.vb" />
<Compile Include="ClassConfig.vb" />
<Compile Include="ClassConstants.vb" />
<Compile Include="ClassControlCreator.vb" />
@@ -465,7 +487,6 @@
<Compile Include="ClassFinalIndex.vb" />
<Compile Include="ClassFinalizeDoc.vb" />
<Compile Include="ClassFormat.vb" />
<Compile Include="ClassGridDataLoader.vb" />
<Compile Include="ClassIDBData.vb" />
<Compile Include="ClassImageSelector.vb" />
<Compile Include="ClassImageValue.vb" />
@@ -484,6 +505,12 @@
<Compile Include="clsWMDocGrid.vb" />
<Compile Include="ControlCreator\Constants.vb" />
<Compile Include="ControlCreator\GridControl.vb" />
<Compile Include="crmCockpit_UserTest.Designer.vb">
<DependentUpon>crmCockpit_UserTest.vb</DependentUpon>
</Compile>
<Compile Include="crmCockpit_UserTest.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="FinalIndexDataSet.Designer.vb">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
@@ -545,6 +572,12 @@
<Compile Include="frmClientLogin.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="frmCockpitConfig.Designer.vb">
<DependentUpon>frmCockpitConfig.vb</DependentUpon>
</Compile>
<Compile Include="frmCockpitConfig.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="frmConnection.Designer.vb">
<DependentUpon>frmConnection.vb</DependentUpon>
</Compile>
@@ -557,12 +590,6 @@
<Compile Include="frmColumn_Detail.vb">
<SubType>Form</SubType>
</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">
<DependentUpon>frmDesignerLayout.vb</DependentUpon>
</Compile>
@@ -708,6 +735,12 @@
<Compile Include="frmMain.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="frmUserSelect.Designer.vb">
<DependentUpon>frmUserSelect.vb</DependentUpon>
</Compile>
<Compile Include="frmUserSelect.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="frmValidator.Designer.vb">
<DependentUpon>frmValidator.vb</DependentUpon>
</Compile>
@@ -778,6 +811,9 @@
</Compile>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="crmCockpit_UserTest.resx">
<DependentUpon>crmCockpit_UserTest.vb</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="frmAbout.resx">
<DependentUpon>frmAbout.vb</DependentUpon>
<SubType>Designer</SubType>
@@ -818,6 +854,10 @@
<DependentUpon>frmClientLogin.vb</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="frmCockpitConfig.resx">
<DependentUpon>frmCockpitConfig.vb</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="frmConnection.resx">
<DependentUpon>frmConnection.vb</DependentUpon>
<SubType>Designer</SubType>
@@ -826,9 +866,6 @@
<DependentUpon>frmColumn_Detail.vb</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="frmControl_Table.resx">
<DependentUpon>frmControl_Table.vb</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="frmDesignerLayout.resx">
<DependentUpon>frmDesignerLayout.vb</DependentUpon>
<SubType>Designer</SubType>
@@ -884,6 +921,9 @@
<DependentUpon>frmLoginAdmin.vb</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="frmMain.aa.resx">
<DependentUpon>frmMain.vb</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="frmMain.en.resx">
<DependentUpon>frmMain.vb</DependentUpon>
<SubType>Designer</SubType>
@@ -959,6 +999,9 @@
<DependentUpon>frmMain.vb</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="frmUserSelect.resx">
<DependentUpon>frmUserSelect.vb</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="frmValidator.en.resx">
<DependentUpon>frmValidator.vb</DependentUpon>
<SubType>Designer</SubType>
@@ -1265,11 +1308,11 @@
<None Include="Resources\PM_mit_slogan.JPG" />
</ItemGroup>
<ItemGroup>
<Content Include="logtaskflow.txt" />
<None Include="Changelog.md" />
<Content Include="DataColumnExpression.txt" />
<Content Include="DD_Icons_ICO_PMANAGER_48px.ico" />
<Content Include="DD_taskFLOW_ICON.ico" />
<Content Include="logtaskflow.txt" />
<Content Include="MailLicense.xml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
@@ -1379,10 +1422,6 @@
</Target>
<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')" />
<PropertyGroup>
<PostBuildEvent>
</PostBuildEvent>
</PropertyGroup>
<!-- 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.
<Target Name="BeforeBuild">