EditForm Tweaks, Other Tweaks

This commit is contained in:
Jonathan Jenne 2019-02-25 16:40:52 +01:00
parent e9c08de50d
commit 86ade712c9
8 changed files with 312 additions and 212 deletions

View File

@ -11,10 +11,10 @@ Public Class ClassCommonCommands
Public Async Function FNICM_RADM_NEW_USER2GROUP(UserId As Integer, GroupId As Integer) As Task(Of Integer) Public Async Function FNICM_RADM_NEW_USER2GROUP(UserId As Integer, GroupId As Integer) As Task(Of Integer)
Try Try
Dim oSQL = "SELECT FNICM_RADM_NEW_USER2GROUP({0},{1}, '{2}') FROM RDB$DATABASE;" Dim oSQL = $"SELECT FNICM_RADM_NEW_USER2GROUP({UserId},{GroupId}, '{Environment.UserName}') FROM RDB$DATABASE;"
Dim oRequest = Await My.Channel.CreateDatabaseRequestAsync($"Add User To Group", False) Dim oRequest = Await My.Channel.CreateDatabaseRequestAsync($"Add User To Group", False)
Dim oResult = Await My.Channel.ReturnScalarAsync(String.Format(oSQL, UserId, GroupId, Environment.UserName)) Dim oResult = Await My.Channel.ReturnScalarAsync(oSQL)
Await My.Channel.CloseDatabaseRequestAsync() Await My.Channel.CloseDatabaseRequestAsync()
If oResult.OK Then If oResult.OK Then
@ -30,11 +30,11 @@ Public Class ClassCommonCommands
Public Async Function FNICM_RADM_NEW_GROUP2GROUP(ParentGroupId As Integer, GroupId As Integer) As Task(Of Integer) Public Async Function FNICM_RADM_NEW_GROUP2GROUP(ParentGroupId As Integer, GroupId As Integer) As Task(Of Integer)
Try Try
Dim oSQL = "SELECT FNICM_RADM_NEW_GROUP2GROUP({0},{1}, '{2}') FROM RDB$DATABASE;" Dim oSQL = $"SELECT FNICM_RADM_NEW_GROUP2GROUP({GroupId},{ParentGroupId}, '{Environment.UserName}') FROM RDB$DATABASE;"
Dim oRequest = Await My.Channel.CreateDatabaseRequestAsync($"Add Group To Group", False) Dim oRequest = Await My.Channel.CreateDatabaseRequestAsync($"Add Group To Group", False)
Dim oRecordIds As New List(Of Integer) Dim oRecordIds As New List(Of Integer)
Dim oResult = Await My.Channel.ReturnScalarAsync(String.Format(oSQL, GroupId, ParentGroupId, Environment.UserName)) Dim oResult = Await My.Channel.ReturnScalarAsync(oSQL)
Await My.Channel.CloseDatabaseRequestAsync() Await My.Channel.CloseDatabaseRequestAsync()
If oResult.OK Then If oResult.OK Then

View File

@ -2,4 +2,13 @@
Public Property SkinName As String = "Office 2016 Colorful" Public Property SkinName As String = "Office 2016 Colorful"
Public Property FrmEdit_Splitter As Integer = 300 Public Property FrmEdit_Splitter As Integer = 300
Public Property EditFormConfigs As List(Of EditFormConfig) = New List(Of EditFormConfig)
Public Class EditFormConfig
Public Property SysKey As String
Public Property SplitterDistance As Integer
Public Property SplitterOrientation As Integer
End Class
End Class End Class

View File

