Fix NodeId display, prepare multiselect, select active ribbon page on ribbon merging

This commit is contained in:
Jonathan Jenne
2023-07-24 16:00:32 +02:00
parent ea5ea5f205
commit 5cb526e7a4
7 changed files with 209 additions and 146 deletions

View File

@@ -16,8 +16,12 @@ Public Class ClassWindreamDocGrid
Public Shared SELECTED_DOC_RIGHT As Integer
'Public Shared RESULT_DISPLAYNAME As String
Public Shared RESULT_CONFIG_IDS As Hashtable
Private Shared DATE_COLUMNS As New List(Of String)
Private Shared DATE_COLUMNS_CONFIG As New List(Of String)
Private Shared ReadOnly DATE_COLUMNS As New List(Of String)
Private Shared ReadOnly DATE_COLUMNS_CONFIG As New List(Of String)
' This should replace DT_RESULTFILES and also
' SELECTED_INWORK, SELECTED_DOC_ID, SELECTED_DOC_RIGHT, SELECTED_DOC_PATH
Public Shared SELECTED_DOCUMENTS As New List(Of WindreamDoc)
Public Shared DT_RESULTFILES As DataTable
Private Shared DT_DROPDOWN_ITEMS As DataTable
@@ -27,10 +31,18 @@ Public Class ClassWindreamDocGrid
Private Shared _textValueChangedHandler As EventHandler
Private Shared _checkValueChangedHandler As EventHandler
Public Class WindreamDoc
Public Property DocId As Integer
Public Property DocPath As String
Public Property DisplayName As String
End Class
Private Shared Function Init_Table()
Try
Dim table As New DataTable
table.TableName = "TBSELECTED_FILES"
Dim table As New DataTable With {
.TableName = "TBSELECTED_FILES"
}
' Create two columns, ID and Name.
table.Columns.Add("DOC_ID", GetType(Integer))
table.Columns.Add("DOC_PATH", GetType(System.String))
@@ -47,6 +59,26 @@ Public Class ClassWindreamDocGrid
End Try
End Function
Public Shared Function GetSelectedDocuments(pGridView As GridView)
Dim oSelectedRows As List(Of Integer) = pGridView.GetSelectedRows().ToList()
Dim oDocuments As New List(Of WindreamDoc)
For Each oRowHandle In oSelectedRows
Dim oDocId = pGridView.GetRowCellValue(oRowHandle, "DocID")
Dim oDisplayName = pGridView.GetRowCellValue(oRowHandle, "Displayname")
Dim oDocPath = pGridView.GetRowCellValue(oRowHandle, "FULLPATH")
oDocuments.Add(New WindreamDoc With {
.DocId = oDocId,
.DocPath = oDocPath,
.DisplayName = oDisplayName
})
Next
Return oDocuments
End Function
Public Shared Sub GetDocItems(gridView As GridView)
_Helper = New ClassHelper
SELECTED_DOC_ID = 0

View File

@@ -1,3 +1,4 @@
DevExpress.XtraMap.MapControl, DevExpress.XtraMap.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraTreeList.TreeList, DevExpress.XtraTreeList.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraBars.Ribbon.RibbonControl, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a

View File

@@ -169,6 +169,9 @@
<Reference Include="DevExpress.XtraWizard.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
</Reference>
<Reference Include="DigitalData.Modules.Base">
<HintPath>..\..\..\DDModules\Base\bin\Debug\DigitalData.Modules.Base.dll</HintPath>
</Reference>
<Reference Include="DigitalData.Modules.Config">
<HintPath>..\..\..\DDModules\Config\bin\Debug\DigitalData.Modules.Config.dll</HintPath>
</Reference>
@@ -187,7 +190,7 @@
<HintPath>..\..\lib\DLLLicenseManager.dll</HintPath>
</Reference>
<Reference Include="ERPConnect35">
<HintPath>D:\ProgramFiles\ERPConnect\ERPConnect35.dll</HintPath>
<HintPath>P:\Projekte DIGITAL DATA\DIGITAL DATA - Entwicklung\DLL_Bibliotheken\ERPConnect35.dll</HintPath>
</Reference>
<Reference Include="Independentsoft.Msg">
<HintPath>..\..\3rdparty\lib\MSG.NET\Independentsoft.Msg.dll</HintPath>

