Fix NodeId display, prepare multiselect, select active ribbon page on ribbon merging
This commit is contained in:
@@ -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
|
||||
Reference in New Issue
Block a user