@ -28,21 +28,22 @@ Partial Class frmEdit
Me.GridList = New DevExpress.XtraGrid.GridControl() Me.GridList = New DevExpress.XtraGrid.GridControl()
Me.ViewList = New DevExpress.XtraGrid.Views.Grid.GridView() Me.ViewList = New DevExpress.XtraGrid.Views.Grid.GridView()
Me.LayoutControl1 = New DevExpress.XtraLayout.LayoutControl() Me.LayoutControl1 = New DevExpress.XtraLayout.LayoutControl()
Me.LayoutControlGroup1 = New DevExpress.XtraLayout.LayoutControlGroup() Me.LayoutGroup = New DevExpress.XtraLayout.LayoutControlGroup()
Me.RibbonControl1 = New DevExpress.XtraBars.Ribbon.RibbonControl() Me.RibbonControl1 = New DevExpress.XtraBars.Ribbon.RibbonControl()
Me.BarButtonItem1 = New DevExpress.XtraBars.BarButtonItem() Me.BarButtonSave = New DevExpress.XtraBars.BarButtonItem()
Me.BarButtonNew = New DevExpress.XtraBars.BarButtonItem()
Me.BarButtonDelete = New DevExpress.XtraBars.BarButtonItem()
Me.RibbonPage1 = New DevExpress.XtraBars.Ribbon.RibbonPage() Me.RibbonPage1 = New DevExpress.XtraBars.Ribbon.RibbonPage()
Me.RibbonPageGroup1 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() Me.RibbonPageGroup1 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibbonStatusBar1 = New DevExpress.XtraBars.Ribbon.RibbonStatusBar() Me.RibbonStatusBar1 = New DevExpress.XtraBars.Ribbon.RibbonStatusBar()
Me.RibbonPage2 = New DevExpress.XtraBars.Ribbon.RibbonPage() Me.RibbonPage2 = New DevExpress.XtraBars.Ribbon.RibbonPage()
Me.BarButtonItem2 = New DevExpress.XtraBars.BarButtonItem() Me.labelParentAttributeId = New DevExpress.XtraBars.BarStaticItem()
Me.BarButtonItem3 = New DevExpress.XtraBars.BarButtonItem()
CType(Me.SplitContainerControl1, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.SplitContainerControl1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SplitContainerControl1.SuspendLayout() Me.SplitContainerControl1.SuspendLayout()
CType(Me.GridList, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.GridList, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.ViewList, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.ViewList, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.LayoutControl1, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.LayoutControl1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.LayoutControlGroup1, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.LayoutGroup, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.RibbonControl1, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.RibbonControl1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout() Me.SuspendLayout()
' '
@ -81,38 +82,54 @@ Partial Class frmEdit
Me.LayoutControl1.Location = New System.Drawing.Point(0, 0) Me.LayoutControl1.Location = New System.Drawing.Point(0, 0)
Me.LayoutControl1.Name = "LayoutControl1" Me.LayoutControl1.Name = "LayoutControl1"
Me.LayoutControl1.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = New System.Drawing.Rectangle(-870, 211, 650, 400) Me.LayoutControl1.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = New System.Drawing.Rectangle(-870, 211, 650, 400)
Me.LayoutControl1.Root = Me.LayoutControlGroup1 Me.LayoutControl1.Root = Me.LayoutGroup
Me.LayoutControl1.Size = New System.Drawing.Size(760, 338) Me.LayoutControl1.Size = New System.Drawing.Size(760, 338)
Me.LayoutControl1.TabIndex = 0 Me.LayoutControl1.TabIndex = 0
Me.LayoutControl1.Text = "LayoutControl1" Me.LayoutControl1.Text = "LayoutControl1"
' '
'LayoutControlGroup1 'LayoutGroup
' '
Me.LayoutControlGroup1.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.[True] Me.LayoutGroup.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.[True]
Me.LayoutControlGroup1.GroupBordersVisible = False Me.LayoutGroup.GroupBordersVisible = False
Me.LayoutControlGroup1.Name = "Root" Me.LayoutGroup.Name = "Root"
Me.LayoutControlGroup1.Size = New System.Drawing.Size(760, 338) Me.LayoutGroup.Size = New System.Drawing.Size(760, 338)
Me.LayoutControlGroup1.TextVisible = False Me.LayoutGroup.TextVisible = False
' '
'RibbonControl1 'RibbonControl1
' '
Me.RibbonControl1.ExpandCollapseItem.Id = 0 Me.RibbonControl1.ExpandCollapseItem.Id = 0
Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.BarButtonItem1, Me.BarButtonItem2, Me.BarButtonItem3}) Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.BarButtonSave, Me.BarButtonNew, Me.BarButtonDelete, Me.labelParentAttributeId})
Me.RibbonControl1.Location = New System.Drawing.Point(0, 0) Me.RibbonControl1.Location = New System.Drawing.Point(0, 0)
Me.RibbonControl1.MaxItemId = 4 Me.RibbonControl1.MaxItemId = 6
Me.RibbonControl1.Name = "RibbonControl1" Me.RibbonControl1.Name = "RibbonControl1"
Me.RibbonControl1.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.RibbonPage1}) Me.RibbonControl1.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.RibbonPage1})
Me.RibbonControl1.ShowApplicationButton = DevExpress.Utils.DefaultBoolean.[False] Me.RibbonControl1.ShowApplicationButton = DevExpress.Utils.DefaultBoolean.[False]
Me.RibbonControl1.Size = New System.Drawing.Size(1104, 146) Me.RibbonControl1.Size = New System.Drawing.Size(1104, 146)
Me.RibbonControl1.StatusBar = Me.RibbonStatusBar1 Me.RibbonControl1.StatusBar = Me.RibbonStatusBar1
' '
'BarButtonItem1 'BarButtonSave
' '
Me.BarButtonItem1.Caption = "Speichern" Me.BarButtonSave.Caption = "Speichern"
Me.BarButtonItem1.Id = 1 Me.BarButtonSave.Id = 1
Me.BarButtonItem1.ImageOptions.Image = CType(resources.GetObject("BarButtonItem1.ImageOptions.Image"), System.Drawing.Image) Me.BarButtonSave.ImageOptions.Image = CType(resources.GetObject("BarButtonSave.ImageOptions.Image"), System.Drawing.Image)
Me.BarButtonItem1.ImageOptions.LargeImage = CType(resources.GetObject("BarButtonItem1.ImageOptions.LargeImage"), System.Drawing.Image) Me.BarButtonSave.ImageOptions.LargeImage = CType(resources.GetObject("BarButtonSave.ImageOptions.LargeImage"), System.Drawing.Image)
Me.BarButtonItem1.Name = "BarButtonItem1" Me.BarButtonSave.Name = "BarButtonSave"
'
'BarButtonNew
'
Me.BarButtonNew.Caption = "Neu"
Me.BarButtonNew.Id = 2
Me.BarButtonNew.ImageOptions.Image = CType(resources.GetObject("BarButtonNew.ImageOptions.Image"), System.Drawing.Image)
Me.BarButtonNew.ImageOptions.LargeImage = CType(resources.GetObject("BarButtonNew.ImageOptions.LargeImage"), System.Drawing.Image)
Me.BarButtonNew.Name = "BarButtonNew"
'
'BarButtonDelete
'
Me.BarButtonDelete.Caption = "Löschen"
Me.BarButtonDelete.Id = 3
Me.BarButtonDelete.ImageOptions.Image = CType(resources.GetObject("BarButtonDelete.ImageOptions.Image"), System.Drawing.Image)
Me.BarButtonDelete.ImageOptions.LargeImage = CType(resources.GetObject("BarButtonDelete.ImageOptions.LargeImage"), System.Drawing.Image)
Me.BarButtonDelete.Name = "BarButtonDelete"
' '
'RibbonPage1 'RibbonPage1
' '
@ -122,15 +139,16 @@ Partial Class frmEdit
' '
'RibbonPageGroup1 'RibbonPageGroup1
' '
Me.RibbonPageGroup1.ItemLinks.Add(Me.BarButtonItem1) Me.RibbonPageGroup1.ItemLinks.Add(Me.BarButtonSave)
Me.RibbonPageGroup1.ItemLinks.Add(Me.BarButtonItem2) Me.RibbonPageGroup1.ItemLinks.Add(Me.BarButtonNew)
Me.RibbonPageGroup1.ItemLinks.Add(Me.BarButtonItem3) Me.RibbonPageGroup1.ItemLinks.Add(Me.BarButtonDelete)
Me.RibbonPageGroup1.Name = "RibbonPageGroup1" Me.RibbonPageGroup1.Name = "RibbonPageGroup1"
Me.RibbonPageGroup1.ShowCaptionButton = False Me.RibbonPageGroup1.ShowCaptionButton = False
Me.RibbonPageGroup1.Text = "Aktionen" Me.RibbonPageGroup1.Text = "Aktionen"
' '
'RibbonStatusBar1 'RibbonStatusBar1
' '
Me.RibbonStatusBar1.ItemLinks.Add(Me.labelParentAttributeId)
Me.RibbonStatusBar1.Location = New System.Drawing.Point(0, 484) Me.RibbonStatusBar1.Location = New System.Drawing.Point(0, 484)
Me.RibbonStatusBar1.Name = "RibbonStatusBar1" Me.RibbonStatusBar1.Name = "RibbonStatusBar1"
Me.RibbonStatusBar1.Ribbon = Me.RibbonControl1 Me.RibbonStatusBar1.Ribbon = Me.RibbonControl1
@ -141,21 +159,11 @@ Partial Class frmEdit
Me.RibbonPage2.Name = "RibbonPage2" Me.RibbonPage2.Name = "RibbonPage2"
Me.RibbonPage2.Text = "RibbonPage2" Me.RibbonPage2.Text = "RibbonPage2"
' '
'BarButtonItem2 'labelParentAttributeId
' '
Me.BarButtonItem2.Caption = "Neu" Me.labelParentAttributeId.Caption = "BarStaticItem1"
Me.BarButtonItem2.Id = 2 Me.labelParentAttributeId.Id = 5
Me.BarButtonItem2.ImageOptions.Image = CType(resources.GetObject("BarButtonItem2.ImageOptions.Image"), System.Drawing.Image) Me.labelParentAttributeId.Name = "labelParentAttributeId"
Me.BarButtonItem2.ImageOptions.LargeImage = CType(resources.GetObject("BarButtonItem2.ImageOptions.LargeImage"), System.Drawing.Image)
Me.BarButtonItem2.Name = "BarButtonItem2"
'
'BarButtonItem3
'
Me.BarButtonItem3.Caption = "Löschen"
Me.BarButtonItem3.Id = 3
Me.BarButtonItem3.ImageOptions.Image = CType(resources.GetObject("BarButtonItem3.ImageOptions.Image"), System.Drawing.Image)
Me.BarButtonItem3.ImageOptions.LargeImage = CType(resources.GetObject("BarButtonItem3.ImageOptions.LargeImage"), System.Drawing.Image)
Me.BarButtonItem3.Name = "BarButtonItem3"
' '
'frmEdit 'frmEdit
' '
@ -175,7 +183,7 @@ Partial Class frmEdit
CType(Me.GridList, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.GridList, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.ViewList, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.ViewList, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.LayoutControl1, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.LayoutControl1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.LayoutControlGroup1, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.LayoutGroup, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.RibbonControl1, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.RibbonControl1, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False) Me.ResumeLayout(False)
Me.PerformLayout() Me.PerformLayout()
@ -186,13 +194,14 @@ Partial Class frmEdit
Friend WithEvents GridList As DevExpress.XtraGrid.GridControl Friend WithEvents GridList As DevExpress.XtraGrid.GridControl
Friend WithEvents ViewList As DevExpress.XtraGrid.Views.Grid.GridView Friend WithEvents ViewList As DevExpress.XtraGrid.Views.Grid.GridView
Friend WithEvents LayoutControl1 As DevExpress.XtraLayout.LayoutControl Friend WithEvents LayoutControl1 As DevExpress.XtraLayout.LayoutControl
Friend WithEvents LayoutControlGroup1 As DevExpress.XtraLayout.LayoutControlGroup Friend WithEvents LayoutGroup As DevExpress.XtraLayout.LayoutControlGroup
Friend WithEvents RibbonControl1 As DevExpress.XtraBars.Ribbon.RibbonControl Friend WithEvents RibbonControl1 As DevExpress.XtraBars.Ribbon.RibbonControl
Friend WithEvents RibbonPage1 As DevExpress.XtraBars.Ribbon.RibbonPage Friend WithEvents RibbonPage1 As DevExpress.XtraBars.Ribbon.RibbonPage
Friend WithEvents RibbonPageGroup1 As DevExpress.XtraBars.Ribbon.RibbonPageGroup Friend WithEvents RibbonPageGroup1 As DevExpress.XtraBars.Ribbon.RibbonPageGroup
Friend WithEvents RibbonStatusBar1 As DevExpress.XtraBars.Ribbon.RibbonStatusBar Friend WithEvents RibbonStatusBar1 As DevExpress.XtraBars.Ribbon.RibbonStatusBar
Friend WithEvents RibbonPage2 As DevExpress.XtraBars.Ribbon.RibbonPage Friend WithEvents RibbonPage2 As DevExpress.XtraBars.Ribbon.RibbonPage
Friend WithEvents BarButtonItem1 As DevExpress.XtraBars.BarButtonItem Friend WithEvents BarButtonSave As DevExpress.XtraBars.BarButtonItem
Friend WithEvents BarButtonItem2 As DevExpress.XtraBars.BarButtonItem Friend WithEvents BarButtonNew As DevExpress.XtraBars.BarButtonItem
Friend WithEvents BarButtonItem3 As DevExpress.XtraBars.BarButtonItem Friend WithEvents BarButtonDelete As DevExpress.XtraBars.BarButtonItem
Friend WithEvents labelParentAttributeId As DevExpress.XtraBars.BarStaticItem
End Class End Class

