jj 27.06 frmWD_Link_To_Record

This commit is contained in:
JenneJ
2016-06-27 17:10:28 +02:00
parent c5f276c37d
commit e12097417e
7 changed files with 613 additions and 16 deletions

View File

@@ -294,6 +294,12 @@
<Compile Include="frmRecordView.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="frmWD_Link_to_Record.Designer.vb">
<DependentUpon>frmWD_Link_to_Record.vb</DependentUpon>
</Compile>
<Compile Include="frmWD_Link_to_Record.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="Strings\ControlProperties.en.Designer.vb">
<DependentUpon>ControlProperties.en.resx</DependentUpon>
<AutoGen>True</AutoGen>
@@ -666,6 +672,9 @@
<EmbeddedResource Include="frmRecordView.resx">
<DependentUpon>frmRecordView.vb</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="frmWD_Link_to_Record.resx">
<DependentUpon>frmWD_Link_to_Record.vb</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="My Project\licenses.licx" />
<EmbeddedResource Include="Strings\ControlProperties.en.resx">
<Generator>ResXFileCodeGenerator</Generator>

View File

@@ -71,6 +71,7 @@ Partial Class frmConstructor_Main
Me.DeleteToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.ToolStripSeparator9 = New System.Windows.Forms.ToolStripSeparator()
Me.PropertiesToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.DateiMitDatensatzVerknüpfenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.GridViewDoc_Search = New DevExpress.XtraGrid.Views.Grid.GridView()
Me.ToolStripDokumente = New System.Windows.Forms.ToolStrip()
Me.tslblWindreamView = New System.Windows.Forms.ToolStripLabel()
@@ -444,7 +445,7 @@ Partial Class frmConstructor_Main
'
'ContextMenuStripResultFiles
'
Me.ContextMenuStripResultFiles.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.DateiÖffnenToolStripMenuItem, Me.ToolStripSeparator7, Me.CopyToolStripMenuItem, Me.ToolStripSeparator10, Me.UmbenennenToolStripMenuItem, Me.ToolStripSeparator8, Me.DeleteToolStripMenuItem, Me.ToolStripSeparator9, Me.PropertiesToolStripMenuItem})
Me.ContextMenuStripResultFiles.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.DateiÖffnenToolStripMenuItem, Me.ToolStripSeparator7, Me.CopyToolStripMenuItem, Me.ToolStripSeparator10, Me.UmbenennenToolStripMenuItem, Me.ToolStripSeparator8, Me.DeleteToolStripMenuItem, Me.ToolStripSeparator9, Me.PropertiesToolStripMenuItem, Me.DateiMitDatensatzVerknüpfenToolStripMenuItem})
Me.ContextMenuStripResultFiles.Name = "ContextMenuStripResultFiles"
resources.ApplyResources(Me.ContextMenuStripResultFiles, "ContextMenuStripResultFiles")
'
@@ -502,6 +503,11 @@ Partial Class frmConstructor_Main
Me.PropertiesToolStripMenuItem.Name = "PropertiesToolStripMenuItem"
resources.ApplyResources(Me.PropertiesToolStripMenuItem, "PropertiesToolStripMenuItem")
'
'DateiMitDatensatzVerknüpfenToolStripMenuItem
'
Me.DateiMitDatensatzVerknüpfenToolStripMenuItem.Name = "DateiMitDatensatzVerknüpfenToolStripMenuItem"
resources.ApplyResources(Me.DateiMitDatensatzVerknüpfenToolStripMenuItem, "DateiMitDatensatzVerknüpfenToolStripMenuItem")
'
'GridViewDoc_Search
'
Me.GridViewDoc_Search.Appearance.OddRow.BackColor = CType(resources.GetObject("GridViewDoc_Search.Appearance.OddRow.BackColor"), System.Drawing.Color)
@@ -1211,4 +1217,5 @@ Partial Class frmConstructor_Main
Friend WithEvents ToolStripSeparator10 As System.Windows.Forms.ToolStripSeparator
Friend WithEvents UmbenennenToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
Friend WithEvents ToolStripTextBox2 As System.Windows.Forms.ToolStripTextBox
Friend WithEvents DateiMitDatensatzVerknüpfenToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
End Class

View File

