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)
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 oResult = Await My.Channel.ReturnScalarAsync(String.Format(oSQL, UserId, GroupId, Environment.UserName))
Dim oResult = Await My.Channel.ReturnScalarAsync(oSQL)
Await My.Channel.CloseDatabaseRequestAsync()
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)
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 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()
If oResult.OK Then

View File

@ -2,4 +2,13 @@
Public Property SkinName As String = "Office 2016 Colorful"
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

View File

@ -28,21 +28,22 @@ Partial Class frmEdit
Me.GridList = New DevExpress.XtraGrid.GridControl()
Me.ViewList = New DevExpress.XtraGrid.Views.Grid.GridView()
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.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.RibbonPageGroup1 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibbonStatusBar1 = New DevExpress.XtraBars.Ribbon.RibbonStatusBar()
Me.RibbonPage2 = New DevExpress.XtraBars.Ribbon.RibbonPage()
Me.BarButtonItem2 = New DevExpress.XtraBars.BarButtonItem()
Me.BarButtonItem3 = New DevExpress.XtraBars.BarButtonItem()
Me.labelParentAttributeId = New DevExpress.XtraBars.BarStaticItem()
CType(Me.SplitContainerControl1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SplitContainerControl1.SuspendLayout()
CType(Me.GridList, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.ViewList, 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()
Me.SuspendLayout()
'
@ -81,38 +82,54 @@ Partial Class frmEdit
Me.LayoutControl1.Location = New System.Drawing.Point(0, 0)
Me.LayoutControl1.Name = "LayoutControl1"
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.TabIndex = 0
Me.LayoutControl1.Text = "LayoutControl1"
'
'LayoutControlGroup1
'LayoutGroup
'
Me.LayoutControlGroup1.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.[True]
Me.LayoutControlGroup1.GroupBordersVisible = False
Me.LayoutControlGroup1.Name = "Root"
Me.LayoutControlGroup1.Size = New System.Drawing.Size(760, 338)
Me.LayoutControlGroup1.TextVisible = False
Me.LayoutGroup.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.[True]
Me.LayoutGroup.GroupBordersVisible = False
Me.LayoutGroup.Name = "Root"
Me.LayoutGroup.Size = New System.Drawing.Size(760, 338)
Me.LayoutGroup.TextVisible = False
'
'RibbonControl1
'
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.MaxItemId = 4
Me.RibbonControl1.MaxItemId = 6
Me.RibbonControl1.Name = "RibbonControl1"
Me.RibbonControl1.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.RibbonPage1})
Me.RibbonControl1.ShowApplicationButton = DevExpress.Utils.DefaultBoolean.[False]
Me.RibbonControl1.Size = New System.Drawing.Size(1104, 146)
Me.RibbonControl1.StatusBar = Me.RibbonStatusBar1
'
'BarButtonItem1
'BarButtonSave
'
Me.BarButtonItem1.Caption = "Speichern"
Me.BarButtonItem1.Id = 1
Me.BarButtonItem1.ImageOptions.Image = CType(resources.GetObject("BarButtonItem1.ImageOptions.Image"), System.Drawing.Image)
Me.BarButtonItem1.ImageOptions.LargeImage = CType(resources.GetObject("BarButtonItem1.ImageOptions.LargeImage"), System.Drawing.Image)
Me.BarButtonItem1.Name = "BarButtonItem1"
Me.BarButtonSave.Caption = "Speichern"
Me.BarButtonSave.Id = 1
Me.BarButtonSave.ImageOptions.Image = CType(resources.GetObject("BarButtonSave.ImageOptions.Image"), System.Drawing.Image)
Me.BarButtonSave.ImageOptions.LargeImage = CType(resources.GetObject("BarButtonSave.ImageOptions.LargeImage"), System.Drawing.Image)
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
'
@ -122,15 +139,16 @@ Partial Class frmEdit
'
'RibbonPageGroup1
'
Me.RibbonPageGroup1.ItemLinks.Add(Me.BarButtonItem1)
Me.RibbonPageGroup1.ItemLinks.Add(Me.BarButtonItem2)
Me.RibbonPageGroup1.ItemLinks.Add(Me.BarButtonItem3)
Me.RibbonPageGroup1.ItemLinks.Add(Me.BarButtonSave)
Me.RibbonPageGroup1.ItemLinks.Add(Me.BarButtonNew)
Me.RibbonPageGroup1.ItemLinks.Add(Me.BarButtonDelete)
Me.RibbonPageGroup1.Name = "RibbonPageGroup1"
Me.RibbonPageGroup1.ShowCaptionButton = False
Me.RibbonPageGroup1.Text = "Aktionen"
'
'RibbonStatusBar1
'
Me.RibbonStatusBar1.ItemLinks.Add(Me.labelParentAttributeId)
Me.RibbonStatusBar1.Location = New System.Drawing.Point(0, 484)
Me.RibbonStatusBar1.Name = "RibbonStatusBar1"
Me.RibbonStatusBar1.Ribbon = Me.RibbonControl1
@ -141,21 +159,11 @@ Partial Class frmEdit
Me.RibbonPage2.Name = "RibbonPage2"
Me.RibbonPage2.Text = "RibbonPage2"
'
'BarButtonItem2
'labelParentAttributeId
'
Me.BarButtonItem2.Caption = "Neu"
Me.BarButtonItem2.Id = 2
Me.BarButtonItem2.ImageOptions.Image = CType(resources.GetObject("BarButtonItem2.ImageOptions.Image"), System.Drawing.Image)
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"
Me.labelParentAttributeId.Caption = "BarStaticItem1"
Me.labelParentAttributeId.Id = 5
Me.labelParentAttributeId.Name = "labelParentAttributeId"
'
'frmEdit
'
@ -175,7 +183,7 @@ Partial Class frmEdit
CType(Me.GridList, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.ViewList, 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()
Me.ResumeLayout(False)
Me.PerformLayout()
@ -186,13 +194,14 @@ Partial Class frmEdit
Friend WithEvents GridList As DevExpress.XtraGrid.GridControl
Friend WithEvents ViewList As DevExpress.XtraGrid.Views.Grid.GridView
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 RibbonPage1 As DevExpress.XtraBars.Ribbon.RibbonPage
Friend WithEvents RibbonPageGroup1 As DevExpress.XtraBars.Ribbon.RibbonPageGroup
Friend WithEvents RibbonStatusBar1 As DevExpress.XtraBars.Ribbon.RibbonStatusBar
Friend WithEvents RibbonPage2 As DevExpress.XtraBars.Ribbon.RibbonPage
Friend WithEvents BarButtonItem1 As DevExpress.XtraBars.BarButtonItem
Friend WithEvents BarButtonItem2 As DevExpress.XtraBars.BarButtonItem
Friend WithEvents BarButtonItem3 As DevExpress.XtraBars.BarButtonItem
Friend WithEvents BarButtonSave As DevExpress.XtraBars.BarButtonItem
Friend WithEvents BarButtonNew As DevExpress.XtraBars.BarButtonItem
Friend WithEvents BarButtonDelete As DevExpress.XtraBars.BarButtonItem
Friend WithEvents labelParentAttributeId As DevExpress.XtraBars.BarStaticItem
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>
</resheader>
<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>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAAC3RFWHRUaXRsZQBTYXZlO/no
+QkAAABYSURBVDhPY/j//z9FGExMzlq/F4j/gzCUD2ajYzS5vSA+zABcilDE0OVAfPoYAMPY1GI1AB9G
V4shSAqmvgEgNjF41AA8BpCKkQ3Yji5JBN4ON4B8/J8BAL6u0wsmtxusAAAAAElFTkSuQmCC
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAALdEVYdFRpdGxlAFNhdmU7+ej5CQAAAFhJREFUOE9j
+P//P0UYTEzOWr8XiP+DMJQPZqNjNLm9ID7MAFyKUMTQ5UB8+hgAw9jUYjUAH0ZXiyFICqa+ASA2MXjU
ADwGkIqRDdiOLkkE3g43gHz8nwEAvq7TCya3G6wAAAAASUVORK5CYII=
</value>
</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>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAAC3RFWHRUaXRsZQBTYXZlO/no
+QkAAAENSURBVFhH7ZfRCcMwDESzWaBfmaXrdJDO0T0CGcPVidicheQm0DgE8vHAlY6nI38dUkqn4g57
4g57Uv14Pd+j8BESgTnDuyark2dwj3zTFlgonOHjVthkddr5wjdtARsGfDzKAN2zJ3JinikP4IUFFRNe
BuiePZET80x5AC8sqJjwMkD37ImcmGfKA3hhQcWElwG6Z0/kxDxTHsALCyomvAzQPXsiJ+aZ8gBeWFAx
4WVcIme+By5ZoAn7Iifvf4aPgG/eBVoFHgJmu2AfeeHaXaASb4V9jOzuAneBu8D1CkxCJd8C+8gL1+4C
h8E3bYHZhg9g5pu2AD6V99/gX8A98c2qwBm4w564w36k4QtaC2pTkRLrNgAAAABJRU5ErkJggg==
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAALdEVYdFRpdGxlAFNhdmU7+ej5CQAAAQ1JREFUWEft
l9EJwzAMRLNZoF+Zpet0kM7RPQIZw9WJ2JyF5CbQOATy8cCVjqcjfx1SSqfiDnviDntS/Xg936PwERKB
OcO7JquTZ3CPfNMWWCic4eNW2GR12vnCN20BGwZ8PMoA3bMncmKeKQ/ghQUVE14G6J49kRPzTHkALyyo
mPAyQPfsiZyYZ8oDeGFBxYSXAbpnT+TEPFMewAsLKia8DNA9eyIn5pnyAF5YUDHhZVwiZ74HLlmgCfsi
J+9/ho+Ab94FWgUeAma7YB954dpdoBJvhX2M7O4Cd4G7wPUKTEIl3wL7yAvX7gKHwTdtgdmGD2Dmm7YA
PpX33+BfwD3xzarAGbjDnrjDfqThC1oLalOREus2AAAAAElFTkSuQmCC
</value>
</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>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAAG3RFWHRUaXRsZQBBZGQ7UGx1
cztCYXJzO1JpYmJvbjuVBjMvAAAAYElEQVQ4T92MUQqAMAxDd0Ev5am8XbTSlEwyRBwIfrzRpelrAF5h
Q7KsG5KYbceG5EeCnG3HhkQFI86HxadMFRTxJ1q85NXtAiXzEuiOzBOMOEqdQHfEhoSCOP5GcA/aDplf
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
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAbdEVYdFRpdGxlAEFkZDtQbHVzO0JhcnM7UmliYm9u
O5UGMy8AAABgSURBVDhP3YxRCoAwDEN3QS/lqbxdtNKUTDJEHAh+vNGl6WsAXmFDsqwbkphtx4bkR4Kc
bceGRAUjzofFp0wVFPEnWrzk1e0CJfMS6I7ME4w4Sp1Ad8SGhII4/kZwD9oOmV+r+RzWkL4AAAAASUVO
RK5CYII=
</value>
</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>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAAKXRFWHRUaXRsZQBSZW1vdmU7
RGVsZXRlO0JhcnM7UmliYm9uO1N0YW5kYXJkO2NWSDAAAADCSURBVDhPjZNLCgIxEERzOGFWegkvIH4Q
Rhyv6UkUV20VpCTpTquLB0n9GAZSzKzct6s1mHn+B2Qv7PCs8gsYuPqwB5lbzbKzoXCqgkhH4Kks9jLO
zggj0Hz5SL0NpCM4D8vkM1CDfmQBaZl0AwQBP9LSlUl3EQiORkKZBIEg7D+bLKNsEBAclUUY6S4I+PIB
hB/bdr6WGy8d+VkW0IYjNPgwWiOUBTw/MlOcwKMKaVkgo5EnmCRyZOfDGcjyAU5mVt7SQJzMJkqbYgAA
AABJRU5ErkJggg==
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAbdEVYdFRpdGxlAEFkZDtQbHVzO0JhcnM7UmliYm9u
O5UGMy8AAACPSURBVFhH7c5RCoQwDEVRN+imXJW7i82HIOlFHhKiSD4Owp1p+xYzexXGShgrYayEsRJG
xbrtdhV/V2FU9IAe0AP+PSBeniW+46bg6HCG+I6bgqPDGeI7bgqODmeI77gpqJTLFRgVNGB8b13PnzAq
xoXfG/AERkUPoAHji/+9g1HRA7JgrISxEsZKGOvYcgB55Y6E3tOuXgAAAABJRU5ErkJggg==
</value>
</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>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAAKXRFWHRUaXRsZQBSZW1vdmU7
RGVsZXRlO0JhcnM7UmliYm9uO1N0YW5kYXJkO2NWSDAAAAFuSURBVFhHxZZNSgQxFIRn5gIOeiU3LhxB
j+BRRRTFWc9VXMWqJg+e6XpNXoS4+BYpUj/Q3dC7Usq/IsWZSHEmUrw83/6JJuvgzy1SrEFX4AXc1XM3
LucevIKjz/dIEQaWf4ACvkFqRM1gOb3M+ARyxErAxQPgahqN7AhfbjBz3/b9Ohi4+ATagN4RqpznB9W1
Egguk8dqbIO2RqTKiRRhMDIj0uVEijB5ekYMlRMpwtiyNWK4nEgRZkU0YricSBEBEWqEJ1VOpIiQLaIR
SzmQmRFSZMgG6pnbgOXFVJkRUmRIQFRuLCNUZoQUEaKI3naldY+QIgJ6y/nMw09UZbdIEebecrszPEKK
MGbKjaERUoSJROUn4Is96RFShGGk3EiNWAm4uAdv1egDesoNNeIddP+QXIOvasyWW4YfcQY3bQ9ZCQSX
CUdwdaqcuByOYIYsJ1K0IMD/Q3/uosnK/5bPRIozkeJMpDgTKc6j7H4A2ecNYxfzGoMAAAAASUVORK5C
YII=
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAApdEVYdFRpdGxlAFJlbW92ZTtEZWxldGU7QmFycztS
aWJib247U3RhbmRhcmQ7Y1ZIMAAAAMJJREFUOE+Nk0sKAjEQRHM4YVZ6CS8gfhBGHK/pSRRXbRWkJOlO
q4sHSf0YBlLMrNy3qzWYef4HZC/s8KzyCxi4+rAHmVvNsrOhcKqCSEfgqSz2Ms7OCCPQfPlIvQ2kIzgP
y+QzUIN+ZAFpmXQDBAE/0tKVSXcRCI5GQpkEgSDsP5sso2wQEByVRRjpLgj48gGEH9t2vpYbLx35WRbQ
hiM0+DBaI5QFPD8yU5zAowppWSCjkSeYJHJk58MZyPIBTmZW3tJAnMwmSptiAAAAAElFTkSuQmCC
</value>
</data>
<data name="BarButtonDelete.ImageOptions.LargeImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAApdEVYdFRpdGxlAFJlbW92ZTtEZWxldGU7QmFycztS
aWJib247U3RhbmRhcmQ7Y1ZIMAAAAW5JREFUWEfFlk1KBDEUhGfmAg56JTcuHEGP4FFFFMVZz1Vcxaom
D57pek1ehLj4FilSP9Dd0LtSyr8ixZlIcSZSvDzf/okm6+DPLVKsQVfgBdzVczcu5x68gqPP90gRBpZ/
gAK+QWpEzWA5vcz4BHLESsDFA+BqGo3sCF9uMHPf9v06GLj4BNqA3hGqnOcH1bUSCC6Tx2psg7ZGpMqJ
FGEwMiPS5USKMHl6RgyVEynC2LI1YricSBFmRTRiuJxIEQERaoQnVU6kiJAtohFLOZCZEVJkyAbqmduA
5cVUmRFSZEhAVG4sI1RmhBQRoojedqV1j5AiAnrL+czDT1Rlt0gR5t5yuzM8QoowZsqNoRFShIlE5Sfg
iz3pEVKEYaTcSI1YCbi4B2/V6AN6yg014h10/5Bcg69qzJZbhh9xBjdtD1kJBJcJR3B1qpy4HI5ghiwn
UrQgwP9Df+6iycr/ls9EijOR4kykOBMpzqPsfgDZ5w1jF/MagwAAAABJRU5ErkJggg==
</value>
</data>
</root>

View File

@ -4,9 +4,17 @@ Imports DevExpress.XtraLayout
Public Class frmEdit
Private ReadOnly _Datatable As DataTable
Private _BindingSource As BindingSource
Private _LanguageDatatable As DataTable
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)
' Dieser Aufruf ist für den Designer erforderlich.
InitializeComponent()
@ -22,8 +30,11 @@ Public Class frmEdit
ProcessContainer(AddressOf ClassGridControl.DefaultGridSettings).
ProcessContainer(AddressOf ClassGridControl.ReadOnlyGridSettings)
' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
GridList.DataSource = _Datatable
labelParentAttributeId.Caption = $"Attribut-ID: {_AttributeId}"
_BindingSource = New BindingSource()
_BindingSource.DataSource = _Datatable
GridList.DataSource = _BindingSource
SplitContainerControl1.SplitterPosition = My.UIConfig.FrmEdit_Splitter
@ -47,17 +58,28 @@ Public Class frmEdit
Select Case Column.DataType
Case GetType(Int64)
Dim oTextEdit = New TextEdit()
oTextEdit.Name = Column.ColumnName
oTextEdit.Properties.Mask.MaskType = Mask.MaskType.Numeric
oTextEdit.Properties.Mask.EditMask = "n"
oEditor = oTextEdit
Dim oIntegerEdit = New TextEdit()
oIntegerEdit.Name = Column.ColumnName
oIntegerEdit.Properties.Mask.MaskType = Mask.MaskType.Numeric
oIntegerEdit.Properties.Mask.EditMask = "n"
oEditor = oIntegerEdit
Case Else
oEditor = New TextEdit() With {.Name = Column.ColumnName}
End Select
' Set EditControl Metadata
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
Return oEditor
@ -94,22 +116,45 @@ Public Class frmEdit
Dim oAttributeId As Integer = GetRowItemBySequence(oCounter, "ATTRIBUTE_ID")
Dim oCaption = GetColumnCaption(oColumn, oCounter)
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
LayoutControlGroup1.AddItem(oCaption, oEditor)
LayoutGroup.AddItem(oCaption, oEditor)
' Set Column Captions
ViewList.Columns.Item(oColumn.ColumnName).Caption = oCaption
oCounter = oCounter + 1
Next
' General Layout Tweaks
LayoutControlGroup1.AddItem(New EmptySpaceItem())
LayoutControlGroup1.LayoutMode = Utils.LayoutMode.Flow
LayoutGroup.AddItem(New EmptySpaceItem())
LayoutGroup.LayoutMode = Utils.LayoutMode.Flow
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
My.UIConfig.FrmEdit_Splitter = SplitContainerControl1.SplitterPosition
My.UIConfigManager.Save()
End Sub
Private Sub BarButtonSave_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonSave.ItemClick
SaveRecord()
End Sub
End Class

View File

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

View File

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