View File

@ -118,67 +118,64 @@
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="BarButtonItem1.ImageOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="BarButtonSave.ImageOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAAC3RFWHRUaXRsZQBTYXZlO/no dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAALdEVYdFRpdGxlAFNhdmU7+ej5CQAAAFhJREFUOE9j
+QkAAABYSURBVDhPY/j//z9FGExMzlq/F4j/gzCUD2ajYzS5vSA+zABcilDE0OVAfPoYAMPY1GI1AB9G +P//P0UYTEzOWr8XiP+DMJQPZqNjNLm9ID7MAFyKUMTQ5UB8+hgAw9jUYjUAH0ZXiyFICqa+ASA2MXjU
V4shSAqmvgEgNjF41AA8BpCKkQ3Yji5JBN4ON4B8/J8BAL6u0wsmtxusAAAAAElFTkSuQmCC ADwGkIqRDdiOLkkE3g43gHz8nwEAvq7TCya3G6wAAAAASUVORK5CYII=
</value> </value>
</data> </data>
<data name="BarButtonItem1.ImageOptions.LargeImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="BarButtonSave.ImageOptions.LargeImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAAC3RFWHRUaXRsZQBTYXZlO/no dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAALdEVYdFRpdGxlAFNhdmU7+ej5CQAAAQ1JREFUWEft
+QkAAAENSURBVFhH7ZfRCcMwDESzWaBfmaXrdJDO0T0CGcPVidicheQm0DgE8vHAlY6nI38dUkqn4g57 l9EJwzAMRLNZoF+Zpet0kM7RPQIZw9WJ2JyF5CbQOATy8cCVjqcjfx1SSqfiDnviDntS/Xg936PwERKB
4g57Uv14Pd+j8BESgTnDuyark2dwj3zTFlgonOHjVthkddr5wjdtARsGfDzKAN2zJ3JinikP4IUFFRNe OcO7JquTZ3CPfNMWWCic4eNW2GR12vnCN20BGwZ8PMoA3bMncmKeKQ/ghQUVE14G6J49kRPzTHkALyyo
BuiePZET80x5AC8sqJjwMkD37ImcmGfKA3hhQcWElwG6Z0/kxDxTHsALCyomvAzQPXsiJ+aZ8gBeWFAx mPAyQPfsiZyYZ8oDeGFBxYSXAbpnT+TEPFMewAsLKia8DNA9eyIn5pnyAF5YUDHhZVwiZ74HLlmgCfsi
4WVcIme+By5ZoAn7Iifvf4aPgG/eBVoFHgJmu2AfeeHaXaASb4V9jOzuAneBu8D1CkxCJd8C+8gL1+4C J+9/ho+Ab94FWgUeAma7YB954dpdoBJvhX2M7O4Cd4G7wPUKTEIl3wL7yAvX7gKHwTdtgdmGD2Dmm7YA
h8E3bYHZhg9g5pu2AD6V99/gX8A98c2qwBm4w564w36k4QtaC2pTkRLrNgAAAABJRU5ErkJggg== PpX33+BfwD3xzarAGbjDnrjDfqThC1oLalOREus2AAAAAElFTkSuQmCC
</value> </value>
</data> </data>
<data name="BarButtonItem2.ImageOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="BarButtonNew.ImageOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAAG3RFWHRUaXRsZQBBZGQ7UGx1 dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAbdEVYdFRpdGxlAEFkZDtQbHVzO0JhcnM7UmliYm9u
cztCYXJzO1JpYmJvbjuVBjMvAAAAYElEQVQ4T92MUQqAMAxDd0Ev5am8XbTSlEwyRBwIfrzRpelrAF5h O5UGMy8AAABgSURBVDhP3YxRCoAwDEN3QS/lqbxdtNKUTDJEHAh+vNGl6WsAXmFDsqwbkphtx4bkR4Kc
Q7KsG5KYbceG5EeCnG3HhkQFI86HxadMFRTxJ1q85NXtAiXzEuiOzBOMOEqdQHfEhoSCOP5GcA/aDplf bceGRAUjzofFp0wVFPEnWrzk1e0CJfMS6I7ME4w4Sp1Ad8SGhII4/kZwD9oOmV+r+RzWkL4AAAAASUVO
q/kc1pC+AAAAAElFTkSuQmCC
</value>
</data>
<data name="BarButtonItem2.ImageOptions.LargeImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAAG3RFWHRUaXRsZQBBZGQ7UGx1
cztCYXJzO1JpYmJvbjuVBjMvAAAAj0lEQVRYR+3OUQqEMAxFUTfoplyVu4vNhyDpRR4Sokg+DsKdafsW
M3sVxkoYK2GshLESRsW67XYVf1dhVPSAHtAD/j0gXp4lvuOm4OhwhviOm4KjwxniO24Kjg5niO+4KaiU
yxUYFTRgfG9dz58wKsaF3xvwBEZFD6AB44v/vYNR0QOyYKyEsRLGShjr2HIAeeWOhN7Trl4AAAAASUVO
RK5CYII= RK5CYII=
</value> </value>
</data> </data>
<data name="BarButtonItem3.ImageOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="BarButtonNew.ImageOptions.LargeImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAAKXRFWHRUaXRsZQBSZW1vdmU7 dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAbdEVYdFRpdGxlAEFkZDtQbHVzO0JhcnM7UmliYm9u
RGVsZXRlO0JhcnM7UmliYm9uO1N0YW5kYXJkO2NWSDAAAADCSURBVDhPjZNLCgIxEERzOGFWegkvIH4Q O5UGMy8AAACPSURBVFhH7c5RCoQwDEVRN+imXJW7i82HIOlFHhKiSD4Owp1p+xYzexXGShgrYayEsRJG
Rhyv6UkUV20VpCTpTquLB0n9GAZSzKzct6s1mHn+B2Qv7PCs8gsYuPqwB5lbzbKzoXCqgkhH4Kks9jLO xbrtdhV/V2FU9IAe0AP+PSBeniW+46bg6HCG+I6bgqPDGeI7bgqODmeI77gpqJTLFRgVNGB8b13PnzAq
zggj0Hz5SL0NpCM4D8vkM1CDfmQBaZl0AwQBP9LSlUl3EQiORkKZBIEg7D+bLKNsEBAclUUY6S4I+PIB xoXfG/AERkUPoAHji/+9g1HRA7JgrISxEsZKGOvYcgB55Y6E3tOuXgAAAABJRU5ErkJggg==
hB/bdr6WGy8d+VkW0IYjNPgwWiOUBTw/MlOcwKMKaVkgo5EnmCRyZOfDGcjyAU5mVt7SQJzMJkqbYgAA
AABJRU5ErkJggg==
</value> </value>
</data> </data>
<data name="BarButtonItem3.ImageOptions.LargeImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="BarButtonDelete.ImageOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAAKXRFWHRUaXRsZQBSZW1vdmU7 dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAApdEVYdFRpdGxlAFJlbW92ZTtEZWxldGU7QmFycztS
RGVsZXRlO0JhcnM7UmliYm9uO1N0YW5kYXJkO2NWSDAAAAFuSURBVFhHxZZNSgQxFIRn5gIOeiU3LhxB aWJib247U3RhbmRhcmQ7Y1ZIMAAAAMJJREFUOE+Nk0sKAjEQRHM4YVZ6CS8gfhBGHK/pSRRXbRWkJOlO
j+BRRRTFWc9VXMWqJg+e6XpNXoS4+BYpUj/Q3dC7Usq/IsWZSHEmUrw83/6JJuvgzy1SrEFX4AXc1XM3 q4sHSf0YBlLMrNy3qzWYef4HZC/s8KzyCxi4+rAHmVvNsrOhcKqCSEfgqSz2Ms7OCCPQfPlIvQ2kIzgP
LucevIKjz/dIEQaWf4ACvkFqRM1gOb3M+ARyxErAxQPgahqN7AhfbjBz3/b9Ohi4+ATagN4RqpznB9W1 y+QzUIN+ZAFpmXQDBAE/0tKVSXcRCI5GQpkEgSDsP5sso2wQEByVRRjpLgj48gGEH9t2vpYbLx35WRbQ
Egguk8dqbIO2RqTKiRRhMDIj0uVEijB5ekYMlRMpwtiyNWK4nEgRZkU0YricSBEBEWqEJ1VOpIiQLaIR hiM0+DBaI5QFPD8yU5zAowppWSCjkSeYJHJk58MZyPIBTmZW3tJAnMwmSptiAAAAAElFTkSuQmCC
SzmQmRFSZMgG6pnbgOXFVJkRUmRIQFRuLCNUZoQUEaKI3naldY+QIgJ6y/nMw09UZbdIEebecrszPEKK </value>
MGbKjaERUoSJROUn4Is96RFShGGk3EiNWAm4uAdv1egDesoNNeIddP+QXIOvasyWW4YfcQY3bQ9ZCQSX </data>
CUdwdaqcuByOYIYsJ1K0IMD/Q3/uosnK/5bPRIozkeJMpDgTKc6j7H4A2ecNYxfzGoMAAAAASUVORK5C <data name="BarButtonDelete.ImageOptions.LargeImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
YII= <value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAApdEVYdFRpdGxlAFJlbW92ZTtEZWxldGU7QmFycztS
aWJib247U3RhbmRhcmQ7Y1ZIMAAAAW5JREFUWEfFlk1KBDEUhGfmAg56JTcuHEGP4FFFFMVZz1Vcxaom
D57pek1ehLj4FilSP9Dd0LtSyr8ixZlIcSZSvDzf/okm6+DPLVKsQVfgBdzVczcu5x68gqPP90gRBpZ/
gAK+QWpEzWA5vcz4BHLESsDFA+BqGo3sCF9uMHPf9v06GLj4BNqA3hGqnOcH1bUSCC6Tx2psg7ZGpMqJ
FGEwMiPS5USKMHl6RgyVEynC2LI1YricSBFmRTRiuJxIEQERaoQnVU6kiJAtohFLOZCZEVJkyAbqmduA
5cVUmRFSZEhAVG4sI1RmhBQRoojedqV1j5AiAnrL+czDT1Rlt0gR5t5yuzM8QoowZsqNoRFShIlE5Sfg
iz3pEVKEYaTcSI1YCbi4B2/V6AN6yg014h10/5Bcg69qzJZbhh9xBjdtD1kJBJcJR3B1qpy4HI5ghiwn
UrQgwP9Df+6iycr/ls9EijOR4kykOBMpzqPsfgDZ5w1jF/MagwAAAABJRU5ErkJggg==
</value> </value>
</data> </data>
</root> </root>