@@ -310,7 +310,7 @@
<value>0, 0</value>
</data>
<data name="GridControlMain.Size" type="System.Drawing.Size, System.Drawing">
<value>795, 237</value>
<value>788, 237</value>
</data>
<data name="GridControlMain.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
@@ -379,7 +379,7 @@
<value>0, 0</value>
</data>
<data name="pnlDetails.Size" type="System.Drawing.Size, System.Drawing">
<value>1077, 349</value>
<value>1081, 345</value>
</data>
<data name="pnlDetails.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
@@ -397,7 +397,7 @@
<value>0</value>
</data>
<data name="TabDetails.Size" type="System.Drawing.Size, System.Drawing">
<value>1077, 349</value>
<value>1081, 345</value>
</data>
<data name="TabDetails.Text" xml:space="preserve">
<value>Detailansicht</value>
@@ -415,7 +415,7 @@
<value>0</value>
</data>
<data name="TCDetails.Size" type="System.Drawing.Size, System.Drawing">
<value>1083, 380</value>
<value>1083, 373</value>
</data>
<data name="TCDetails.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
@@ -424,52 +424,58 @@
<value>124, 134</value>
</metadata>
<data name="DateiÖffnenToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>152, 22</value>
<value>239, 22</value>
</data>
<data name="DateiÖffnenToolStripMenuItem.Text" xml:space="preserve">
<value>Datei Öffnen</value>
</data>
<data name="ToolStripSeparator7.Size" type="System.Drawing.Size, System.Drawing">
<value>149, 6</value>
<value>236, 6</value>
</data>
<data name="CopyToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>152, 22</value>
<value>239, 22</value>
</data>
<data name="CopyToolStripMenuItem.Text" xml:space="preserve">
<value>Kopieren</value>
</data>
<data name="ToolStripSeparator10.Size" type="System.Drawing.Size, System.Drawing">
<value>149, 6</value>
<value>236, 6</value>
</data>
<data name="ToolStripTextBox2.Size" type="System.Drawing.Size, System.Drawing">
<value>350, 23</value>
</data>
<data name="UmbenennenToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>152, 22</value>
<value>239, 22</value>
</data>
<data name="UmbenennenToolStripMenuItem.Text" xml:space="preserve">
<value>Umbenennen</value>
</data>
<data name="ToolStripSeparator8.Size" type="System.Drawing.Size, System.Drawing">
<value>149, 6</value>
<value>236, 6</value>
</data>
<data name="DeleteToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>152, 22</value>
<value>239, 22</value>
</data>
<data name="DeleteToolStripMenuItem.Text" xml:space="preserve">
<value>Löschen</value>
</data>
<data name="ToolStripSeparator9.Size" type="System.Drawing.Size, System.Drawing">
<value>149, 6</value>
<value>236, 6</value>
</data>
<data name="PropertiesToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>152, 22</value>
<value>239, 22</value>
</data>
<data name="PropertiesToolStripMenuItem.Text" xml:space="preserve">
<value>Eigenschaften</value>
</data>
<data name="DateiMitDatensatzVerknüpfenToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>239, 22</value>
</data>
<data name="DateiMitDatensatzVerknüpfenToolStripMenuItem.Text" xml:space="preserve">
<value>Datei mit Datensatz verknüpfen</value>
</data>
<data name="ContextMenuStripResultFiles.Size" type="System.Drawing.Size, System.Drawing">
<value>153, 160</value>
<value>240, 160</value>
</data>
<data name="&gt;&gt;ContextMenuStripResultFiles.Name" xml:space="preserve">
<value>ContextMenuStripResultFiles</value>
@@ -1688,7 +1694,7 @@
<value>True</value>
</metadata>
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>104</value>
<value>194</value>
</metadata>
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
<value>6, 13</value>
@@ -2343,6 +2349,12 @@
<data name="&gt;&gt;PropertiesToolStripMenuItem.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;DateiMitDatensatzVerknüpfenToolStripMenuItem.Name" xml:space="preserve">
<value>DateiMitDatensatzVerknüpfenToolStripMenuItem</value>
</data>
<data name="&gt;&gt;DateiMitDatensatzVerknüpfenToolStripMenuItem.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;GridViewDoc_Search.Name" xml:space="preserve">
<value>GridViewDoc_Search</value>
</data>