View File

@@ -954,12 +954,12 @@ Public Class frmMain
Private Sub ribbonMain_Merge(sender As Object, e As RibbonMergeEventArgs) Handles ribbonMain.Merge
' Zeigt im Ribbon Control den Kalender-Tab an, wenn der Kalender Maximiert wurde
If e.MergedChild.Name = "ribbonCalendar" Then
For Each page As RibbonPage In e.MergeOwner.MergedPages
If page.Name = "pageCalendar" Then
e.MergeOwner.SelectedPage = page
End If
Next
Dim oMergeableRibbons = New List(Of String) From {"ribbonCalendar", "ribbonNodeNavigation"}
Dim oMergedRibbonControl = e.MergedChild
If oMergeableRibbons.Contains(oMergedRibbonControl.Name) Then
Dim oMergedPage = e.MergeOwner.MergedPages.First()
e.MergeOwner.SelectedPage = oMergedPage
End If
End Sub

View File

@@ -24,8 +24,8 @@ Partial Class frmNodeNavigation
Private Sub InitializeComponent()
Me.components = New System.ComponentModel.Container()
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmNodeNavigation))
Dim GridLevelNode1 As DevExpress.XtraGrid.GridLevelNode = New DevExpress.XtraGrid.GridLevelNode()
Me.RibbonControl1 = New DevExpress.XtraBars.Ribbon.RibbonControl()
Dim GridLevelNode2 As DevExpress.XtraGrid.GridLevelNode = New DevExpress.XtraGrid.GridLevelNode()
Me.ribbonNodeNavigation = New DevExpress.XtraBars.Ribbon.RibbonControl()
Me.bbtnitmRecEdit = New DevExpress.XtraBars.BarButtonItem()
Me.bsiInfo = New DevExpress.XtraBars.BarStaticItem()
Me.bbtnitmRecSave = New DevExpress.XtraBars.BarButtonItem()
@@ -80,7 +80,7 @@ Partial Class frmNodeNavigation
Me.tsmiFileDelete = New System.Windows.Forms.ToolStripMenuItem()
Me.TimerFileHandle = New System.Windows.Forms.Timer(Me.components)
Me.TimerClearResultfiles = New System.Windows.Forms.Timer(Me.components)
CType(Me.RibbonControl1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.ribbonNodeNavigation, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.SplitContainerMain, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.SplitContainerMain.Panel1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SplitContainerMain.Panel1.SuspendLayout()
@@ -99,23 +99,23 @@ Partial Class frmNodeNavigation
Me.cmsResultFileDetail.SuspendLayout()
Me.SuspendLayout()
'
'RibbonControl1
'ribbonNodeNavigation
'
Me.RibbonControl1.ExpandCollapseItem.Id = 0
Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.RibbonControl1.SearchEditItem, Me.bbtnitmRecEdit, Me.bsiInfo, Me.bbtnitmRecSave, Me.bsiDocID, Me.bsitmRecordID, Me.bbtnitmDocResultExport, Me.bbtnitmDocResultLayoutSave, Me.bbtnitmDocResultLayoutReset, Me.bbtnitmDocResultRefresh, Me.BarStaticItemLocked, Me.bsitmtInfoDoc, Me.BarButtonItem1, Me.bbtnitmReloadView, Me.BbtnitmNodeReorder, Me.bbtnItm_TV_Collape_Expand})
Me.RibbonControl1.Location = New System.Drawing.Point(0, 0)
Me.RibbonControl1.MaxItemId = 18
Me.RibbonControl1.Name = "RibbonControl1"
Me.RibbonControl1.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.RibbonPage1})
Me.RibbonControl1.PopupMenuAlignment = DevExpress.XtraBars.PopupMenuAlignment.Left
Me.RibbonControl1.ShowApplicationButton = DevExpress.Utils.DefaultBoolean.[False]
Me.RibbonControl1.ShowDisplayOptionsMenuButton = DevExpress.Utils.DefaultBoolean.[False]
Me.RibbonControl1.ShowExpandCollapseButton = DevExpress.Utils.DefaultBoolean.[True]
Me.RibbonControl1.ShowMoreCommandsButton = DevExpress.Utils.DefaultBoolean.[False]
Me.RibbonControl1.ShowToolbarCustomizeItem = False
Me.RibbonControl1.Size = New System.Drawing.Size(1307, 158)
Me.RibbonControl1.StatusBar = Me.RibbonStatusBar1
Me.RibbonControl1.Toolbar.ShowCustomizeItem = False
Me.ribbonNodeNavigation.ExpandCollapseItem.Id = 0
Me.ribbonNodeNavigation.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.ribbonNodeNavigation.ExpandCollapseItem, Me.ribbonNodeNavigation.SearchEditItem, Me.bbtnitmRecEdit, Me.bsiInfo, Me.bbtnitmRecSave, Me.bsiDocID, Me.bsitmRecordID, Me.bbtnitmDocResultExport, Me.bbtnitmDocResultLayoutSave, Me.bbtnitmDocResultLayoutReset, Me.bbtnitmDocResultRefresh, Me.BarStaticItemLocked, Me.bsitmtInfoDoc, Me.BarButtonItem1, Me.bbtnitmReloadView, Me.BbtnitmNodeReorder, Me.bbtnItm_TV_Collape_Expand})
Me.ribbonNodeNavigation.Location = New System.Drawing.Point(0, 0)
Me.ribbonNodeNavigation.MaxItemId = 18
Me.ribbonNodeNavigation.Name = "ribbonNodeNavigation"
Me.ribbonNodeNavigation.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.RibbonPage1})
Me.ribbonNodeNavigation.PopupMenuAlignment = DevExpress.XtraBars.PopupMenuAlignment.Left
Me.ribbonNodeNavigation.ShowApplicationButton = DevExpress.Utils.DefaultBoolean.[False]
Me.ribbonNodeNavigation.ShowDisplayOptionsMenuButton = DevExpress.Utils.DefaultBoolean.[False]
Me.ribbonNodeNavigation.ShowExpandCollapseButton = DevExpress.Utils.DefaultBoolean.[True]
Me.ribbonNodeNavigation.ShowMoreCommandsButton = DevExpress.Utils.DefaultBoolean.[False]
Me.ribbonNodeNavigation.ShowToolbarCustomizeItem = False
Me.ribbonNodeNavigation.Size = New System.Drawing.Size(1307, 147)
Me.ribbonNodeNavigation.StatusBar = Me.RibbonStatusBar1
Me.ribbonNodeNavigation.Toolbar.ShowCustomizeItem = False
'
'bbtnitmRecEdit
'
@@ -229,7 +229,7 @@ Partial Class frmNodeNavigation
'
Me.RibbonPage1.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroupRecord, Me.RibbonPageGroupDocResult, Me.RibbonPageGroup1, Me.RPGNodes})
Me.RibbonPage1.Name = "RibbonPage1"
Me.RibbonPage1.Text = "Start"
Me.RibbonPage1.Text = "Node Navigation"
'
'RibbonPageGroupRecord
'
@@ -271,10 +271,10 @@ Partial Class frmNodeNavigation
Me.RibbonStatusBar1.ItemLinks.Add(Me.bsitmRecordID)
Me.RibbonStatusBar1.ItemLinks.Add(Me.BarStaticItemLocked)
Me.RibbonStatusBar1.ItemLinks.Add(Me.bsitmtInfoDoc)
Me.RibbonStatusBar1.Location = New System.Drawing.Point(0, 822)
Me.RibbonStatusBar1.Location = New System.Drawing.Point(0, 821)
Me.RibbonStatusBar1.Name = "RibbonStatusBar1"
Me.RibbonStatusBar1.Ribbon = Me.RibbonControl1
Me.RibbonStatusBar1.Size = New System.Drawing.Size(1307, 22)
Me.RibbonStatusBar1.Ribbon = Me.ribbonNodeNavigation
Me.RibbonStatusBar1.Size = New System.Drawing.Size(1307, 23)
'
'RibbonPage2
'
@@ -284,7 +284,7 @@ Partial Class frmNodeNavigation
'SplitContainerMain
'
Me.SplitContainerMain.Dock = System.Windows.Forms.DockStyle.Fill
Me.SplitContainerMain.Location = New System.Drawing.Point(0, 158)
Me.SplitContainerMain.Location = New System.Drawing.Point(0, 147)
Me.SplitContainerMain.Name = "SplitContainerMain"
'
'SplitContainerMain.Panel1
@@ -296,7 +296,7 @@ Partial Class frmNodeNavigation
'
Me.SplitContainerMain.Panel2.Controls.Add(Me.SplitContainer1)
Me.SplitContainerMain.Panel2.Text = "Panel2"
Me.SplitContainerMain.Size = New System.Drawing.Size(1307, 664)
Me.SplitContainerMain.Size = New System.Drawing.Size(1307, 674)
Me.SplitContainerMain.SplitterPosition = 451
Me.SplitContainerMain.TabIndex = 2
'
@@ -332,7 +332,7 @@ Partial Class frmNodeNavigation
Me.TreeListDevexpress.OptionsView.ShowTreeLines = DevExpress.Utils.DefaultBoolean.[False]
Me.TreeListDevexpress.OptionsView.ShowVertLines = False
Me.TreeListDevexpress.OptionsView.TreeLineStyle = DevExpress.XtraTreeList.LineStyle.Dark
Me.TreeListDevexpress.Size = New System.Drawing.Size(451, 664)
Me.TreeListDevexpress.Size = New System.Drawing.Size(451, 674)
Me.TreeListDevexpress.StateImageList = Me.ImageCollection1
Me.TreeListDevexpress.TabIndex = 1
'
@@ -355,8 +355,8 @@ Partial Class frmNodeNavigation
'SplitContainer1.Panel2
'
Me.SplitContainer1.Panel2.Controls.Add(Me.GridControlDocSearch)
Me.SplitContainer1.Size = New System.Drawing.Size(846, 664)
Me.SplitContainer1.SplitterDistance = 216
Me.SplitContainer1.Size = New System.Drawing.Size(844, 674)
Me.SplitContainer1.SplitterDistance = 219
Me.SplitContainer1.TabIndex = 0
'
'pnlControls
@@ -366,7 +366,7 @@ Partial Class frmNodeNavigation
Me.pnlControls.Dock = System.Windows.Forms.DockStyle.Fill
Me.pnlControls.Location = New System.Drawing.Point(0, 0)
Me.pnlControls.Name = "pnlControls"
Me.pnlControls.Size = New System.Drawing.Size(846, 216)
Me.pnlControls.Size = New System.Drawing.Size(844, 219)
Me.pnlControls.TabIndex = 0
'
'GridControlDocSearch
@@ -374,12 +374,12 @@ Partial Class frmNodeNavigation
Me.GridControlDocSearch.AllowDrop = True
Me.GridControlDocSearch.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center
Me.GridControlDocSearch.Dock = System.Windows.Forms.DockStyle.Fill
GridLevelNode1.RelationName = "Level1"
Me.GridControlDocSearch.LevelTree.Nodes.AddRange(New DevExpress.XtraGrid.GridLevelNode() {GridLevelNode1})
GridLevelNode2.RelationName = "Level1"
Me.GridControlDocSearch.LevelTree.Nodes.AddRange(New DevExpress.XtraGrid.GridLevelNode() {GridLevelNode2})
Me.GridControlDocSearch.Location = New System.Drawing.Point(0, 0)
Me.GridControlDocSearch.MainView = Me.GridViewDoc_Search
Me.GridControlDocSearch.Name = "GridControlDocSearch"
Me.GridControlDocSearch.Size = New System.Drawing.Size(846, 444)
Me.GridControlDocSearch.Size = New System.Drawing.Size(844, 451)
Me.GridControlDocSearch.TabIndex = 8
Me.GridControlDocSearch.TabStop = False
Me.GridControlDocSearch.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.GridViewDoc_Search})
@@ -566,13 +566,13 @@ Partial Class frmNodeNavigation
Me.ClientSize = New System.Drawing.Size(1307, 844)
Me.Controls.Add(Me.SplitContainerMain)
Me.Controls.Add(Me.RibbonStatusBar1)
Me.Controls.Add(Me.RibbonControl1)
Me.Controls.Add(Me.ribbonNodeNavigation)
Me.IconOptions.SvgImage = CType(resources.GetObject("frmNodeNavigation.IconOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
Me.Name = "frmNodeNavigation"
Me.Ribbon = Me.RibbonControl1
Me.Ribbon = Me.ribbonNodeNavigation
Me.StatusBar = Me.RibbonStatusBar1
Me.Text = "frmNodeNavigation"
CType(Me.RibbonControl1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.ribbonNodeNavigation, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.SplitContainerMain.Panel1, System.ComponentModel.ISupportInitialize).EndInit()
Me.SplitContainerMain.Panel1.ResumeLayout(False)
CType(Me.SplitContainerMain.Panel2, System.ComponentModel.ISupportInitialize).EndInit()
@@ -594,7 +594,7 @@ Partial Class frmNodeNavigation
End Sub
Friend WithEvents RibbonControl1 As DevExpress.XtraBars.Ribbon.RibbonControl
Friend WithEvents ribbonNodeNavigation As DevExpress.XtraBars.Ribbon.RibbonControl
Friend WithEvents RibbonPage1 As DevExpress.XtraBars.Ribbon.RibbonPage
Friend WithEvents RibbonPageGroupRecord As DevExpress.XtraBars.Ribbon.RibbonPageGroup
Friend WithEvents RibbonStatusBar1 As DevExpress.XtraBars.Ribbon.RibbonStatusBar

View File

@@ -429,6 +429,9 @@
<metadata name="ImageCollection1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="ImageCollection1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<assembly alias="DevExpress.Utils.v21.2" name="DevExpress.Utils.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<data name="ImageCollection1.ImageStream" type="DevExpress.Utils.ImageCollectionStreamer, DevExpress.Utils.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>

View File

@@ -3,20 +3,17 @@ Imports DevExpress.XtraTreeList.Columns
Imports DevExpress.XtraTreeList.Nodes.Operations
Imports DevExpress.XtraTreeList.Nodes
Imports DevExpress.XtraSplashScreen
Imports System.Threading
Imports DevExpress.Utils
Imports DevExpress.XtraScheduler
Imports DevExpress.Data
Imports DD_Record_Organizer.frmConstructor_Main
Imports DevExpress.Data.Filtering.Helpers.SubExprHelper.CriteriaTokens
Imports DevExpress.XtraEditors
Imports DevExpress.XtraGrid.Views.Grid
Imports DevExpress.XtraPrinting
Imports System.Threading
Imports System.Text
Imports System.IO
Imports DD_LIB_Standards
Imports System.Runtime.InteropServices
Imports DD_LIB_Standards
Imports DigitalData.Modules.Base
Public Class frmNodeNavigation
<DllImport("Shell32", CharSet:=CharSet.Auto, SetLastError:=True)>
@@ -399,109 +396,117 @@ Public Class frmNodeNavigation
End Sub
End Class
Private Sub TreeListDevexpress_FocusedNodeChanged(sender As Object, e As FocusedNodeChangedEventArgs) Handles TreeListDevexpress.FocusedNodeChanged
FocusedNode = Nothing
If oFilterActive Then
Exit Sub
End If
For Each treeListNode As DevExpress.XtraTreeList.Nodes.TreeListNode In TreeListDevexpress.Selection
FocusedNode = treeListNode
RPGNodes.Enabled = True
Dim oID = treeListNode.Id
Console.Write($"Node ID: {oID}")
Dim PID = treeListNode.ParentNode
Dim Column_pRecord As DevExpress.XtraTreeList.Columns.TreeListColumn = TreeListDevexpress.Columns("RECORD_ID")
Dim Column_Caption As DevExpress.XtraTreeList.Columns.TreeListColumn = TreeListDevexpress.Columns("NODE_CAPTION")
Dim pRecord = e.Node.GetDisplayText(Column_pRecord)
Dim oNode_Caption = e.Node.GetDisplayText(Column_Caption)
If oID > 0 Then
Update_Status_Label(True, oID)
Else
Exit Sub
End If
Dim oNodeInfo = $"NodeGUID {oID}"
Console.Write(oNodeInfo)
If pRecord.Length > 0 Then
oNodeInfo += $" - RecordID {pRecord}"
Node_AfterSelect = True
'Dim sw As New SW("TreeViewMain_AfterSelect1")
' Dim swAll As New SW("TreeViewMain_AfterSelect")
DisableEditMode()
Dim fl = FORM_LOADED
Dim firstORFOLLWOWIN = False
If e.Node Is Nothing Then
Exit Sub
End If
' ClassNodeNavigation.Check_NODE_CONFIG_ID(oEntityID, SelectedNode)
'For Each treeListNode As TreeListNode In TreeListDevexpress.Selection
'FocusedNode = TreeListNode
CURRENT_RECORD_ID = pRecord
ClassHelper.GetDocrecordLinks(CURRENT_RECORD_ID)
CURRENT_ENTITY_ID = oEntityID
CURRENT_NODE_GUID = oID
SELECTED_NODE_CAPTION = oNode_Caption
CURRENT_SEARCH_TYPE = "RECORD"
DisableEditMode()
' muss vor show selected record data kommen,
' sodass die datasource für die angehakten werte existiert (checked list box)
CtrlBuilder.WatchRecordChanges = False
ClassControlValues.LoadControlValuesListWithPlaceholders(oEntityID, CURRENT_RECORD_ID, 0, CtrlBuilder.AllControls, oEntityID)
CtrlBuilder.WatchRecordChanges = True
Show_Selected_Record_Data(CURRENT_RECORD_ID)
FocusedNode = e.Node
RPGNodes.Enabled = True
Dim oNodeId = e.Node.Id
Console.Write($"Node ID: {oNodeId}")
Dim oRowObject = TreeListDevexpress.GetRow(oNodeId)
If TypeOf oRowObject IsNot DataRowView Then
Exit Sub
End If
If oNodeId = 0 Then
Exit Sub
End If
Dim oRowView As DataRowView = oRowObject
Dim oRow As DataRow = oRowView.Row
Dim oGuid = oRow.Item("GUID")
Dim oNodeCaption = oRow.Item("NODE_CAPTION")
Dim oRecordId = oRow.ItemEx("RECORD_ID", 0)
Dim oHasRecordId = (oRecordId > 0)
Dim oParentNode = e.Node.ParentNode
If oHasRecordId Then
Update_Status_Label(True, $"NodeGUID {oGuid} - RecordID {oRecordId}", EditState.None)
Else
Update_Status_Label(True, $"NodeGUID {oGuid}", EditState.None)
End If
If oHasRecordId Then
'oNodeInfo += $" - RecordID {oRecordId}"
Node_AfterSelect = True
'Dim sw As New SW("TreeViewMain_AfterSelect1")
' Dim swAll As New SW("TreeViewMain_AfterSelect")
DisableEditMode()
' ClassNodeNavigation.Check_NODE_CONFIG_ID(oEntityID, SelectedNode)
CURRENT_RECORD_ID = oRecordId
ClassHelper.GetDocrecordLinks(CURRENT_RECORD_ID)
CURRENT_ENTITY_ID = oEntityID
CURRENT_NODE_GUID = oNodeId
SELECTED_NODE_CAPTION = oNodeCaption
CURRENT_SEARCH_TYPE = "RECORD"
DisableEditMode()
' muss vor show selected record data kommen,
' sodass die datasource für die angehakten werte existiert (checked list box)
CtrlBuilder.WatchRecordChanges = False
ClassControlValues.LoadControlValuesListWithPlaceholders(oEntityID, CURRENT_RECORD_ID, 0, CtrlBuilder.AllControls, oEntityID)
CtrlBuilder.WatchRecordChanges = True
Show_Selected_Record_Data(CURRENT_RECORD_ID)
ClassRightManagement.Check_Set_Rights(CURRENT_RECORD_ID, oEntityID)
CONTROL_HANDLING()
ClassRightManagement.Check_Set_Rights(CURRENT_RECORD_ID, oEntityID)
CONTROL_HANDLING()
If CURRENT_RECORD_ID > 0 Then
If RIGHT_RECORD_AND_FILE_READ_ONLY = False And CtrlCommandUI.IsInsert = False Then
If DT_CONTROLS_ENTITY.Rows.Count = COUNT_RO_CONTROLS Then
bbtnitmRecEdit.Enabled = False
bbtnitmRecSave.Enabled = False
Else
bbtnitmRecEdit.Enabled = True
In_Visible_Record_Group(True)
End If
End If
If RIGHT_RECORD_AND_FILE_READ_ONLY = True Then
If CURRENT_RECORD_ID > 0 Then
If RIGHT_RECORD_AND_FILE_READ_ONLY = False And CtrlCommandUI.IsInsert = False Then
If DT_CONTROLS_ENTITY.Rows.Count = COUNT_RO_CONTROLS Then
bbtnitmRecEdit.Enabled = False
bbtnitmRecSave.Enabled = False
Else
bbtnitmRecEdit.Enabled = True
In_Visible_Record_Group(True)
End If
' bbtniCopyRecord.Visibility = DevExpress.XtraBars.BarItemVisibility.Never
' bbtniNewVariant2.Visibility = DevExpress.XtraBars.BarItemVisibility.Never
' bbtniParentLink.Visibility = DevExpress.XtraBars.BarItemVisibility.Never
' bbtniWFTask.Visibility = DevExpress.XtraBars.BarItemVisibility.Never
'Else
' bbtniCopyRecord.Visibility = DevExpress.XtraBars.BarItemVisibility.Always
' bbtniNewVariant2.Visibility = DevExpress.XtraBars.BarItemVisibility.Always
' bbtniParentLink.Visibility = DevExpress.XtraBars.BarItemVisibility.Always
' bbtniWFTask.Visibility = DevExpress.XtraBars.BarItemVisibility.Always
End If
If RIGHT_READ_ONLY_DOC = False Then
Doc_ReadOnlyHandler(True)
If RIGHT_RECORD_AND_FILE_READ_ONLY = True Then
bbtnitmRecEdit.Enabled = False
bbtnitmRecSave.Enabled = False
Else
bbtnitmRecEdit.Enabled = True
In_Visible_Record_Group(True)
End If
'Liste der geänderten Control Values leeren
CtrlBuilder.ControlsChanged.Clear()
Load_DocGrid_Layout()
'Load_Grid_Layout()
'Load_Variants_Grid_Layout()
'swAll.Done()
Node_AfterSelect = False
Else
End If
Update_Status_Label(True, oNodeInfo, EditState.None)
Next
If RIGHT_READ_ONLY_DOC = False Then
Doc_ReadOnlyHandler(True)
End If
'Liste der geänderten Control Values leeren
CtrlBuilder.ControlsChanged.Clear()
Load_DocGrid_Layout()
'Load_Grid_Layout()
'Load_Variants_Grid_Layout()
'swAll.Done()
Node_AfterSelect = False
End If
End Sub
Public Sub Update_Status_Label(visible As Boolean, Optional text As String = "", Optional state As EditState = EditState.None)
@@ -800,23 +805,38 @@ Public Class frmNodeNavigation
End Sub
Sub Update_Record_Label(RecordId As Integer)
Try
Dim SQL As String = "SELECT ADDED_WHO, CONVERT(VARCHAR(16),ADDED_WHEN,20) AS ADDED_WHEN, COALESCE(CHANGED_WHO,'') AS CHANGED_WHO, COALESCE(CONVERT(VARCHAR(16),CHANGED_WHEN,20),'') AS CHANGED_WHEN FROM TBPMO_RECORD WHERE GUID = " & RecordId
Dim expression = "[Record-ID] = " & RecordId
Dim resultDT As DataTable
resultDT = MYDB_ECM.GetDatatable(SQL)
Dim oSql As String = $"SELECT
ADDED_WHO,
CONVERT(VARCHAR(16),ADDED_WHEN,20) AS ADDED_WHEN,
COALESCE(CHANGED_WHO,'') AS CHANGED_WHO,
COALESCE(CONVERT(VARCHAR(16),CHANGED_WHEN,20),'') AS CHANGED_WHEN
FROM TBPMO_RECORD WHERE GUID = {RecordId}"
Dim oTable As DataTable
oTable = MYDB_ECM.GetDatatable(oSql)
If Not IsNothing(resultDT) Then
If resultDT.Rows.Count = 0 Then
If Not IsNothing(oTable) Then
If oTable.Rows.Count = 0 Then
Exit Sub
End If
Dim oRow As DataRow = oTable.Rows(0)
bsitmRecordID.Visibility = DevExpress.XtraBars.BarItemVisibility.Never
Dim CreateChangeString = String.Format("Added by '{0}', when: {1}", resultDT.Rows(0).Item(0), resultDT.Rows(0).Item(1))
If CtrlCommandUI.IsInsert = False Then
CreateChangeString = CreateChangeString + String.Format(" - Changed by '{0}', when: {1}", resultDT.Rows(0).Item(2), resultDT.Rows(0).Item(3))
Dim oAddedWho = oRow.Item(0)
Dim oAddedWhen = oRow.Item(1)
Dim oChangedWho = oRow.Item(2)
Dim oChangedWhen = oRow.Item(3)
Dim CreateChangeString = String.Format("Added by '{0}', when: {1}", oAddedWho, oAddedWhen)
If CtrlCommandUI.IsInsert = False AndAlso (oRow.ItemEx(2, "") <> "") Then
CreateChangeString += String.Format(" - Changed by '{0}', when: {1}", oChangedWho, oChangedWhen)
End If
bsitmRecordID.Caption = String.Format("Record ({0}) - {1}", RecordId, CreateChangeString.ToString)
'bsitmRecordID.Caption = String.Format("Record ({0}) - {1}", RecordId, CreateChangeString.ToString)
bsitmRecordID.Caption = String.Format("{0}", CreateChangeString.ToString)
bsitmRecordID.Visibility = DevExpress.XtraBars.BarItemVisibility.Always
End If
Catch ex As Exception
@@ -824,7 +844,7 @@ Public Class frmNodeNavigation
End Try
End Sub
Async Function Show_Selected_Record_Data(Rec_ID As Integer) As Threading.Tasks.Task
Function Show_Selected_Record_Data(Rec_ID As Integer) As Threading.Tasks.Task
Dim oHandle = SplashScreenManager.ShowOverlayForm(Me)
Try
@@ -833,7 +853,7 @@ Public Class frmNodeNavigation
Select form
Where form.Item("GUID") = oEntityID).Single()
Update_Status_Label(False, "")
'Update_Status_Label(False, "")
LOGGER.Debug("RECORD ID: " & Rec_ID.ToString)
'Me.pnlControls.Visible = True
@@ -1472,7 +1492,7 @@ Public Class frmNodeNavigation
ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error", "Error in Customer_Run_Procedures: ", ex.Message)
End Try
End Sub
Async Function RUN_WDSEARCH_GRID(osplashscreen As Boolean) As Threading.Tasks.Task
Function RUN_WDSEARCH_GRID(osplashscreen As Boolean) As Threading.Tasks.Task
Dim oHandle As IOverlaySplashScreenHandle
If osplashscreen Then
oHandle = SplashScreenManager.ShowOverlayForm(Me)
@@ -2859,4 +2879,8 @@ Public Class frmNodeNavigation
Private Sub bbtnitmRecSave_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles bbtnitmRecSave.ItemClick
Save_Record()
End Sub
Private Sub GridViewDoc_Search_SelectionChanged(sender As Object, e As SelectionChangedEventArgs) Handles GridViewDoc_Search.SelectionChanged
Dim oDocuments = ClassWindreamDocGrid.GetSelectedDocuments(GridViewDoc_Search)
End Sub
End Class