View File

@ -4,9 +4,17 @@ Imports DevExpress.XtraLayout
Public Class frmEdit Public Class frmEdit
Private ReadOnly _Datatable As DataTable Private ReadOnly _Datatable As DataTable
Private _BindingSource As BindingSource
Private _LanguageDatatable As DataTable Private _LanguageDatatable As DataTable
Private _AttributeId As Integer Private _AttributeId As Integer
Private Class ControlMetadata
Public AttributeId As Integer
Public DataType As Type
Public ColumnName As String
End Class
Public Sub New(AttributeId As Integer, Datatable As DataTable) Public Sub New(AttributeId As Integer, Datatable As DataTable)
' Dieser Aufruf ist für den Designer erforderlich. ' Dieser Aufruf ist für den Designer erforderlich.
InitializeComponent() InitializeComponent()
@ -22,8 +30,11 @@ Public Class frmEdit
ProcessContainer(AddressOf ClassGridControl.DefaultGridSettings). ProcessContainer(AddressOf ClassGridControl.DefaultGridSettings).
ProcessContainer(AddressOf ClassGridControl.ReadOnlyGridSettings) ProcessContainer(AddressOf ClassGridControl.ReadOnlyGridSettings)
' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu. labelParentAttributeId.Caption = $"Attribut-ID: {_AttributeId}"
GridList.DataSource = _Datatable
_BindingSource = New BindingSource()
_BindingSource.DataSource = _Datatable
GridList.DataSource = _BindingSource
SplitContainerControl1.SplitterPosition = My.UIConfig.FrmEdit_Splitter SplitContainerControl1.SplitterPosition = My.UIConfig.FrmEdit_Splitter
@ -47,17 +58,28 @@ Public Class frmEdit
Select Case Column.DataType Select Case Column.DataType
Case GetType(Int64) Case GetType(Int64)
Dim oTextEdit = New TextEdit() Dim oIntegerEdit = New TextEdit()
oTextEdit.Name = Column.ColumnName oIntegerEdit.Name = Column.ColumnName
oTextEdit.Properties.Mask.MaskType = Mask.MaskType.Numeric oIntegerEdit.Properties.Mask.MaskType = Mask.MaskType.Numeric
oTextEdit.Properties.Mask.EditMask = "n" oIntegerEdit.Properties.Mask.EditMask = "n"
oEditor = oTextEdit oEditor = oIntegerEdit
Case Else Case Else
oEditor = New TextEdit() With {.Name = Column.ColumnName} oEditor = New TextEdit() With {.Name = Column.ColumnName}
End Select End Select
' Set EditControl Metadata
If AttributeId > 0 Then If AttributeId > 0 Then
oEditor.Tag = AttributeId oEditor.Tag = New ControlMetadata() With {
.AttributeId = AttributeId,
.DataType = Column.DataType,
.ColumnName = Column.ColumnName
}
Else
oEditor.Tag = New ControlMetadata() With {
.AttributeId = Nothing,
.DataType = Column.DataType,
.ColumnName = Column.ColumnName
}
End If End If
Return oEditor Return oEditor
@ -94,22 +116,45 @@ Public Class frmEdit
Dim oAttributeId As Integer = GetRowItemBySequence(oCounter, "ATTRIBUTE_ID") Dim oAttributeId As Integer = GetRowItemBySequence(oCounter, "ATTRIBUTE_ID")
Dim oCaption = GetColumnCaption(oColumn, oCounter) Dim oCaption = GetColumnCaption(oColumn, oCounter)
Dim oEditor = GetColumnEditor(oColumn, oAttributeId) Dim oEditor = GetColumnEditor(oColumn, oAttributeId)
oEditor.DataBindings.Add(New Binding("Text", _Datatable, oColumn.ColumnName)) oEditor.DataBindings.Add(New Binding("Text", _BindingSource, oColumn.ColumnName))
' Add Control to Layout ' Add Control to Layout
LayoutControlGroup1.AddItem(oCaption, oEditor) LayoutGroup.AddItem(oCaption, oEditor)
' Set Column Captions
ViewList.Columns.Item(oColumn.ColumnName).Caption = oCaption ViewList.Columns.Item(oColumn.ColumnName).Caption = oCaption
oCounter = oCounter + 1 oCounter = oCounter + 1
Next Next
' General Layout Tweaks ' General Layout Tweaks
LayoutControlGroup1.AddItem(New EmptySpaceItem()) LayoutGroup.AddItem(New EmptySpaceItem())
LayoutControlGroup1.LayoutMode = Utils.LayoutMode.Flow LayoutGroup.LayoutMode = Utils.LayoutMode.Flow
End Sub End Sub
Public Sub SaveRecord()
_BindingSource.EndEdit()
Dim oChanges As DataTable = _Datatable.GetChanges()
Dim oChangedRow As DataRow = oChanges.Rows.Item(0)
For Each oColumn As DataColumn In oChanges.Columns
Dim oAttributeId = (From oItem As LayoutControlItem In LayoutGroup.Items
Where oItem.Control.Name = oColumn.ColumnName
Select DirectCast(oItem.Control.Tag, ControlMetadata).AttributeId).FirstOrDefault()
Dim oValue = oChangedRow.Item(oColumn.ColumnName)
MsgBox($"Saving Value {oValue} for Attribute {oAttributeId}")
Next
End Sub
Private Sub SplitContainerControl1_SplitterPositionChanged(sender As Object, e As EventArgs) Handles SplitContainerControl1.SplitterPositionChanged Private Sub SplitContainerControl1_SplitterPositionChanged(sender As Object, e As EventArgs) Handles SplitContainerControl1.SplitterPositionChanged
My.UIConfig.FrmEdit_Splitter = SplitContainerControl1.SplitterPosition My.UIConfig.FrmEdit_Splitter = SplitContainerControl1.SplitterPosition
My.UIConfigManager.Save() My.UIConfigManager.Save()
End Sub End Sub
Private Sub BarButtonSave_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonSave.ItemClick
SaveRecord()
End Sub
End Class End Class