View File

@@ -5361,4 +5361,11 @@ Public Class frmConstructor_Main
MsgBox("Unexpected Error in getting the filename: " & ex.Message, MsgBoxStyle.Critical)
End Try
End Sub
Private Sub DateiMitDatensatzVerknüpfenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles DateiMitDatensatzVerknüpfenToolStripMenuItem.Click
Dim fileName As String = RESULT_DOC_PATH
Dim frm As New frmWD_Link_to_Record(fileName)
frm.Show()
End Sub
End Class

View File

@@ -0,0 +1,196 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class frmWD_Link_to_Record
Inherits System.Windows.Forms.Form
'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.cmbConstructorForms = New System.Windows.Forms.ComboBox()
Me.Label1 = New System.Windows.Forms.Label()
Me.tvEntities = New System.Windows.Forms.TreeView()
Me.Label2 = New System.Windows.Forms.Label()
Me.dgEntityRecords = New DevExpress.XtraGrid.GridControl()
Me.grvwGrid = New DevExpress.XtraGrid.Views.Grid.GridView()
Me.btnLink = New System.Windows.Forms.Button()
Me.Label3 = New System.Windows.Forms.Label()
Me.Label4 = New System.Windows.Forms.Label()
Me.txtFilename = New System.Windows.Forms.TextBox()
Me.txtRecordId = New System.Windows.Forms.TextBox()
Me.Label5 = New System.Windows.Forms.Label()
CType(Me.dgEntityRecords, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.grvwGrid, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
'
'cmbConstructorForms
'
Me.cmbConstructorForms.FormattingEnabled = True
Me.cmbConstructorForms.Location = New System.Drawing.Point(170, 14)
Me.cmbConstructorForms.Name = "cmbConstructorForms"
Me.cmbConstructorForms.Size = New System.Drawing.Size(174, 21)
Me.cmbConstructorForms.TabIndex = 0
'
'Label1
'
Me.Label1.AutoSize = True
Me.Label1.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.Label1.Location = New System.Drawing.Point(9, 17)
Me.Label1.Name = "Label1"
Me.Label1.Size = New System.Drawing.Size(142, 13)
Me.Label1.TabIndex = 1
Me.Label1.Text = "1. Konstruktor auswählen:"
'
'tvEntities
'
Me.tvEntities.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _
Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles)
Me.tvEntities.Location = New System.Drawing.Point(12, 58)
Me.tvEntities.Name = "tvEntities"
Me.tvEntities.Size = New System.Drawing.Size(332, 491)
Me.tvEntities.TabIndex = 2
'
'Label2
'
Me.Label2.AutoSize = True
Me.Label2.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.Label2.Location = New System.Drawing.Point(9, 42)
Me.Label2.Name = "Label2"
Me.Label2.Size = New System.Drawing.Size(115, 13)
Me.Label2.TabIndex = 3
Me.Label2.Text = "2. Entität auswählen:"
'
'dgEntityRecords
'
Me.dgEntityRecords.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _
Or System.Windows.Forms.AnchorStyles.Left) _
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.dgEntityRecords.Location = New System.Drawing.Point(350, 58)
Me.dgEntityRecords.MainView = Me.grvwGrid
Me.dgEntityRecords.Name = "dgEntityRecords"
Me.dgEntityRecords.Size = New System.Drawing.Size(896, 491)
Me.dgEntityRecords.TabIndex = 4
Me.dgEntityRecords.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.grvwGrid})
'
'grvwGrid
'
Me.grvwGrid.Appearance.EvenRow.BackColor = System.Drawing.Color.Aqua
Me.grvwGrid.Appearance.EvenRow.Options.UseBackColor = True
Me.grvwGrid.Appearance.FilterPanel.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(128, Byte), Integer), CType(CType(0, Byte), Integer))
Me.grvwGrid.Appearance.FilterPanel.Options.UseBackColor = True
Me.grvwGrid.GridControl = Me.dgEntityRecords
Me.grvwGrid.Name = "grvwGrid"
Me.grvwGrid.OptionsBehavior.Editable = False
Me.grvwGrid.OptionsBehavior.ReadOnly = True
Me.grvwGrid.OptionsView.EnableAppearanceEvenRow = True
'
'btnLink
'
Me.btnLink.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.btnLink.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.btnLink.Location = New System.Drawing.Point(1057, 12)
Me.btnLink.Name = "btnLink"
Me.btnLink.Size = New System.Drawing.Size(189, 23)
Me.btnLink.TabIndex = 5
Me.btnLink.Text = "Verknüpfen"
Me.btnLink.UseVisualStyleBackColor = True
'
'Label3
'
Me.Label3.AutoSize = True
Me.Label3.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.Label3.Location = New System.Drawing.Point(347, 17)
Me.Label3.Name = "Label3"
Me.Label3.Size = New System.Drawing.Size(37, 13)
Me.Label3.TabIndex = 6
Me.Label3.Text = "Datei:"
'
'Label4
'
Me.Label4.AutoSize = True
Me.Label4.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.Label4.Location = New System.Drawing.Point(821, 17)
Me.Label4.Name = "Label4"
Me.Label4.Size = New System.Drawing.Size(135, 13)
Me.Label4.TabIndex = 7
Me.Label4.Text = "Ausgewählter Datensatz:"
'
'txtFilename
'
Me.txtFilename.Location = New System.Drawing.Point(390, 14)
Me.txtFilename.Name = "txtFilename"
Me.txtFilename.ReadOnly = True
Me.txtFilename.Size = New System.Drawing.Size(425, 22)
Me.txtFilename.TabIndex = 8
'
'txtRecordId
'
Me.txtRecordId.Location = New System.Drawing.Point(962, 14)
Me.txtRecordId.Name = "txtRecordId"
Me.txtRecordId.ReadOnly = True
Me.txtRecordId.Size = New System.Drawing.Size(89, 22)
Me.txtRecordId.TabIndex = 9
'
'Label5
'
Me.Label5.AutoSize = True
Me.Label5.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.Label5.Location = New System.Drawing.Point(347, 42)
Me.Label5.Name = "Label5"
Me.Label5.Size = New System.Drawing.Size(132, 13)
Me.Label5.TabIndex = 3
Me.Label5.Text = "3. Datensatz auswählen:"
'
'frmWD_Link_to_Record
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(1258, 561)
Me.Controls.Add(Me.txtRecordId)
Me.Controls.Add(Me.txtFilename)
Me.Controls.Add(Me.Label4)
Me.Controls.Add(Me.Label3)
Me.Controls.Add(Me.btnLink)
Me.Controls.Add(Me.dgEntityRecords)
Me.Controls.Add(Me.Label5)
Me.Controls.Add(Me.Label2)
Me.Controls.Add(Me.tvEntities)
Me.Controls.Add(Me.Label1)
Me.Controls.Add(Me.cmbConstructorForms)
Me.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.Name = "frmWD_Link_to_Record"
Me.Text = "Datei mit Datensatz verknüpfen"
CType(Me.dgEntityRecords, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.grvwGrid, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False)
Me.PerformLayout()
End Sub
Friend WithEvents cmbConstructorForms As System.Windows.Forms.ComboBox
Friend WithEvents Label1 As System.Windows.Forms.Label
Friend WithEvents tvEntities As System.Windows.Forms.TreeView
Friend WithEvents Label2 As System.Windows.Forms.Label
Friend WithEvents dgEntityRecords As DevExpress.XtraGrid.GridControl
Friend WithEvents grvwGrid As DevExpress.XtraGrid.Views.Grid.GridView
Friend WithEvents btnLink As System.Windows.Forms.Button
Friend WithEvents Label3 As System.Windows.Forms.Label
Friend WithEvents Label4 As System.Windows.Forms.Label
Friend WithEvents txtFilename As System.Windows.Forms.TextBox
Friend WithEvents txtRecordId As System.Windows.Forms.TextBox
Friend WithEvents Label5 As System.Windows.Forms.Label
End Class

