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.
This commit is contained in:
261
app/TaskFlow/frmCockpitConfig.Designer.vb
generated
261
app/TaskFlow/frmCockpitConfig.Designer.vb
generated
@@ -34,6 +34,7 @@ Partial Class frmCockpitConfig
|
||||
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.RibbonPage1 = New DevExpress.XtraBars.Ribbon.RibbonPage()
|
||||
Me.RibbonPageGroup1 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
|
||||
Me.RibbonPageGroup2 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
|
||||
@@ -63,6 +64,23 @@ Partial Class frmCockpitConfig
|
||||
Me.LabelControl_Chart = New DevExpress.XtraEditors.LabelControl()
|
||||
Me.LookUpEditMonitor = New DevExpress.XtraEditors.LookUpEdit()
|
||||
Me.LabelControl_Monitor = New DevExpress.XtraEditors.LabelControl()
|
||||
Me.XtraTabControl1 = 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.PanelControl2 = New DevExpress.XtraEditors.PanelControl()
|
||||
Me.LabelControl10 = New DevExpress.XtraEditors.LabelControl()
|
||||
Me.LabelControl11 = New DevExpress.XtraEditors.LabelControl()
|
||||
Me.GridAvailableGroups = New DevExpress.XtraGrid.GridControl()
|
||||
Me.ViewAvailableGroups = New DevExpress.XtraGrid.Views.Grid.GridView()
|
||||
Me.GridAssignedGroups = New DevExpress.XtraGrid.GridControl()
|
||||
Me.ViewAssignedGroups = New DevExpress.XtraGrid.Views.Grid.GridView()
|
||||
CType(Me.RibbonControl1, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
CType(Me.LookUpEdit1.Properties, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
CType(Me.CheckEdit_Cockpit_Active.Properties, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
@@ -78,6 +96,22 @@ Partial Class frmCockpitConfig
|
||||
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.XtraTabControl1, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
Me.XtraTabControl1.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.PanelControl2, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
Me.PanelControl2.SuspendLayout()
|
||||
CType(Me.GridAvailableGroups, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
CType(Me.ViewAvailableGroups, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
CType(Me.GridAssignedGroups, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
CType(Me.ViewAssignedGroups, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
Me.SuspendLayout()
|
||||
'
|
||||
'RibbonControl1
|
||||
@@ -85,10 +119,10 @@ Partial Class frmCockpitConfig
|
||||
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.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.RibbonControl1.Location = New System.Drawing.Point(0, 0)
|
||||
Me.RibbonControl1.Margin = New System.Windows.Forms.Padding(4)
|
||||
Me.RibbonControl1.MaxItemId = 10
|
||||
Me.RibbonControl1.MaxItemId = 11
|
||||
Me.RibbonControl1.Name = "RibbonControl1"
|
||||
Me.RibbonControl1.OptionsMenuMinWidth = 385
|
||||
Me.RibbonControl1.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.RibbonPage1})
|
||||
@@ -159,6 +193,13 @@ Partial Class frmCockpitConfig
|
||||
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
|
||||
'
|
||||
'RibbonPage1
|
||||
'
|
||||
Me.RibbonPage1.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup1, Me.RibbonPageGroup2})
|
||||
@@ -188,7 +229,8 @@ Partial Class frmCockpitConfig
|
||||
'
|
||||
'RibbonStatusBar1
|
||||
'
|
||||
Me.RibbonStatusBar1.Location = New System.Drawing.Point(0, 566)
|
||||
Me.RibbonStatusBar1.ItemLinks.Add(Me.bsitm_info)
|
||||
Me.RibbonStatusBar1.Location = New System.Drawing.Point(0, 711)
|
||||
Me.RibbonStatusBar1.Margin = New System.Windows.Forms.Padding(4)
|
||||
Me.RibbonStatusBar1.Name = "RibbonStatusBar1"
|
||||
Me.RibbonStatusBar1.Ribbon = Me.RibbonControl1
|
||||
@@ -240,8 +282,6 @@ Partial Class frmCockpitConfig
|
||||
'
|
||||
'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"
|
||||
@@ -264,7 +304,7 @@ Partial Class frmCockpitConfig
|
||||
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, 339)
|
||||
Me.TreeList_Cockpit.Size = New System.Drawing.Size(383, 236)
|
||||
Me.TreeList_Cockpit.TabIndex = 24
|
||||
'
|
||||
'LabelControl2
|
||||
@@ -465,12 +505,183 @@ Partial Class frmCockpitConfig
|
||||
Me.LabelControl_Monitor.TabIndex = 46
|
||||
Me.LabelControl_Monitor.Text = "Monitor-Definition"
|
||||
'
|
||||
'XtraTabControl1
|
||||
'
|
||||
Me.XtraTabControl1.AllowDrop = True
|
||||
Me.XtraTabControl1.Anchor = CType(((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left) _
|
||||
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
|
||||
Me.XtraTabControl1.Location = New System.Drawing.Point(12, 462)
|
||||
Me.XtraTabControl1.Name = "XtraTabControl1"
|
||||
Me.XtraTabControl1.SelectedTabPage = Me.XtraTabPage1
|
||||
Me.XtraTabControl1.Size = New System.Drawing.Size(921, 242)
|
||||
Me.XtraTabControl1.TabIndex = 50
|
||||
Me.XtraTabControl1.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(919, 219)
|
||||
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(406, 33)
|
||||
Me.gridAssignedUsers.MainView = Me.viewAssignedUsers
|
||||
Me.gridAssignedUsers.Name = "gridAssignedUsers"
|
||||
Me.gridAssignedUsers.Size = New System.Drawing.Size(513, 186)
|
||||
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(406, 186)
|
||||
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(919, 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(919, 219)
|
||||
Me.XtraTabPage2.Text = "Gruppe zu Cockpit"
|
||||
'
|
||||
'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(919, 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"
|
||||
'
|
||||
'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(406, 186)
|
||||
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
|
||||
'
|
||||
'GridAssignedGroups
|
||||
'
|
||||
Me.GridAssignedGroups.AllowDrop = True
|
||||
Me.GridAssignedGroups.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.GridAssignedGroups.Location = New System.Drawing.Point(406, 33)
|
||||
Me.GridAssignedGroups.MainView = Me.ViewAssignedGroups
|
||||
Me.GridAssignedGroups.Name = "GridAssignedGroups"
|
||||
Me.GridAssignedGroups.Size = New System.Drawing.Size(513, 186)
|
||||
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
|
||||
'
|
||||
'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(974, 588)
|
||||
Me.ClientSize = New System.Drawing.Size(974, 733)
|
||||
Me.Controls.Add(Me.XtraTabControl1)
|
||||
Me.Controls.Add(Me.LookUpEditMonitor)
|
||||
Me.Controls.Add(Me.LabelControl_Monitor)
|
||||
Me.Controls.Add(Me.LookUpEditChart)
|
||||
@@ -518,6 +729,24 @@ Partial Class frmCockpitConfig
|
||||
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.XtraTabControl1, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
Me.XtraTabControl1.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.PanelControl2, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
Me.PanelControl2.ResumeLayout(False)
|
||||
Me.PanelControl2.PerformLayout()
|
||||
CType(Me.GridAvailableGroups, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
CType(Me.ViewAvailableGroups, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
CType(Me.GridAssignedGroups, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
CType(Me.ViewAssignedGroups, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
Me.ResumeLayout(False)
|
||||
Me.PerformLayout()
|
||||
|
||||
@@ -562,4 +791,22 @@ Partial Class frmCockpitConfig
|
||||
Friend WithEvents LookUpEditMonitor As DevExpress.XtraEditors.LookUpEdit
|
||||
Friend WithEvents LabelControl_Monitor As DevExpress.XtraEditors.LabelControl
|
||||
Friend WithEvents bbtnitmCopy As DevExpress.XtraBars.BarButtonItem
|
||||
Friend WithEvents XtraTabControl1 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
|
||||
End Class
|
||||
|
||||
@@ -297,6 +297,27 @@
|
||||
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>
|
||||
<metadata name="ImageCollection1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
Imports DevExpress.XtraBars.Ribbon
|
||||
Imports DigitalData.GUIs.Common
|
||||
Imports taskFLOW.DD_DMSLiteDataSetTableAdapters
|
||||
|
||||
Public Class frmCockpitConfig
|
||||
Private Selected_Cockpit_ID As Integer
|
||||
@@ -203,6 +204,8 @@ Public Class frmCockpitConfig
|
||||
Selected_Cockpit_ID = LookUpEdit1.EditValue
|
||||
CheckEdit_Cockpit_Active.Checked = LookUpEdit1.Properties.GetDataSourceValue("ACTIVE", LookUpEdit1.ItemIndex)
|
||||
Load_TBTF_CFG_COCKPIT_DEFINITION()
|
||||
Load_Free_User_2_Cockpit()
|
||||
Load_Assigned_User_2_Cockpit()
|
||||
Catch ex As Exception
|
||||
LOGGER.Error($"Error in LookUpEdit1_EditValueChanged: {ex.Message}")
|
||||
End Try
|
||||
@@ -503,6 +506,10 @@ Public Class frmCockpitConfig
|
||||
Else
|
||||
LOGGER.Debug("No TreeList nodes found - falling back to Decide_Load")
|
||||
End If
|
||||
|
||||
' ===== DRAG & DROP INITIALISIEREN =====
|
||||
Initialize_DragDrop_User()
|
||||
Initialize_DragDrop_Groups()
|
||||
End Sub
|
||||
|
||||
Private Sub SimpleButton1_Click(sender As Object, e As EventArgs)
|
||||
@@ -564,7 +571,7 @@ Public Class frmCockpitConfig
|
||||
End Sub
|
||||
Private Sub Load_Monitor_LookUp()
|
||||
Try
|
||||
Dim oSQL = "SELECT 0 ID UNION SELECT DISTINCT COCKPIT_ID ID FROM TBPM_MONITOR_KONFIG WITH (NOLOCK) ORDER BY COCKPIT_ID"
|
||||
Dim oSQL = "SELECT 0 ID UNION SELECT DISTINCT COCKPIT_ID ID FROM TBPM_MONITOR_KONFIG WITH (NOLOCK) ORDER BY ID"
|
||||
Dim oDT = DatabaseFallback.GetDatatableECM(oSQL)
|
||||
|
||||
LookUpEditMonitor.Properties.DataSource = oDT
|
||||
@@ -928,4 +935,504 @@ Public Class frmCockpitConfig
|
||||
LOGGER.Error(ex)
|
||||
End Try
|
||||
End Sub
|
||||
Private Sub Load_Assigned_User_2_Cockpit()
|
||||
Try
|
||||
Dim oSQL = $"SELECT
|
||||
CP_MAP.PK_MAP_COCKPIT_ID
|
||||
,FK_CFG_USER_ID
|
||||
,USR.USERNAME [Username]
|
||||
,USR.EMAIL [Email]
|
||||
,[SEQUENCE] [Reihenfolge]
|
||||
FROM
|
||||
TBTF_MAP_COCKPIT CP_MAP (NOLOCK) INNER JOIN
|
||||
TBTF_CFG_COCKPIT CP_CONF (NOLOCK) ON CP_MAP.FK_CFG_COCKPIT_ID = CP_CONF.PK_CFG_COCKPIT_ID
|
||||
INNER JOIN TBDD_USER USR (NOLOCK) ON CP_MAP.FK_CFG_USER_ID = USR.GUID
|
||||
WHERE
|
||||
CP_MAP.FK_CFG_COCKPIT_ID = {Selected_Cockpit_ID}"
|
||||
Dim oDT As DataTable = DatabaseFallback.GetDatatableECM(oSQL)
|
||||
viewAssignedUsers.Columns.Clear()
|
||||
gridAssignedUsers.DataSource = oDT
|
||||
' Spalten ausblenden
|
||||
If viewAssignedUsers.Columns("PK_MAP_COCKPIT_ID") IsNot Nothing Then
|
||||
viewAssignedUsers.Columns("PK_MAP_COCKPIT_ID").Visible = False
|
||||
End If
|
||||
If viewAssignedUsers.Columns("FK_CFG_USER_ID") IsNot Nothing Then
|
||||
viewAssignedUsers.Columns("FK_CFG_USER_ID").Visible = False
|
||||
End If
|
||||
|
||||
' ===== DROPDOWN FÜR REIHENFOLGE KONFIGURIEREN =====
|
||||
Setup_Sequence_Dropdown(viewAssignedUsers)
|
||||
|
||||
Catch ex As Exception
|
||||
LOGGER.Error($"Error in Load_User_2_Cockpit: {ex.Message}")
|
||||
End Try
|
||||
End Sub
|
||||
Private Sub Load_Free_User_2_Cockpit()
|
||||
Try
|
||||
Dim oSQL = $"SELECT
|
||||
USR.GUID AS USR_ID
|
||||
,USR.USERNAME [Username]
|
||||
,USR.NAME + ', ' + USR.PRENAME AS [Name, Vorname]
|
||||
,USR.EMAIL [Email]
|
||||
FROM
|
||||
TBDD_USER USR (NOLOCK) WHERE
|
||||
USR.GUID NOT IN (
|
||||
SELECT
|
||||
CP_MAP.FK_CFG_USER_ID
|
||||
FROM
|
||||
TBTF_MAP_COCKPIT CP_MAP (NOLOCK)
|
||||
WHERE
|
||||
CP_MAP.FK_CFG_COCKPIT_ID = {Selected_Cockpit_ID} AND CP_MAP.FK_CFG_USER_ID IS NOT NULL)"
|
||||
Dim oDT As DataTable = DatabaseFallback.GetDatatableECM(oSQL)
|
||||
viewAvailableUsers.Columns.Clear()
|
||||
gridAvailableUsers.DataSource = oDT
|
||||
' Spalten ausblenden
|
||||
If viewAvailableUsers.Columns("USR_ID") IsNot Nothing Then
|
||||
viewAvailableUsers.Columns("USR_ID").Visible = False
|
||||
End If
|
||||
Catch ex As Exception
|
||||
LOGGER.Error($"Error in Load_FreeUser_2_Cockpit: {ex.Message}")
|
||||
End Try
|
||||
End Sub
|
||||
Private Sub Load_Assigned_Groups_2_Cockpit()
|
||||
Try
|
||||
Dim oSQL = $"SELECT
|
||||
CP_MAP.PK_MAP_COCKPIT_ID, FK_CFG_GROUP_ID, GRP.NAME [Groupname], [SEQUENCE] [Reihenfolge]
|
||||
FROM
|
||||
TBTF_MAP_COCKPIT CP_MAP (NOLOCK) INNER JOIN
|
||||
TBTF_CFG_COCKPIT CP_CONF (NOLOCK) ON CP_MAP.FK_CFG_COCKPIT_ID = CP_CONF.PK_CFG_COCKPIT_ID
|
||||
INNER JOIN TBDD_GROUPS GRP (NOLOCK) ON CP_MAP.FK_CFG_GROUP_ID = GRP.GUID
|
||||
WHERE
|
||||
CP_MAP.FK_CFG_COCKPIT_ID = {Selected_Cockpit_ID}"
|
||||
Dim oDT As DataTable = DatabaseFallback.GetDatatableECM(oSQL)
|
||||
ViewAssignedGroups.Columns.Clear()
|
||||
GridAssignedGroups.DataSource = oDT
|
||||
' Spalten ausblenden
|
||||
If ViewAssignedGroups.Columns("PK_MAP_COCKPIT_ID") IsNot Nothing Then
|
||||
ViewAssignedGroups.Columns("PK_MAP_COCKPIT_ID").Visible = False
|
||||
End If
|
||||
If ViewAssignedGroups.Columns("FK_CFG_GROUP_ID") IsNot Nothing Then
|
||||
ViewAssignedGroups.Columns("FK_CFG_GROUP_ID").Visible = False
|
||||
End If
|
||||
|
||||
' ===== DROPDOWN FÜR REIHENFOLGE KONFIGURIEREN =====
|
||||
Setup_Sequence_Dropdown(ViewAssignedGroups)
|
||||
|
||||
Catch ex As Exception
|
||||
LOGGER.Error($"Error in Load_Assigned_Groups_2_Cockpit: {ex.Message}")
|
||||
End Try
|
||||
End Sub
|
||||
Private Sub Load_Free_Groups_2_Cockpit()
|
||||
Try
|
||||
Dim oSQL = $"SELECT
|
||||
GRP.GUID AS GRP_ID
|
||||
,GRP.NAME [Groupname]
|
||||
FROM
|
||||
TBDD_GROUPS GRP (NOLOCK) WHERE
|
||||
GRP.GUID NOT IN (
|
||||
SELECT
|
||||
CP_MAP.FK_CFG_GROUP_ID
|
||||
FROM
|
||||
TBTF_MAP_COCKPIT CP_MAP (NOLOCK)
|
||||
WHERE
|
||||
CP_MAP.FK_CFG_COCKPIT_ID = {Selected_Cockpit_ID} AND CP_MAP.FK_CFG_GROUP_ID IS NOT NULL)
|
||||
ORDER BY [Groupname]"
|
||||
Dim oDT As DataTable = DatabaseFallback.GetDatatableECM(oSQL)
|
||||
ViewAvailableGroups.Columns.Clear()
|
||||
GridAvailableGroups.DataSource = oDT
|
||||
' Spalten ausblenden
|
||||
If ViewAvailableGroups.Columns("GRP_ID") IsNot Nothing Then
|
||||
ViewAvailableGroups.Columns("GRP_ID").Visible = False
|
||||
End If
|
||||
Catch ex As Exception
|
||||
LOGGER.Error($"Error in Load_Free_Groups_2_Cockpit: {ex.Message}")
|
||||
End Try
|
||||
End Sub
|
||||
' ===== DROPDOWN FÜR REIHENFOLGE-SPALTE EINRICHTEN =====
|
||||
Private Sub Setup_Sequence_Dropdown(pGridView As DevExpress.XtraGrid.Views.Grid.GridView)
|
||||
Try
|
||||
If pGridView.Columns("Reihenfolge") Is Nothing Then
|
||||
LOGGER.Warn("Spalte 'Reihenfolge' nicht gefunden")
|
||||
Exit Sub
|
||||
End If
|
||||
' ComboBox-Editor erstellen
|
||||
Dim comboEdit As New DevExpress.XtraEditors.Repository.RepositoryItemComboBox()
|
||||
|
||||
' Werte 1-10 hinzufügen
|
||||
For i As Integer = 1 To 10
|
||||
comboEdit.Items.Add(i)
|
||||
Next
|
||||
|
||||
' ComboBox-Eigenschaften
|
||||
comboEdit.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.DisableTextEditor ' Nur Auswahl, keine manuelle Eingabe
|
||||
comboEdit.DropDownRows = 10 ' Alle Werte auf einmal anzeigen
|
||||
|
||||
' Editor der Spalte zuweisen
|
||||
pGridView.Columns("Reihenfolge").ColumnEdit = comboEdit
|
||||
|
||||
' Spalte editierbar machen
|
||||
pGridView.OptionsBehavior.Editable = True
|
||||
pGridView.Columns("Reihenfolge").OptionsColumn.AllowEdit = True
|
||||
If pGridView.Name = "viewAssignedUsers" Then
|
||||
If pGridView.Columns("Username") IsNot Nothing Then
|
||||
pGridView.Columns("Username").OptionsColumn.AllowEdit = False
|
||||
End If
|
||||
If pGridView.Columns("Email") IsNot Nothing Then
|
||||
pGridView.Columns("Email").OptionsColumn.AllowEdit = False
|
||||
End If
|
||||
Else
|
||||
If pGridView.Columns("Groupname") IsNot Nothing Then
|
||||
pGridView.Columns("Groupname").OptionsColumn.AllowEdit = False
|
||||
End If
|
||||
|
||||
End If
|
||||
LOGGER.Debug("Reihenfolge-Dropdown erfolgreich konfiguriert")
|
||||
|
||||
Catch ex As Exception
|
||||
LOGGER.Error($"Error in Setup_Sequence_Dropdown: {ex.Message}")
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
' ===== EVENT-HANDLER FÜR WERTVALIDIERUNG IN DER GRID-ZELLE =====
|
||||
Private Sub ValidateSequenceEditor(sender As Object, e As DevExpress.XtraEditors.Controls.BaseContainerValidateEditorEventArgs) Handles viewAssignedUsers.ValidatingEditor, ViewAssignedGroups.ValidatingEditor
|
||||
Try
|
||||
Dim view As DevExpress.XtraGrid.Views.Grid.GridView = CType(sender, DevExpress.XtraGrid.Views.Grid.GridView)
|
||||
|
||||
' Nur bei Änderung der Reihenfolge-Spalte reagieren
|
||||
If view.FocusedColumn.FieldName <> "Reihenfolge" Then
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
' PK_MAP_COCKPIT_ID aus der aktuellen Zeile holen
|
||||
Dim mapId As Object = view.GetFocusedRowCellValue("PK_MAP_COCKPIT_ID")
|
||||
|
||||
If mapId Is Nothing OrElse IsDBNull(mapId) Then
|
||||
LOGGER.Warn("PK_MAP_COCKPIT_ID ist NULL - Update abgebrochen")
|
||||
e.Valid = False
|
||||
e.ErrorText = "Ungültige Zeile"
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
' Alten Wert holen
|
||||
Dim oldValue As Object = view.GetFocusedRowCellValue("Reihenfolge")
|
||||
|
||||
' Neuen Reihenfolge-Wert validieren
|
||||
Dim newSequence As Integer
|
||||
If Not Integer.TryParse(e.Value?.ToString(), newSequence) Then
|
||||
LOGGER.Warn($"Ungültiger Reihenfolge-Wert: {e.Value}")
|
||||
e.Valid = False
|
||||
e.ErrorText = "Bitte geben Sie eine gültige Zahl ein (1-10)"
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
' Prüfen ob Wert im erlaubten Bereich liegt
|
||||
If newSequence < 1 OrElse newSequence > 10 Then
|
||||
e.Valid = False
|
||||
e.ErrorText = "Reihenfolge muss zwischen 1 und 10 liegen"
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
' UPDATE-Statement ausführen
|
||||
Dim updateSQL = $"UPDATE TBTF_MAP_COCKPIT
|
||||
SET SEQUENCE = {newSequence},
|
||||
CHANGED_WHO = '{Environment.UserName}',
|
||||
CHANGED_WHEN = GETDATE()
|
||||
WHERE PK_MAP_COCKPIT_ID = {mapId}"
|
||||
|
||||
If DatabaseFallback.ExecuteNonQueryECM(updateSQL) Then
|
||||
bsitm_info_Display($"Reihenfolge für MAP_ID={mapId} auf {newSequence} aktualisiert (alter Wert: {oldValue})")
|
||||
e.Valid = True
|
||||
Else
|
||||
LOGGER.Error($"Fehler beim Update der Reihenfolge für MAP_ID={mapId}")
|
||||
bsitm_info_Display($"Fehler beim Update der Reihenfolge für MAP_ID={mapId}", True)
|
||||
e.Valid = False
|
||||
e.ErrorText = "Fehler beim Speichern in der Datenbank. Prüfen Sie das Log."
|
||||
End If
|
||||
|
||||
Catch ex As Exception
|
||||
LOGGER.Error($"Error in ValidateSequenceEditor: {ex.Message}")
|
||||
LOGGER.Error(ex)
|
||||
bsitm_info_Display($"Fehler: {ex.Message}", True)
|
||||
e.Valid = False
|
||||
e.ErrorText = $"Fehler: {ex.Message}"
|
||||
End Try
|
||||
End Sub
|
||||
Sub bsitm_info_Display(msg As String, Optional err As Boolean = False)
|
||||
If msg IsNot Nothing Then
|
||||
bsitm_info.Caption = msg
|
||||
bsitm_info.Visibility = DevExpress.XtraBars.BarItemVisibility.Always
|
||||
bsitm_info.ItemAppearance.Normal.ForeColor = Color.White
|
||||
Else
|
||||
bsitm_info.Visibility = DevExpress.XtraBars.BarItemVisibility.Never
|
||||
End If
|
||||
End Sub
|
||||
|
||||
' ===== DRAG & DROP INITIALISIERUNG (im Form_Load oder Shown) =====
|
||||
Private Sub Initialize_DragDrop_User()
|
||||
' Ziel-Grids müssen Drop erlauben
|
||||
gridAssignedUsers.AllowDrop = True
|
||||
gridAvailableUsers.AllowDrop = True
|
||||
|
||||
' Event-Handler für Drag-Start registrieren
|
||||
AddHandler viewAvailableUsers.MouseDown, AddressOf viewAvailableUsers_MouseDown
|
||||
AddHandler viewAvailableUsers.MouseMove, AddressOf viewAvailableUsers_MouseMove
|
||||
AddHandler viewAssignedUsers.MouseDown, AddressOf viewAssignedUsers_MouseDown
|
||||
AddHandler viewAssignedUsers.MouseMove, AddressOf viewAssignedUsers_MouseMove
|
||||
|
||||
' Event-Handler für Drag-Over registrieren
|
||||
AddHandler gridAssignedUsers.DragOver, AddressOf gridAssignedUsers_DragOver
|
||||
AddHandler gridAvailableUsers.DragOver, AddressOf gridAvailableUsers_DragOver
|
||||
End Sub
|
||||
Private Sub Initialize_DragDrop_Groups()
|
||||
' Ziel-Grids müssen Drop erlauben
|
||||
GridAssignedGroups.AllowDrop = True
|
||||
GridAvailableGroups.AllowDrop = True
|
||||
|
||||
' Event-Handler für Drag-Start registrieren
|
||||
AddHandler ViewAvailableGroups.MouseDown, AddressOf viewAvailableGroups_MouseDown
|
||||
AddHandler ViewAvailableGroups.MouseMove, AddressOf viewAvailableGroups_MouseMove
|
||||
AddHandler ViewAssignedGroups.MouseDown, AddressOf viewAssignedGroups_MouseDown
|
||||
AddHandler ViewAssignedGroups.MouseMove, AddressOf viewAssignedGroups_MouseMove
|
||||
|
||||
' Event-Handler für Drag-Over registrieren
|
||||
AddHandler GridAssignedGroups.DragOver, AddressOf gridAssignedGroups_DragOver
|
||||
AddHandler GridAvailableGroups.DragOver, AddressOf gridAvailableGroups_DragOver
|
||||
End Sub
|
||||
' ===== DRAG-START VON AVAILABLE USERS =====
|
||||
Private dragStartPoint As Point
|
||||
Private isDragging As Boolean = False
|
||||
|
||||
Private Sub viewAvailableUsers_MouseDown(sender As Object, e As MouseEventArgs)
|
||||
If e.Button = MouseButtons.Left Then
|
||||
dragStartPoint = e.Location
|
||||
isDragging = False
|
||||
End If
|
||||
End Sub
|
||||
Private Sub viewAvailableGroups_MouseDown(sender As Object, e As MouseEventArgs)
|
||||
If e.Button = MouseButtons.Left Then
|
||||
dragStartPoint = e.Location
|
||||
isDragging = False
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub viewAvailableUsers_MouseMove(sender As Object, e As MouseEventArgs)
|
||||
If e.Button = MouseButtons.Left AndAlso Not isDragging Then
|
||||
Dim dragDistance = Math.Abs(e.Location.X - dragStartPoint.X) + Math.Abs(e.Location.Y - dragStartPoint.Y)
|
||||
|
||||
If dragDistance > 5 Then ' Mindestbewegung 5 Pixel
|
||||
isDragging = True
|
||||
Dim hitInfo = viewAvailableUsers.CalcHitInfo(dragStartPoint)
|
||||
|
||||
If hitInfo.RowHandle >= 0 Then
|
||||
Dim userId = viewAvailableUsers.GetRowCellValue(hitInfo.RowHandle, "USR_ID")
|
||||
Dim userName = viewAvailableUsers.GetRowCellValue(hitInfo.RowHandle, "USERNAME")
|
||||
|
||||
If userId IsNot Nothing Then
|
||||
Dim dragData = $"{userId}|{userName}"
|
||||
gridAvailableUsers.DoDragDrop(dragData, DragDropEffects.Move)
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
Private Sub viewAvailableGroups_MouseMove(sender As Object, e As MouseEventArgs)
|
||||
If e.Button = MouseButtons.Left AndAlso Not isDragging Then
|
||||
Dim dragDistance = Math.Abs(e.Location.X - dragStartPoint.X) + Math.Abs(e.Location.Y - dragStartPoint.Y)
|
||||
|
||||
If dragDistance > 5 Then ' Mindestbewegung 5 Pixel
|
||||
isDragging = True
|
||||
Dim hitInfo = ViewAvailableGroups.CalcHitInfo(dragStartPoint)
|
||||
|
||||
If hitInfo.RowHandle >= 0 Then
|
||||
Dim groupId = ViewAvailableGroups.GetRowCellValue(hitInfo.RowHandle, "GRP_ID")
|
||||
Dim groupName = ViewAvailableGroups.GetRowCellValue(hitInfo.RowHandle, "Groupname")
|
||||
|
||||
If groupId IsNot Nothing Then
|
||||
Dim dragData = $"{groupId}|{groupName}"
|
||||
GridAvailableGroups.DoDragDrop(dragData, DragDropEffects.Move)
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
' ===== DRAG-START VON ASSIGNED 272|ENVELOPE-ADMINUSERS =====
|
||||
Private Sub viewAssignedUsers_MouseDown(sender As Object, e As MouseEventArgs)
|
||||
If e.Button = MouseButtons.Left Then
|
||||
dragStartPoint = e.Location
|
||||
isDragging = False
|
||||
End If
|
||||
End Sub
|
||||
Private Sub viewAssignedGroups_MouseDown(sender As Object, e As MouseEventArgs)
|
||||
If e.Button = MouseButtons.Left Then
|
||||
dragStartPoint = e.Location
|
||||
isDragging = False
|
||||
End If
|
||||
End Sub
|
||||
Private Sub viewAssignedUsers_MouseMove(sender As Object, e As MouseEventArgs)
|
||||
If e.Button = MouseButtons.Left AndAlso Not isDragging Then
|
||||
Dim dragDistance = Math.Abs(e.Location.X - dragStartPoint.X) + Math.Abs(e.Location.Y - dragStartPoint.Y)
|
||||
|
||||
If dragDistance > 5 Then
|
||||
isDragging = True
|
||||
Dim hitInfo = viewAssignedUsers.CalcHitInfo(dragStartPoint)
|
||||
|
||||
If hitInfo.RowHandle >= 0 Then
|
||||
Dim mapId = viewAssignedUsers.GetRowCellValue(hitInfo.RowHandle, "PK_MAP_COCKPIT_ID")
|
||||
Dim userName = viewAssignedUsers.GetRowCellValue(hitInfo.RowHandle, "USERNAME")
|
||||
|
||||
If mapId IsNot Nothing Then
|
||||
Dim dragData = $"{mapId}|{userName}"
|
||||
gridAssignedUsers.DoDragDrop(dragData, DragDropEffects.Move)
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
Private Sub viewAssignedGroups_MouseMove(sender As Object, e As MouseEventArgs)
|
||||
If e.Button = MouseButtons.Left AndAlso Not isDragging Then
|
||||
Dim dragDistance = Math.Abs(e.Location.X - dragStartPoint.X) + Math.Abs(e.Location.Y - dragStartPoint.Y)
|
||||
|
||||
If dragDistance > 5 Then
|
||||
isDragging = True
|
||||
Dim hitInfo = ViewAssignedGroups.CalcHitInfo(dragStartPoint)
|
||||
|
||||
If hitInfo.RowHandle >= 0 Then
|
||||
Dim mapId = ViewAssignedGroups.GetRowCellValue(hitInfo.RowHandle, "PK_MAP_COCKPIT_ID")
|
||||
Dim groupName = ViewAssignedGroups.GetRowCellValue(hitInfo.RowHandle, "Groupname")
|
||||
|
||||
If mapId IsNot Nothing Then
|
||||
Dim dragData = $"{mapId}|{groupName}"
|
||||
gridAssignedUsers.DoDragDrop(dragData, DragDropEffects.Move)
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
' ===== DRAG-OVER EVENTS (visuelles Feedback) =====
|
||||
Private Sub gridAssignedUsers_DragOver(sender As Object, e As DragEventArgs)
|
||||
If e.Data.GetDataPresent(DataFormats.Text) Then
|
||||
e.Effect = DragDropEffects.Move
|
||||
Else
|
||||
e.Effect = DragDropEffects.None
|
||||
End If
|
||||
End Sub
|
||||
Private Sub gridAssignedGroups_DragOver(sender As Object, e As DragEventArgs)
|
||||
If e.Data.GetDataPresent(DataFormats.Text) Then
|
||||
e.Effect = DragDropEffects.Move
|
||||
Else
|
||||
e.Effect = DragDropEffects.None
|
||||
End If
|
||||
End Sub
|
||||
Private Sub gridAvailableUsers_DragOver(sender As Object, e As DragEventArgs)
|
||||
If e.Data.GetDataPresent(DataFormats.Text) Then
|
||||
e.Effect = DragDropEffects.Move
|
||||
Else
|
||||
e.Effect = DragDropEffects.None
|
||||
End If
|
||||
End Sub
|
||||
Private Sub gridAvailableGroups_DragOver(sender As Object, e As DragEventArgs)
|
||||
If e.Data.GetDataPresent(DataFormats.Text) Then
|
||||
e.Effect = DragDropEffects.Move
|
||||
Else
|
||||
e.Effect = DragDropEffects.None
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub gridAssignedUsers_DragDrop(sender As Object, e As DragEventArgs) Handles gridAssignedUsers.DragDrop
|
||||
Try
|
||||
Dim data As String = e.Data.GetData(DataFormats.Text)
|
||||
Dim userId As Integer = data.Split("|")(0)
|
||||
Dim oInsert = $"INSERT INTO [dbo].[TBTF_MAP_COCKPIT]
|
||||
([FK_CFG_COCKPIT_ID]
|
||||
,[FK_CFG_USER_ID]
|
||||
,[SEQUENCE]
|
||||
,[ADDED_WHO])
|
||||
VALUES
|
||||
({Selected_Cockpit_ID}, {userId}, 0, '{USER_USERNAME}')"
|
||||
|
||||
If DatabaseFallback.ExecuteNonQueryECM(oInsert) Then
|
||||
Load_Free_User_2_Cockpit()
|
||||
Load_Assigned_User_2_Cockpit()
|
||||
Else
|
||||
MsgBox("Fehler beim Hinzufügen des Benutzers. Prüfen Sie Ihr Log", MsgBoxStyle.Exclamation)
|
||||
End If
|
||||
Catch ex As Exception
|
||||
LOGGER.Error(ex)
|
||||
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error adding users:")
|
||||
End Try
|
||||
End Sub
|
||||
Private Sub gridAssignedGroups_DragDrop(sender As Object, e As DragEventArgs) Handles GridAssignedGroups.DragDrop
|
||||
Try
|
||||
Dim data As String = e.Data.GetData(DataFormats.Text)
|
||||
Dim groupID As Integer = data.Split("|")(0)
|
||||
Dim oInsert = $"INSERT INTO [dbo].[TBTF_MAP_COCKPIT]
|
||||
(FK_CFG_COCKPIT_ID
|
||||
,FK_CFG_GROUP_ID
|
||||
,[SEQUENCE]
|
||||
,ADDED_WHO)
|
||||
VALUES
|
||||
({Selected_Cockpit_ID}, {groupID}, 0, '{USER_USERNAME}')"
|
||||
|
||||
If DatabaseFallback.ExecuteNonQueryECM(oInsert) Then
|
||||
Load_Free_Groups_2_Cockpit()
|
||||
Load_Assigned_Groups_2_Cockpit()
|
||||
Else
|
||||
MsgBox("Fehler beim Hinzufügen der Gruppe. Prüfen Sie Ihr Log", MsgBoxStyle.Exclamation)
|
||||
End If
|
||||
Catch ex As Exception
|
||||
LOGGER.Error(ex)
|
||||
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error adding groups:")
|
||||
End Try
|
||||
End Sub
|
||||
Private Sub gridAvailableUsers_DragDrop(sender As Object, e As DragEventArgs) Handles gridAvailableUsers.DragDrop
|
||||
Try
|
||||
Dim data As String = e.Data.GetData(DataFormats.Text)
|
||||
Dim MAPID As Integer = data.Split("|")(0)
|
||||
Dim oDelete = $"DELETE FROM [dbo].[TBTF_MAP_COCKPIT]
|
||||
WHERE PK_MAP_COCKPIT_ID = {MAPID}"
|
||||
|
||||
If DatabaseFallback.ExecuteNonQueryECM(oDelete) Then
|
||||
Dim omsg = "Benutzer erfolgreich entfernt."
|
||||
bsitm_info_Display(omsg)
|
||||
Load_Free_User_2_Cockpit()
|
||||
Load_Assigned_User_2_Cockpit()
|
||||
Else
|
||||
MsgBox("Fehler beim Entfernen des Benutzers. Prüfen Sie Ihr Log", MsgBoxStyle.Exclamation)
|
||||
End If
|
||||
Catch ex As Exception
|
||||
LOGGER.Error(ex)
|
||||
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error removing user:")
|
||||
End Try
|
||||
End Sub
|
||||
Private Sub gridAvailableGroups_DragDrop(sender As Object, e As DragEventArgs) Handles GridAvailableGroups.DragDrop
|
||||
Try
|
||||
Dim data As String = e.Data.GetData(DataFormats.Text)
|
||||
Dim MAPID As Integer = data.Split("|")(0)
|
||||
Dim oDelete = $"DELETE FROM [dbo].[TBTF_MAP_COCKPIT]
|
||||
WHERE PK_MAP_COCKPIT_ID = {MAPID}"
|
||||
|
||||
If DatabaseFallback.ExecuteNonQueryECM(oDelete) Then
|
||||
Dim omsg = "Gruppe erfolgreich entfernt."
|
||||
bsitm_info_Display(omsg)
|
||||
Load_Free_Groups_2_Cockpit()
|
||||
Load_Assigned_Groups_2_Cockpit()
|
||||
Else
|
||||
MsgBox("Fehler beim Entfernen der Gruppe. Prüfen Sie Ihr Log", MsgBoxStyle.Exclamation)
|
||||
End If
|
||||
Catch ex As Exception
|
||||
LOGGER.Error(ex)
|
||||
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error removing group:")
|
||||
End Try
|
||||
End Sub
|
||||
Private Sub XtraTabControl1_SelectedPageChanged(sender As Object, e As DevExpress.XtraTab.TabPageChangedEventArgs) Handles XtraTabControl1.SelectedPageChanged
|
||||
Select Case XtraTabControl1.SelectedTabPageIndex
|
||||
Case 0
|
||||
Load_Assigned_User_2_Cockpit()
|
||||
Load_Free_User_2_Cockpit()
|
||||
Case 1
|
||||
Load_Assigned_Groups_2_Cockpit()
|
||||
Load_Free_Groups_2_Cockpit()
|
||||
End Select
|
||||
bsitm_info_Display("")
|
||||
End Sub
|
||||
End Class
|
||||
Reference in New Issue
Block a user