View File

@ -20,7 +20,7 @@ Partial Class frmUserManager
<System.Diagnostics.DebuggerStepThrough()> <System.Diagnostics.DebuggerStepThrough()>
Private Sub InitializeComponent() Private Sub InitializeComponent()
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmUserManager)) Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmUserManager))
Me.RibbonControl = New DevExpress.XtraBars.Ribbon.RibbonControl() Me.UserRibbon = New DevExpress.XtraBars.Ribbon.RibbonControl()
Me.BarButtonUserEdit = New DevExpress.XtraBars.BarButtonItem() Me.BarButtonUserEdit = New DevExpress.XtraBars.BarButtonItem()
Me.BarButtonGroupEdit = New DevExpress.XtraBars.BarButtonItem() Me.BarButtonGroupEdit = New DevExpress.XtraBars.BarButtonItem()
Me.BarButtonAssign = New DevExpress.XtraBars.BarButtonItem() Me.BarButtonAssign = New DevExpress.XtraBars.BarButtonItem()
@ -32,27 +32,27 @@ Partial Class frmUserManager
Me.RibbonPageGroup2 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() Me.RibbonPageGroup2 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibbonPageGroup3 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() Me.RibbonPageGroup3 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibbonStatusBar = New DevExpress.XtraBars.Ribbon.RibbonStatusBar() Me.RibbonStatusBar = New DevExpress.XtraBars.Ribbon.RibbonStatusBar()
Me.UCUserToGroup = New DigitalData.GUIs.ClientSuite.UserControlAssignment() Me.UserNavbar = New DevExpress.XtraBars.Navigation.OfficeNavigationBar()
Me.OfficeNavigationBar1 = New DevExpress.XtraBars.Navigation.OfficeNavigationBar()
Me.NavbarUser2Group = New DevExpress.XtraBars.Navigation.NavigationBarItem() Me.NavbarUser2Group = New DevExpress.XtraBars.Navigation.NavigationBarItem()
Me.NavbarGroup2Group = New DevExpress.XtraBars.Navigation.NavigationBarItem() Me.NavbarGroup2Group = New DevExpress.XtraBars.Navigation.NavigationBarItem()
Me.UCGroupToGroup = New DigitalData.GUIs.ClientSuite.UserControlAssignment() Me.ContentPanel = New DevExpress.XtraEditors.PanelControl()
CType(Me.RibbonControl, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.UserRibbon, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.OfficeNavigationBar1, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.UserNavbar, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.ContentPanel, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout() Me.SuspendLayout()
' '
'RibbonControl 'UserRibbon
' '
Me.RibbonControl.ExpandCollapseItem.Id = 0 Me.UserRibbon.ExpandCollapseItem.Id = 0
Me.RibbonControl.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl.ExpandCollapseItem, Me.BarButtonUserEdit, Me.BarButtonGroupEdit, Me.BarButtonAssign, Me.BarButtonItem1, Me.BarButtonRefresh}) Me.UserRibbon.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.UserRibbon.ExpandCollapseItem, Me.BarButtonUserEdit, Me.BarButtonGroupEdit, Me.BarButtonAssign, Me.BarButtonItem1, Me.BarButtonRefresh})
Me.RibbonControl.Location = New System.Drawing.Point(0, 0) Me.UserRibbon.Location = New System.Drawing.Point(0, 0)
Me.RibbonControl.MaxItemId = 10 Me.UserRibbon.MaxItemId = 10
Me.RibbonControl.MdiMergeStyle = DevExpress.XtraBars.Ribbon.RibbonMdiMergeStyle.Always Me.UserRibbon.MdiMergeStyle = DevExpress.XtraBars.Ribbon.RibbonMdiMergeStyle.Always
Me.RibbonControl.Name = "RibbonControl" Me.UserRibbon.Name = "UserRibbon"
Me.RibbonControl.PageCategories.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageCategory() {Me.RibbonPageCategoryUserManager}) Me.UserRibbon.PageCategories.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageCategory() {Me.RibbonPageCategoryUserManager})
Me.RibbonControl.ShowApplicationButton = DevExpress.Utils.DefaultBoolean.[False] Me.UserRibbon.ShowApplicationButton = DevExpress.Utils.DefaultBoolean.[False]
Me.RibbonControl.Size = New System.Drawing.Size(1070, 146) Me.UserRibbon.Size = New System.Drawing.Size(1070, 146)
Me.RibbonControl.StatusBar = Me.RibbonStatusBar Me.UserRibbon.StatusBar = Me.RibbonStatusBar
' '
'BarButtonUserEdit 'BarButtonUserEdit
' '
@ -131,29 +131,18 @@ Partial Class frmUserManager
Me.RibbonStatusBar.HideWhenMerging = DevExpress.Utils.DefaultBoolean.[True] Me.RibbonStatusBar.HideWhenMerging = DevExpress.Utils.DefaultBoolean.[True]
Me.RibbonStatusBar.Location = New System.Drawing.Point(0, 519) Me.RibbonStatusBar.Location = New System.Drawing.Point(0, 519)
Me.RibbonStatusBar.Name = "RibbonStatusBar" Me.RibbonStatusBar.Name = "RibbonStatusBar"
Me.RibbonStatusBar.Ribbon = Me.RibbonControl Me.RibbonStatusBar.Ribbon = Me.UserRibbon
Me.RibbonStatusBar.Size = New System.Drawing.Size(1070, 21) Me.RibbonStatusBar.Size = New System.Drawing.Size(1070, 21)
' '
'UCUserToGroup 'UserNavbar
' '
Me.UCUserToGroup.Location = New System.Drawing.Point(335, 163) Me.UserNavbar.Dock = System.Windows.Forms.DockStyle.Bottom
Me.UCUserToGroup.Name = "UCUserToGroup" Me.UserNavbar.Items.AddRange(New DevExpress.XtraBars.Navigation.NavigationBarItem() {Me.NavbarUser2Group, Me.NavbarGroup2Group})
Me.UCUserToGroup.Size = New System.Drawing.Size(391, 271) Me.UserNavbar.Location = New System.Drawing.Point(0, 474)
Me.UCUserToGroup.TabIndex = 0 Me.UserNavbar.Name = "UserNavbar"
Me.UCUserToGroup.TextAssignedToParent = "Zugeordnete Benutzer zu Gruppe:" Me.UserNavbar.Size = New System.Drawing.Size(1070, 45)
Me.UCUserToGroup.TextNotAssignedToParent = "Nicht zugeordnete Benutzer:" Me.UserNavbar.TabIndex = 2
Me.UCUserToGroup.TextParentList = "Verfügbare Gruppen:" Me.UserNavbar.Text = "OfficeNavigationBar1"
Me.UCUserToGroup.Visible = False
'
'OfficeNavigationBar1
'
Me.OfficeNavigationBar1.Dock = System.Windows.Forms.DockStyle.Bottom
Me.OfficeNavigationBar1.Items.AddRange(New DevExpress.XtraBars.Navigation.NavigationBarItem() {Me.NavbarUser2Group, Me.NavbarGroup2Group})
Me.OfficeNavigationBar1.Location = New System.Drawing.Point(0, 474)
Me.OfficeNavigationBar1.Name = "OfficeNavigationBar1"
Me.OfficeNavigationBar1.Size = New System.Drawing.Size(1070, 45)
Me.OfficeNavigationBar1.TabIndex = 2
Me.OfficeNavigationBar1.Text = "OfficeNavigationBar1"
' '
'NavbarUser2Group 'NavbarUser2Group
' '
@ -166,54 +155,50 @@ Partial Class frmUserManager
Me.NavbarGroup2Group.ShowPeekFormOnItemHover = DevExpress.Utils.DefaultBoolean.[True] Me.NavbarGroup2Group.ShowPeekFormOnItemHover = DevExpress.Utils.DefaultBoolean.[True]
Me.NavbarGroup2Group.Text = "Gruppenzuordnung" Me.NavbarGroup2Group.Text = "Gruppenzuordnung"
' '
'UCGroupToGroup 'ContentPanel
' '
Me.UCGroupToGroup.Location = New System.Drawing.Point(22, 163) Me.ContentPanel.Dock = System.Windows.Forms.DockStyle.Fill
Me.UCGroupToGroup.Name = "UCGroupToGroup" Me.ContentPanel.Location = New System.Drawing.Point(0, 146)
Me.UCGroupToGroup.Size = New System.Drawing.Size(276, 234) Me.ContentPanel.Name = "ContentPanel"
Me.UCGroupToGroup.TabIndex = 5 Me.ContentPanel.Size = New System.Drawing.Size(1070, 328)
Me.UCGroupToGroup.TextAssignedToParent = "Zugeordnete Gruppen:" Me.ContentPanel.TabIndex = 8
Me.UCGroupToGroup.TextNotAssignedToParent = "Nicht zugeordnete Gruppen:"
Me.UCGroupToGroup.TextParentList = "Verfügbare Gruppen:"
Me.UCGroupToGroup.Visible = False
' '
'frmUserManager 'frmUserManager
' '
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(1070, 540) Me.ClientSize = New System.Drawing.Size(1070, 540)
Me.Controls.Add(Me.UCGroupToGroup) Me.Controls.Add(Me.ContentPanel)
Me.Controls.Add(Me.UCUserToGroup) Me.Controls.Add(Me.UserNavbar)
Me.Controls.Add(Me.OfficeNavigationBar1)
Me.Controls.Add(Me.RibbonStatusBar) Me.Controls.Add(Me.RibbonStatusBar)
Me.Controls.Add(Me.RibbonControl) Me.Controls.Add(Me.UserRibbon)
Me.Name = "frmUserManager" Me.Name = "frmUserManager"
Me.Ribbon = Me.RibbonControl Me.Ribbon = Me.UserRibbon
Me.ShowIcon = False Me.ShowIcon = False
Me.StatusBar = Me.RibbonStatusBar Me.StatusBar = Me.RibbonStatusBar
Me.Text = "User Manager" Me.Text = "User Manager"
CType(Me.RibbonControl, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.UserRibbon, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.OfficeNavigationBar1, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.UserNavbar, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.ContentPanel, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False) Me.ResumeLayout(False)
Me.PerformLayout() Me.PerformLayout()
End Sub End Sub
Friend WithEvents RibbonControl As DevExpress.XtraBars.Ribbon.RibbonControl Friend WithEvents UserRibbon As DevExpress.XtraBars.Ribbon.RibbonControl
Friend WithEvents RibbonPageUserManager As DevExpress.XtraBars.Ribbon.RibbonPage Friend WithEvents RibbonPageUserManager As DevExpress.XtraBars.Ribbon.RibbonPage
Friend WithEvents RibbonPageGroup1 As DevExpress.XtraBars.Ribbon.RibbonPageGroup Friend WithEvents RibbonPageGroup1 As DevExpress.XtraBars.Ribbon.RibbonPageGroup
Friend WithEvents RibbonStatusBar As DevExpress.XtraBars.Ribbon.RibbonStatusBar Friend WithEvents RibbonStatusBar As DevExpress.XtraBars.Ribbon.RibbonStatusBar
Friend WithEvents BarButtonUserEdit As DevExpress.XtraBars.BarButtonItem Friend WithEvents BarButtonUserEdit As DevExpress.XtraBars.BarButtonItem
Friend WithEvents BarButtonGroupEdit As DevExpress.XtraBars.BarButtonItem Friend WithEvents BarButtonGroupEdit As DevExpress.XtraBars.BarButtonItem
Friend WithEvents RibbonPageCategoryUserManager As DevExpress.XtraBars.Ribbon.RibbonPageCategory Friend WithEvents RibbonPageCategoryUserManager As DevExpress.XtraBars.Ribbon.RibbonPageCategory
Friend WithEvents UCUserToGroup As UserControlAssignment
Friend WithEvents BarButtonAssign As DevExpress.XtraBars.BarButtonItem Friend WithEvents BarButtonAssign As DevExpress.XtraBars.BarButtonItem
Friend WithEvents BarButtonItem1 As DevExpress.XtraBars.BarButtonItem Friend WithEvents BarButtonItem1 As DevExpress.XtraBars.BarButtonItem
Friend WithEvents RibbonPageGroup2 As DevExpress.XtraBars.Ribbon.RibbonPageGroup Friend WithEvents RibbonPageGroup2 As DevExpress.XtraBars.Ribbon.RibbonPageGroup
Friend WithEvents BarButtonRefresh As DevExpress.XtraBars.BarButtonItem Friend WithEvents BarButtonRefresh As DevExpress.XtraBars.BarButtonItem
Friend WithEvents RibbonPageGroup3 As DevExpress.XtraBars.Ribbon.RibbonPageGroup Friend WithEvents RibbonPageGroup3 As DevExpress.XtraBars.Ribbon.RibbonPageGroup
Friend WithEvents OfficeNavigationBar1 As DevExpress.XtraBars.Navigation.OfficeNavigationBar Friend WithEvents UserNavbar As DevExpress.XtraBars.Navigation.OfficeNavigationBar
Friend WithEvents NavbarUser2Group As DevExpress.XtraBars.Navigation.NavigationBarItem Friend WithEvents NavbarUser2Group As DevExpress.XtraBars.Navigation.NavigationBarItem
Friend WithEvents NavbarGroup2Group As DevExpress.XtraBars.Navigation.NavigationBarItem Friend WithEvents NavbarGroup2Group As DevExpress.XtraBars.Navigation.NavigationBarItem
Friend WithEvents UCGroupToGroup As UserControlAssignment Friend WithEvents ContentPanel As DevExpress.XtraEditors.PanelControl
End Class End Class

