Add Base(Ribbon)Form to provide Logger and ErrorHandler to all forms, Save Config per frmEdit Instance
This commit is contained in:
207
EDMI_ClientSuite/UserManager/frmEdit.Designer.vb
generated
207
EDMI_ClientSuite/UserManager/frmEdit.Designer.vb
generated
@@ -1,207 +0,0 @@
|
||||
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()>
|
||||
Partial Class frmEdit
|
||||
Inherits DevExpress.XtraBars.Ribbon.RibbonForm
|
||||
|
||||
'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
|
||||
<System.Diagnostics.DebuggerNonUserCode()>
|
||||
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
|
||||
Try
|
||||
If disposing AndAlso components IsNot Nothing Then
|
||||
components.Dispose()
|
||||
End If
|
||||
Finally
|
||||
MyBase.Dispose(disposing)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
'Wird vom Windows Form-Designer benötigt.
|
||||
Private components As System.ComponentModel.IContainer
|
||||
|
||||
'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich.
|
||||
'Das Bearbeiten ist mit dem Windows Form-Designer möglich.
|
||||
'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
|
||||
<System.Diagnostics.DebuggerStepThrough()>
|
||||
Private Sub InitializeComponent()
|
||||
Me.components = New System.ComponentModel.Container()
|
||||
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmEdit))
|
||||
Me.SplitContainerControl1 = New DevExpress.XtraEditors.SplitContainerControl()
|
||||
Me.GridList = New DevExpress.XtraGrid.GridControl()
|
||||
Me.ViewList = New DevExpress.XtraGrid.Views.Grid.GridView()
|
||||
Me.LayoutControl1 = New DevExpress.XtraLayout.LayoutControl()
|
||||
Me.LayoutGroup = New DevExpress.XtraLayout.LayoutControlGroup()
|
||||
Me.RibbonControl1 = New DevExpress.XtraBars.Ribbon.RibbonControl()
|
||||
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.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.LayoutGroup, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
CType(Me.RibbonControl1, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
Me.SuspendLayout()
|
||||
'
|
||||
'SplitContainerControl1
|
||||
'
|
||||
Me.SplitContainerControl1.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.SplitContainerControl1.Location = New System.Drawing.Point(0, 146)
|
||||
Me.SplitContainerControl1.Name = "SplitContainerControl1"
|
||||
Me.SplitContainerControl1.Panel1.Controls.Add(Me.GridList)
|
||||
Me.SplitContainerControl1.Panel1.Text = "Panel1"
|
||||
Me.SplitContainerControl1.Panel2.Controls.Add(Me.LayoutControl1)
|
||||
Me.SplitContainerControl1.Panel2.Text = "Panel2"
|
||||
Me.SplitContainerControl1.Size = New System.Drawing.Size(1104, 338)
|
||||
Me.SplitContainerControl1.SplitterPosition = 332
|
||||
Me.SplitContainerControl1.TabIndex = 0
|
||||
Me.SplitContainerControl1.Text = "SplitContainerControl1"
|
||||
'
|
||||
'GridList
|
||||
'
|
||||
Me.GridList.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.GridList.Location = New System.Drawing.Point(0, 0)
|
||||
Me.GridList.MainView = Me.ViewList
|
||||
Me.GridList.Name = "GridList"
|
||||
Me.GridList.Size = New System.Drawing.Size(332, 338)
|
||||
Me.GridList.TabIndex = 0
|
||||
Me.GridList.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.ViewList})
|
||||
'
|
||||
'ViewList
|
||||
'
|
||||
Me.ViewList.GridControl = Me.GridList
|
||||
Me.ViewList.Name = "ViewList"
|
||||
'
|
||||
'LayoutControl1
|
||||
'
|
||||
Me.LayoutControl1.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
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.LayoutGroup
|
||||
Me.LayoutControl1.Size = New System.Drawing.Size(760, 338)
|
||||
Me.LayoutControl1.TabIndex = 0
|
||||
Me.LayoutControl1.Text = "LayoutControl1"
|
||||
'
|
||||
'LayoutGroup
|
||||
'
|
||||
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.BarButtonSave, Me.BarButtonNew, Me.BarButtonDelete, Me.labelParentAttributeId})
|
||||
Me.RibbonControl1.Location = New System.Drawing.Point(0, 0)
|
||||
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
|
||||
'
|
||||
'BarButtonSave
|
||||
'
|
||||
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
|
||||
'
|
||||
Me.RibbonPage1.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup1})
|
||||
Me.RibbonPage1.Name = "RibbonPage1"
|
||||
Me.RibbonPage1.Text = "Aktionen"
|
||||
'
|
||||
'RibbonPageGroup1
|
||||
'
|
||||
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
|
||||
Me.RibbonStatusBar1.Size = New System.Drawing.Size(1104, 21)
|
||||
'
|
||||
'RibbonPage2
|
||||
'
|
||||
Me.RibbonPage2.Name = "RibbonPage2"
|
||||
Me.RibbonPage2.Text = "RibbonPage2"
|
||||
'
|
||||
'labelParentAttributeId
|
||||
'
|
||||
Me.labelParentAttributeId.Caption = "BarStaticItem1"
|
||||
Me.labelParentAttributeId.Id = 5
|
||||
Me.labelParentAttributeId.Name = "labelParentAttributeId"
|
||||
'
|
||||
'frmEdit
|
||||
'
|
||||
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
|
||||
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
|
||||
Me.ClientSize = New System.Drawing.Size(1104, 505)
|
||||
Me.Controls.Add(Me.SplitContainerControl1)
|
||||
Me.Controls.Add(Me.RibbonStatusBar1)
|
||||
Me.Controls.Add(Me.RibbonControl1)
|
||||
Me.Name = "frmEdit"
|
||||
Me.Ribbon = Me.RibbonControl1
|
||||
Me.ShowIcon = False
|
||||
Me.StatusBar = Me.RibbonStatusBar1
|
||||
Me.Text = "Datensätze bearbeiten"
|
||||
CType(Me.SplitContainerControl1, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
Me.SplitContainerControl1.ResumeLayout(False)
|
||||
CType(Me.GridList, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
CType(Me.ViewList, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
CType(Me.LayoutControl1, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
CType(Me.LayoutGroup, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
CType(Me.RibbonControl1, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
Me.ResumeLayout(False)
|
||||
Me.PerformLayout()
|
||||
|
||||
End Sub
|
||||
|
||||
Friend WithEvents SplitContainerControl1 As DevExpress.XtraEditors.SplitContainerControl
|
||||
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 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 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
|
||||
@@ -1,181 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="BarButtonSave.ImageOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
|
||||
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAALdEVYdFRpdGxlAFNhdmU7+ej5CQAAAFhJREFUOE9j
|
||||
+P//P0UYTEzOWr8XiP+DMJQPZqNjNLm9ID7MAFyKUMTQ5UB8+hgAw9jUYjUAH0ZXiyFICqa+ASA2MXjU
|
||||
ADwGkIqRDdiOLkkE3g43gHz8nwEAvq7TCya3G6wAAAAASUVORK5CYII=
|
||||
</value>
|
||||
</data>
|
||||
<data name="BarButtonSave.ImageOptions.LargeImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
|
||||
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAALdEVYdFRpdGxlAFNhdmU7+ej5CQAAAQ1JREFUWEft
|
||||
l9EJwzAMRLNZoF+Zpet0kM7RPQIZw9WJ2JyF5CbQOATy8cCVjqcjfx1SSqfiDnviDntS/Xg936PwERKB
|
||||
OcO7JquTZ3CPfNMWWCic4eNW2GR12vnCN20BGwZ8PMoA3bMncmKeKQ/ghQUVE14G6J49kRPzTHkALyyo
|
||||
mPAyQPfsiZyYZ8oDeGFBxYSXAbpnT+TEPFMewAsLKia8DNA9eyIn5pnyAF5YUDHhZVwiZ74HLlmgCfsi
|
||||
J+9/ho+Ab94FWgUeAma7YB954dpdoBJvhX2M7O4Cd4G7wPUKTEIl3wL7yAvX7gKHwTdtgdmGD2Dmm7YA
|
||||
PpX33+BfwD3xzarAGbjDnrjDfqThC1oLalOREus2AAAAAElFTkSuQmCC
|
||||
</value>
|
||||
</data>
|
||||
<data name="BarButtonNew.ImageOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
|
||||
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAbdEVYdFRpdGxlAEFkZDtQbHVzO0JhcnM7UmliYm9u
|
||||
O5UGMy8AAABgSURBVDhP3YxRCoAwDEN3QS/lqbxdtNKUTDJEHAh+vNGl6WsAXmFDsqwbkphtx4bkR4Kc
|
||||
bceGRAUjzofFp0wVFPEnWrzk1e0CJfMS6I7ME4w4Sp1Ad8SGhII4/kZwD9oOmV+r+RzWkL4AAAAASUVO
|
||||
RK5CYII=
|
||||
</value>
|
||||
</data>
|
||||
<data name="BarButtonNew.ImageOptions.LargeImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
|
||||
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAbdEVYdFRpdGxlAEFkZDtQbHVzO0JhcnM7UmliYm9u
|
||||
O5UGMy8AAACPSURBVFhH7c5RCoQwDEVRN+imXJW7i82HIOlFHhKiSD4Owp1p+xYzexXGShgrYayEsRJG
|
||||
xbrtdhV/V2FU9IAe0AP+PSBeniW+46bg6HCG+I6bgqPDGeI7bgqODmeI77gpqJTLFRgVNGB8b13PnzAq
|
||||
xoXfG/AERkUPoAHji/+9g1HRA7JgrISxEsZKGOvYcgB55Y6E3tOuXgAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="BarButtonDelete.ImageOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
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>
|
||||
@@ -1,160 +0,0 @@
|
||||
Imports DevExpress.XtraEditors
|
||||
Imports DevExpress.XtraGrid
|
||||
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()
|
||||
|
||||
' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
|
||||
_Datatable = Datatable
|
||||
_AttributeId = AttributeId
|
||||
End Sub
|
||||
|
||||
Private Async Sub frmEdit_Load(sender As Object, e As EventArgs) Handles MyBase.Load
|
||||
Dim oGridPatcher = New ClassControlPatcher(Of GridControl)(Me)
|
||||
oGridPatcher.
|
||||
ProcessContainer(AddressOf ClassGridControl.DefaultGridSettings).
|
||||
ProcessContainer(AddressOf ClassGridControl.ReadOnlyGridSettings)
|
||||
|
||||
labelParentAttributeId.Caption = $"Attribut-ID: {_AttributeId}"
|
||||
|
||||
_BindingSource = New BindingSource()
|
||||
_BindingSource.DataSource = _Datatable
|
||||
GridList.DataSource = _BindingSource
|
||||
|
||||
SplitContainerControl1.SplitterPosition = My.UIConfig.FrmEdit_Splitter
|
||||
|
||||
Dim oUserLanguage = My.Application.User.Language
|
||||
Await LoadLanguageTableAsync(oUserLanguage)
|
||||
LoadFormLayout()
|
||||
End Sub
|
||||
|
||||
Private Async Function LoadLanguageTableAsync(UserLanguage As String) As Task
|
||||
Dim oSQL = $"SELECT * FROM VWICM_ATTRIBUTE_LANGUAGE WHERE LANGUAGE_CODE = '{UserLanguage}' AND PARENT_ATTRIBUTE_ID = '{_AttributeId}' ORDER BY ""SEQUENCE"";"
|
||||
|
||||
Await My.Channel.CreateDatabaseRequestAsync("Language Syskey", False)
|
||||
Dim oResult = Await My.Channel.ReturnDatatableAsync(oSQL)
|
||||
_LanguageDatatable = oResult.Table
|
||||
|
||||
Await My.Channel.CloseDatabaseRequestAsync()
|
||||
End Function
|
||||
|
||||
Private Function GetColumnEditor(Column As DataColumn, AttributeId As Integer)
|
||||
Dim oEditor As BaseEdit
|
||||
|
||||
Select Case Column.DataType
|
||||
Case GetType(Int64)
|
||||
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 = 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
|
||||
End Function
|
||||
|
||||
Private Function GetColumnCaption(Column As DataColumn, SequenceId As Integer)
|
||||
Dim oRow = GetRowBySequence(SequenceId)
|
||||
Dim oCaption = Column.ColumnName
|
||||
|
||||
If oRow IsNot Nothing Then
|
||||
oCaption = oRow.Item("LANGUAGE_TERM")
|
||||
ElseIf oCaption = ClassConstants.ATTRIBUTE_ID_COLUMN Then
|
||||
oCaption = "ID"
|
||||
End If
|
||||
|
||||
Return oCaption
|
||||
End Function
|
||||
|
||||
Private Function GetRowBySequence(SequenceId As Integer)
|
||||
Return _LanguageDatatable.Select($"SEQUENCE = {SequenceId}").FirstOrDefault()
|
||||
End Function
|
||||
|
||||
Private Function GetRowItemBySequence(SequenceId As Integer, ColumnName As String)
|
||||
Dim oRow = _LanguageDatatable.Select($"SEQUENCE = {SequenceId}").FirstOrDefault()
|
||||
Return oRow?.Item(ColumnName)
|
||||
End Function
|
||||
|
||||
Private Sub LoadFormLayout()
|
||||
' Counter is used to match SEQUENCE in Attributes
|
||||
' to column order in the used View (eg. VWICM_USER)
|
||||
Dim oCounter = 0
|
||||
|
||||
For Each oColumn As DataColumn In _Datatable.Columns
|
||||
Dim oAttributeId As Integer = GetRowItemBySequence(oCounter, "ATTRIBUTE_ID")
|
||||
Dim oCaption = GetColumnCaption(oColumn, oCounter)
|
||||
Dim oEditor = GetColumnEditor(oColumn, oAttributeId)
|
||||
oEditor.DataBindings.Add(New Binding("Text", _BindingSource, oColumn.ColumnName))
|
||||
|
||||
' Add Control to Layout
|
||||
LayoutGroup.AddItem(oCaption, oEditor)
|
||||
|
||||
' Set Column Captions
|
||||
ViewList.Columns.Item(oColumn.ColumnName).Caption = oCaption
|
||||
|
||||
oCounter = oCounter + 1
|
||||
Next
|
||||
|
||||
' General Layout Tweaks
|
||||
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
|
||||
@@ -137,12 +137,12 @@ Public Class frmUserManager
|
||||
End Function
|
||||
|
||||
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)
|
||||
Dim oForm As New frmEdit(ClassConstants.DB_USER_ATTRIBUTE_ID, ClassConstants.DB_USER_ATTRIBUTE_SYSKEY, _UserTable)
|
||||
oForm.Show()
|
||||
End Sub
|
||||
|
||||
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)
|
||||
Dim oForm As New frmEdit(ClassConstants.DB_GROUP_ATTRIBUTE_ID, ClassConstants.DB_GROUP_ATTRIBUTE_SYSKEY, _GroupTable)
|
||||
oForm.Show()
|
||||
End Sub
|
||||
|
||||
|
||||
Reference in New Issue
Block a user