View File

@@ -0,0 +1,120 @@
<?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>
</root>

View File

@@ -0,0 +1,246 @@
Imports System.Text
Imports System.IO
Public Class frmWD_Link_to_Record
Private Class ClassConstructor
Public title As String
Public id As Integer
Public Overrides Function ToString() As String
Return Me.title
End Function
End Class
Private CONSTRUCTOR_DETAIL_ID, CONSTRUCTOR_ID, FORM_ID As Integer
Public Sub New(fileName As String)
InitializeComponent()
txtFilename.Text = fileName
End Sub
Private Function GetConstructorForms() As DataTable
Try
Dim SQL As String = String.Format("SELECT GUID, dbo.FNPMO_GETOBJECTCAPTION('{0}', 'CONSTR_MENUE' + CONVERT(VARCHAR(5), GUID), {1}) AS FORM_TITLE, SEQUENCE_MENU, ADDED_WHO, ADDED_WHEN, CHANGED_WHO," & _
"CHANGED_WHEN, MENU_IMG, SHORT_TITLE, LANGUAGE, " & _
"'CONSTR_MENUE' + CONVERT(VARCHAR(5), GUID) as OBECTNAME FROM TBPMO_FORM_CONSTRUCTOR where GUID in (SELECT CONSTRUCT_ID FROM TBPMO_CONSTRUCTOR_USER WHERE HOME_MENUE = 1 AND USER_ID = {2}) ORDER BY SEQUENCE_MENU", USER_LANGUAGE, CURRENT_SCREEN_ID, USER_GUID)
Dim dt As DataTable = ClassDatabase.Return_Datatable(SQL)
Return dt
Catch ex As Exception
MsgBox("Constructor Forms could not be loaded in LinkToRecord: " & vbNewLine & ex.Message)
Return Nothing
End Try
End Function
Private Sub frmWD_Link_to_Record_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim constructorForms As DataTable = GetConstructorForms()
Dim selected As Integer = 0
If constructorForms.Rows.Count = 0 Then
Exit Sub
End If
For Each row As DataRow In constructorForms.Rows
Dim constructor As New ClassConstructor
constructor.title = row.Item("FORM_TITLE")
constructor.id = row.Item("GUID")
cmbConstructorForms.Items.Add(constructor)
' Von der aktuell geöffneten ConstructorForm den Index in Combobox speichern
If constructor.id = CURRENT_CONSTRUCTOR_ID Then
selected = cmbConstructorForms.Items.Count - 1
End If
Next
' Den index der aktuell geöffneten ConstructorForm setzen
cmbConstructorForms.SelectedIndex = selected
End Sub
Sub Load_TreeViewEbene(constructorId As Integer)
Try
Dim sel_sql = String.Format("SELECT *, [dbo].[FNPMO_GETOBJECTCAPTION]('{0}','FORMVIEW_TITLE' + CONVERT(VARCHAR(5), FORM_VIEW_ID), {1}) AS 'CAPTION' " & _
"from VWPMO_CONSTRUCTOR_FORMS WHERE FORM_TYPE_ID IN (1,4) AND PARENT_ID = 0 AND CONSTRUCT_ID = {2} AND SCREEN_ID = {3} ORDER BY SEQUENCE", USER_LANGUAGE, CURRENT_SCREEN_ID, constructorId, CURRENT_SCREEN_ID)
Dim DT As DataTable = ClassDatabase.Return_Datatable(sel_sql)
If DT.Rows.Count >= 1 Then
tvEntities.Nodes.Clear()
For Each rowEbene0 As DataRow In DT.Rows
Dim Node As TreeNode
Node = tvEntities.Nodes.Add("E1: " & rowEbene0.Item("CAPTION").ToString)
Node.Tag = rowEbene0.Item("GUID")
'Jetzt die Ebene1Knoten einhängen
sel_sql = String.Format("SELECT *, [dbo].[FNPMO_GETOBJECTCAPTION]('{0}','FORMVIEW_TITLE' + CONVERT(VARCHAR(5), FORM_VIEW_ID), {1}) AS 'CAPTION' " & _
"from VWPMO_CONSTRUCTOR_FORMS WHERE FORM_TYPE_ID in (2,5) AND PARENT_ID = {2} AND CONSTRUCT_ID = {3} AND SCREEN_ID = {4} ORDER BY SEQUENCE", USER_LANGUAGE, CURRENT_SCREEN_ID, rowEbene0.Item("FORM_ID"), constructorId, CURRENT_SCREEN_ID)
Dim dtEbene1 As DataTable = ClassDatabase.Return_Datatable(sel_sql)
If dtEbene1.Rows.Count > 0 Then
For Each rowEbene1 As DataRow In dtEbene1.Rows
Dim Node1 As TreeNode
Node1 = Node.Nodes.Add("E2: " & rowEbene1.Item("CAPTION").ToString)
Node1.Tag = rowEbene1.Item("GUID")
'Jetzt die Ebene2 Knoten einhängen
sel_sql = String.Format("SELECT *, [dbo].[FNPMO_GETOBJECTCAPTION]('{0}','FORMVIEW_TITLE' + CONVERT(VARCHAR(5), FORM_VIEW_ID), {1}) AS 'CAPTION' " & _
"from VWPMO_CONSTRUCTOR_FORMS WHERE FORM_TYPE_ID in (3,5) AND PARENT_ID = {2} AND CONSTRUCT_ID = {3} AND SCREEN_ID = {4} ORDER BY SEQUENCE", USER_LANGUAGE, CURRENT_SCREEN_ID, rowEbene1.Item("FORM_ID"), constructorId, CURRENT_SCREEN_ID)
Dim dtEbene2 As DataTable = ClassDatabase.Return_Datatable(sel_sql)
If dtEbene2.Rows.Count > 0 Then
For Each rowEbene2 As DataRow In dtEbene2.Rows
Dim Node2 As TreeNode
Node2 = Node1.Nodes.Add("E3: " & rowEbene2.Item("CAPTION").ToString)
Node2.Tag = rowEbene2.Item("GUID")
Next
End If
Next
End If
Next
tvEntities.ExpandAll()
tvEntities.Nodes(0).EnsureVisible()
Else
MsgBox("Achtung Konfigurationsfehler: Mehrere oder keine Level 0 Entität gefunden!" & "Korrigieren Sie bitte Ihre Eingaben", MsgBoxStyle.Exclamation)
End If
Catch ex As Exception
MsgBox("Error in Load_TreeViewEbene in LinkToRecord:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
End Try
End Sub
Public Function Get_Grid_Sql(ConstructorId As Integer, FormId As Integer, ConstructorDetailID As Integer) As String
Try
Dim ResultSQL, ResultViewName As String
Dim RecordId As Integer
If LogErrorsOnly = False Then ClassLogger.Add(" >> GridType = Grid", False)
ResultViewName = "VWTEMP_PMO_FORM" & FormId.ToString
ResultSQL = "SELECT T.* FROM " & ResultViewName & " T"
Try
Dim sql = String.Format("SELECT COUNT(*) FROM TBPMO_CONSTRUCTOR_USER_SQL WHERE USER_ID = {0} AND CONSTR_DET_ID = {1} AND SQL_COMMAND IS NOT NULL AND SQL_COMMAND <> ''", USER_GUID, ConstructorDetailID)
Dim exists = ClassDatabase.Execute_Scalar(sql)
If exists = 1 Then
sql = String.Format("SELECT SQL_COMMAND FROM TBPMO_CONSTRUCTOR_USER_SQL WHERE USER_ID = {0} AND CONSTR_DET_ID = {1}", USER_GUID, ConstructorDetailID)
Dim result = ClassDatabase.Execute_Scalar(sql)
If Not IsNothing(result) Then
ResultSQL = ResultSQL & " " & result.ToString
'ResultSQL = ResultSQL.ToUpper.Replace("@RECORDID", RECORD_ID)
ResultSQL = ResultSQL.ToUpper.Replace("@USER_ID", USER_GUID)
End If
End If
Return ResultSQL
Catch ex As Exception
ClassLogger.Add("Error in Get_Grid_Sql in LinkToRecord: " & vbNewLine & ex.Message, True)
MsgBox("Error in Get_Grid_Sql in LinkToRecord: " & vbNewLine & ex.Message)
End Try
Catch ex As Exception
ClassLogger.Add("Error in Get_Grid_Sql: " & vbNewLine & ex.Message, True)
MsgBox("Error in Get_Grid_Sql: " & vbNewLine & ex.Message)
End Try
End Function
Public foundNode As TreeNode = Nothing
Private Sub cmbConstructorForms_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cmbConstructorForms.SelectedIndexChanged
Dim constructor As ClassConstructor = DirectCast(cmbConstructorForms.SelectedItem, ClassConstructor)
If cmbConstructorForms.SelectedIndex <> -1 Then
CONSTRUCTOR_ID = constructor.id
' Entitäten laden
Load_TreeViewEbene(constructor.id)
foundNode = Nothing
SelectNodeRecursive(tvEntities, tvEntities.Nodes, CURRENT_CONSTRUCTOR_DETAIL_ID)
If IsNothing(foundNode) Then
' Erste Entität selektieren
tvEntities.SelectedNode = tvEntities.Nodes.Item(0)
Else
' Aktuelle Entität selektieren
tvEntities.SelectedNode = foundNode
End If
End If
End Sub
Public Sub SelectNodeRecursive(treeview As TreeView, nodes As TreeNodeCollection, constructorDetailId As Integer)
For Each node As TreeNode In nodes
Dim id As Integer = node.Tag
If id = constructorDetailId Then
foundNode = node
Exit Sub
Else
SelectNodeRecursive(treeview, node.Nodes, constructorDetailId)
End If
Next
End Sub
Private Sub tvEntities_AfterSelect(sender As Object, e As TreeViewEventArgs) Handles tvEntities.AfterSelect
CONSTRUCTOR_DETAIL_ID = Integer.Parse(e.Node.Tag)
Dim dt As DataTable
Try
Dim SQL As String = String.Format("SELECT FORM_ID FROM VWPMO_CONSTRUCTOR_FORMS WHERE GUID = {0} AND CONSTRUCT_ID = {1}", CONSTRUCTOR_DETAIL_ID, CONSTRUCTOR_ID)
FORM_ID = ClassDatabase.Execute_Scalar(SQL)
SQL = Get_Grid_Sql(CONSTRUCTOR_ID, FORM_ID, CONSTRUCTOR_DETAIL_ID)
dt = ClassDatabase.Return_Datatable(SQL)
' Datasource neu setzen und columns laden
dgEntityRecords.DataSource = dt
grvwGrid.PopulateColumns()
dgEntityRecords.RefreshDataSource()
Dim constructor = DirectCast(cmbConstructorForms.Items.Item(cmbConstructorForms.SelectedIndex), ClassConstructor)
Dim constructorName As String = constructor.title
Load_Grid_Layout(constructorName)
Catch ex As Exception
MsgBox("Entität " + CONSTRUCTOR_DETAIL_ID + " konnte nicht geladen werden: " & vbNewLine & ex.Message, MsgBoxStyle.Critical)
Exit Sub
End Try
End Sub
Function GetSafeFilename(filename As String)
Return String.Join("_", filename.Split(Path.GetInvalidFileNameChars()))
End Function
Private Function Get_Grid_Layout_Filename(EntityName As String)
Dim Filename As String = String.Format("{0}-{1}-{2}-UserLayout.xml", grvwGrid.Name, GetSafeFilename(EntityName), CONSTRUCTOR_ID)
Return System.IO.Path.Combine(Application.UserAppDataPath(), Filename)
End Function
Sub Load_Grid_Layout(constructorName As String)
Try
Dim XMLPath = Get_Grid_Layout_Filename(constructorName)
If File.Exists(XMLPath) Then
grvwGrid.RestoreLayoutFromXml(XMLPath)
grvwGrid.GuessAutoFilterRowValuesFromFilter()
End If
Catch ex As Exception
MsgBox("Error in Load_Grid_Layout: " & vbNewLine & ex.Message)
End Try
End Sub
Private Sub GridView1_FocusedRowChanged(sender As Object, e As DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs) Handles grvwGrid.FocusedRowChanged
Dim RecordId As Integer = grvwGrid.GetFocusedRowCellValue(grvwGrid.Columns(0))
txtRecordId.Text = RecordId
End Sub
Private Sub btnLink_Click(sender As Object, e As EventArgs) Handles btnLink.Click
Dim RecordId As Integer
Dim FileName As String
If txtRecordId.Text.Trim.Count > 0 Then
RecordId = Integer.Parse(txtRecordId.Text)
FileName = txtFilename.Text
Else
MsgBox("Bitte wählen Sie einen Datensatz aus!", MsgBoxStyle.Exclamation, "Kein Datensatz ausgewählt")
Exit Sub
End If
'TODO: Datei mit Record verknüpfen
End Sub
End Class