View File

@ -4,6 +4,14 @@ Public Class frmUserManager
Private _Logger As Logger Private _Logger As Logger
Private _CommonCommands As ClassCommonCommands Private _CommonCommands As ClassCommonCommands
Private _UserTable As DataTable
Private _GroupTable As DataTable
Private _UserToGroupTable As DataTable
Private _GroupToGroupTable As DataTable
Private _UserToGroupControl As UserControlAssignment
Private _GroupToGroupControl As UserControlAssignment
Public Sub New() Public Sub New()
' Dieser Aufruf ist für den Designer erforderlich. ' Dieser Aufruf ist für den Designer erforderlich.
InitializeComponent() InitializeComponent()
@ -14,65 +22,103 @@ Public Class frmUserManager
End Sub End Sub
Private Async Sub frmUserManager_Load(sender As Object, e As EventArgs) Handles MyBase.Load Private Async Sub frmUserManager_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Await InitData() Await InitDataAsync()
AddHandler UCUserToGroup.ChildAdded, AddressOf HandleUserAddedToGroup UserRibbon.SelectPage(RibbonPageUserManager)
AddHandler UCUserToGroup.ChildRemoved, AddressOf HandleUserRemovedFromGroup UserNavbar.SelectedItem = NavbarUser2Group
AddHandler UCGroupToGroup.ChildAdded, AddressOf HandleGroupAddedToGroup
AddHandler UCGroupToGroup.ChildRemoved, AddressOf HandleGroupRemovedFromGroup
RibbonControl.SelectPage(RibbonPageUserManager)
End Sub End Sub
Private Sub frmUserManager_VisibleChanged(sender As Object, e As EventArgs) Handles Me.VisibleChanged Private Sub frmUserManager_VisibleChanged(sender As Object, e As EventArgs) Handles Me.VisibleChanged
If Visible Then If Visible Then
RibbonControl.SelectPage(RibbonPageUserManager) UserRibbon.SelectPage(RibbonPageUserManager)
End If End If
End Sub End Sub
Private Async Function InitData() As Task Private Sub frmUserManager_Activated(sender As Object, e As EventArgs) Handles Me.Activated
Dim oUserTable = Await GetAttributeListAsync("User") If Visible Then
Dim oGroupTable = Await GetAttributeListAsync("Group") UserRibbon.SelectPage(RibbonPageUserManager)
Dim oUserGroupTable = Await GetAttributeListAsync("User2Group") End If
Dim oGroupGroupTable = Await GetAttributeListAsync("Group2Group") End Sub
UCUserToGroup.Init(oGroupTable, oUserTable, oUserGroupTable, "GROUP_ID", "USER_ID") Private Sub ShowUserToGroupControl()
UCGroupToGroup.Init(oGroupTable, oGroupTable, oGroupGroupTable, "GROUP2_ID", "GROUP1_ID") If _UserToGroupControl Is Nothing Then
_UserToGroupControl = New UserControlAssignment() With {
.TextAssignedToParent = "Zugeordnete Benutzer",
.TextNotAssignedToParent = "Nicht zugeordnete Benutzer",
.TextParentList = "Verfügbare Gruppen",
.Dock = DockStyle.Fill
}
AddHandler _UserToGroupControl.ChildAdded, AddressOf HandleUserAddedToGroup
AddHandler _UserToGroupControl.ChildRemoved, AddressOf HandleUserRemovedFromGroup
_UserToGroupControl.Init(_GroupTable, _UserTable, _UserToGroupTable, "GROUP_ID", "USER_ID")
ContentPanel.Controls.Add(_UserToGroupControl)
End If
_UserToGroupControl.Visible = True
End Sub
Private Sub ShowGroupToGroupControl()
If _GroupToGroupControl Is Nothing Then
_GroupToGroupControl = New UserControlAssignment() With {
.TextAssignedToParent = "Zugeordnete Gruppen",
.TextNotAssignedToParent = "Nicht zugeordnete Gruppen",
.TextParentList = "Verfügbare Gruppen",
.Dock = DockStyle.Fill
}
AddHandler _GroupToGroupControl.ChildAdded, AddressOf HandleGroupAddedToGroup
AddHandler _GroupToGroupControl.ChildRemoved, AddressOf HandleGroupRemovedFromGroup
_GroupToGroupControl.Init(_GroupTable, _GroupTable, _GroupToGroupTable, "GROUP2_ID", "GROUP1_ID")
_ContentPanel.Controls.Add(_GroupToGroupControl)
End If
_GroupToGroupControl.Visible = True
End Sub
Private Async Function InitDataAsync() As Task
_UserTable = Await GetAttributeListAsync("User")
_GroupTable = Await GetAttributeListAsync("Group")
_UserToGroupTable = Await GetAttributeListAsync("User2Group")
_GroupToGroupTable = Await GetAttributeListAsync("Group2Group")
End Function End Function
Private Async Function UpdateData() As Task Private Async Function UpdateDataAsync() As Task
Dim oUserTable = Await GetAttributeListAsync("User") _UserTable = Await GetAttributeListAsync("User")
Dim oGroupTable = Await GetAttributeListAsync("Group") _GroupTable = Await GetAttributeListAsync("Group")
Dim oUserGroupTable = Await GetAttributeListAsync("User2Group") _UserToGroupTable = Await GetAttributeListAsync("User2Group")
Dim oGroupGroupTable = Await GetAttributeListAsync("Group2Group") _GroupToGroupTable = Await GetAttributeListAsync("Group2Group")
UCUserToGroup.UpdateData(oGroupTable, oUserTable, oUserGroupTable) _UserToGroupControl.UpdateData(_GroupTable, _UserTable, _UserToGroupTable)
UCGroupToGroup.UpdateData(oGroupTable, oGroupTable, oGroupGroupTable) _GroupToGroupControl.UpdateData(_GroupTable, _GroupTable, _GroupToGroupTable)
End Function End Function
Private Async Sub HandleUserAddedToGroup(GroupId As Integer, UserId As Integer, RelationRecordId As Integer) Private Async Sub HandleUserAddedToGroup(GroupId As Integer, UserId As Integer, RelationRecordId As Integer)
Dim oRecordId = Await _CommonCommands.FNICM_RADM_NEW_USER2GROUP(UserId, GroupId) Dim oRecordId = Await _CommonCommands.FNICM_RADM_NEW_USER2GROUP(UserId, GroupId)
Await UpdateData() Await UpdateDataAsync()
End Sub End Sub
Private Async Sub HandleUserRemovedFromGroup(GroupId As Integer, UserId As Integer, RelationRecordId As Integer) Private Async Sub HandleUserRemovedFromGroup(GroupId As Integer, UserId As Integer, RelationRecordId As Integer)
Dim oResult = Await _CommonCommands.FNICM_DELETE_RECORD_FINALLY(RelationRecordId) Dim oResult = Await _CommonCommands.FNICM_DELETE_RECORD_FINALLY(RelationRecordId)
Await UpdateData() Await UpdateDataAsync()
End Sub End Sub
Private Async Sub HandleGroupAddedToGroup(ParentGroupId As Integer, GroupId As Integer, RelationRecordId As Integer) Private Async Sub HandleGroupAddedToGroup(ParentGroupId As Integer, GroupId As Integer, RelationRecordId As Integer)
Dim oRecordId = Await _CommonCommands.FNICM_RADM_NEW_GROUP2GROUP(GroupId, ParentGroupId) Dim oRecordId = Await _CommonCommands.FNICM_RADM_NEW_GROUP2GROUP(GroupId, ParentGroupId)
Await UpdateData() Await UpdateDataAsync()
End Sub End Sub
Private Async Sub HandleGroupRemovedFromGroup(ParentGroupId As Integer, GroupId As Integer, RelationRecordId As Integer) Private Async Sub HandleGroupRemovedFromGroup(ParentGroupId As Integer, GroupId As Integer, RelationRecordId As Integer)
Dim oResult = Await _CommonCommands.FNICM_DELETE_RECORD_FINALLY(RelationRecordId) Dim oResult = Await _CommonCommands.FNICM_DELETE_RECORD_FINALLY(RelationRecordId)
Await UpdateData() Await UpdateDataAsync()
End Sub End Sub
Private Async Function GetAttributeListAsync(AttributeName As String) As Task(Of DataTable) Private Async Function GetAttributeListAsync(AttributeName As String) As Task(Of DataTable)
@ -90,38 +136,32 @@ Public Class frmUserManager
End Try End Try
End Function End Function
Private Async Sub BarButtonUserEdit_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonUserEdit.ItemClick Private Sub BarButtonUserEdit_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonUserEdit.ItemClick
Dim oDatatable = Await GetAttributeListAsync("User") Dim oForm As New frmEdit(ClassConstants.DB_USER_ATTRIBUTE_ID, _UserTable)
Dim oForm As New frmEdit(ClassConstants.DB_USER_ATTRIBUTE_ID, oDatatable)
'oForm.MdiParent = o
oForm.Show() oForm.Show()
End Sub End Sub
Private Async Sub BarButtonGroupEdit_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonGroupEdit.ItemClick Private Sub BarButtonGroupEdit_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonGroupEdit.ItemClick
Dim oDatatable = Await GetAttributeListAsync("Group") Dim oForm As New frmEdit(ClassConstants.DB_GROUP_ATTRIBUTE_ID, _GroupTable)
Dim oForm As New frmEdit(ClassConstants.DB_GROUP_ATTRIBUTE_ID, oDatatable)
oForm.Show() oForm.Show()
End Sub End Sub
Private Async Sub BarButtonRefresh_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonRefresh.ItemClick Private Async Sub BarButtonRefresh_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonRefresh.ItemClick
Await UpdateData() Await UpdateDataAsync()
End Sub End Sub
Private Sub OfficeNavigationBar1_SelectedItemChanged(sender As Object, e As DevExpress.XtraBars.Navigation.NavigationBarItemEventArgs) Handles OfficeNavigationBar1.SelectedItemChanged Private Sub OfficeNavigationBar1_SelectedItemChanged(sender As Object, e As DevExpress.XtraBars.Navigation.NavigationBarItemEventArgs) Handles UserNavbar.SelectedItemChanged
Select Case OfficeNavigationBar1.SelectedItem.Name ' Hide all UserControls
Case "NavbarUser2Group" For Each oControl As Control In ContentPanel.Controls
UCUserToGroup.Visible = True oControl.Visible = False
UCUserToGroup.Dock = DockStyle.Fill Next
UCGroupToGroup.Visible = False ' Then check the currently selected navbar item and show the corresponding UserControl
UCGroupToGroup.Dock = DockStyle.None If UserNavbar.SelectedItem.Equals(NavbarUser2Group) Then
Case "NavbarGroup2Group" ShowUserToGroupControl()
UCGroupToGroup.Visible = True ElseIf UserNavbar.SelectedItem.Equals(NavbarGroup2Group) Then
UCGroupToGroup.Dock = DockStyle.Fill ShowGroupToGroupControl()
End If
UCUserToGroup.Visible = False
UCUserToGroup.Dock = DockStyle.None
End Select
End Sub End Sub

View File

@ -1,4 +1,19 @@
Public Class ProcessManagerWidget Imports DevExpress.XtraGrid
Public Class ProcessManagerWidget
Public Sub New()
' Dieser Aufruf ist für den Designer erforderlich.
InitializeComponent()
' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
Dim oGridPatcher = New ClassControlPatcher(Of GridControl)(Me)
oGridPatcher.
ProcessContainer(AddressOf ClassGridControl.DefaultGridSettings).
ProcessContainer(AddressOf ClassGridControl.ReadOnlyGridSettings)
End Sub
Public Delegate Sub RowDoubleClickedDelegate(RowView As DataRowView) Public Delegate Sub RowDoubleClickedDelegate(RowView As DataRowView)
Public Event RowDoubleClicked As RowDoubleClickedDelegate Public Event RowDoubleClicked As RowDoubleClickedDelegate