Compare commits

...

3 Commits

Author SHA1 Message Date
Jonathan Jenne
5196bcda8e merge MS 2023-08-02 08:14:51 +02:00
Jonathan Jenne
080a711067 Multiselect 2023-08-02 08:11:40 +02:00
Jonathan Jenne
5cb526e7a4 Fix NodeId display, prepare multiselect, select active ribbon page on ribbon merging 2023-07-24 16:00:32 +02:00
11 changed files with 808 additions and 536 deletions

View File

@@ -0,0 +1,103 @@
Imports DevExpress.XtraTreeList
Imports DevExpress.XtraTreeList.Nodes
Imports DevExpress.XtraTreeList.Nodes.Operations
Public Class ClassTreeListViewState
Private expanded As ArrayList
Private selected As ArrayList
Private focused As Object
Private topNode As Object
Public Sub New()
Me.New(Nothing)
End Sub
Public Sub New(ByVal treeList As TreeList)
Me.treeList_Renamed = treeList
expanded = New ArrayList()
selected = New ArrayList()
End Sub
Public Sub Clear()
expanded.Clear()
selected.Clear()
focused = Nothing
topNode = Nothing
End Sub
Private Function GetExpanded() As ArrayList
Dim op As New OperationSaveExpanded()
TreeList.NodesIterator.DoOperation(op)
Return op.Nodes
End Function
Private Function GetSelected() As ArrayList
Dim al As New ArrayList()
For Each node As TreeListNode In TreeList.Selection
al.Add(node.GetValue(TreeList.KeyFieldName))
Next node
Return al
End Function
Public Sub LoadState()
TreeList.BeginUpdate()
Try
TreeList.CollapseAll()
Dim node As TreeListNode
For Each key As Object In expanded
node = TreeList.FindNodeByKeyID(key)
If node IsNot Nothing Then
node.Expanded = True
End If
Next key
TreeList.FocusedNode = TreeList.FindNodeByKeyID(focused)
For Each key As Object In selected
node = TreeList.FindNodeByKeyID(key)
If node IsNot Nothing Then
TreeList.Selection.Add(node)
End If
Next key
Finally
TreeList.EndUpdate()
Dim topVisibleNode As TreeListNode = TreeList.FindNodeByKeyID(topNode)
If topVisibleNode Is Nothing Then
topVisibleNode = TreeList.FocusedNode
End If
TreeList.TopVisibleNodeIndex = TreeList.GetVisibleIndexByNode(topVisibleNode)
End Try
End Sub
Public Sub SaveState()
If TreeList.FocusedNode IsNot Nothing Then
expanded = GetExpanded()
selected = GetSelected()
focused = TreeList.FocusedNode(TreeList.KeyFieldName)
topNode = TreeList.GetNodeByVisibleIndex(TreeList.TopVisibleNodeIndex)(TreeList.KeyFieldName)
Else
Clear()
End If
End Sub
Private treeList_Renamed As TreeList
Public Property TreeList() As TreeList
Get
Return treeList_Renamed
End Get
Set(ByVal value As TreeList)
treeList_Renamed = value
Clear()
End Set
End Property
Private Class OperationSaveExpanded
Inherits TreeListOperation
Private al As New ArrayList()
Public Overrides Sub Execute(ByVal node As TreeListNode)
If node.HasChildren AndAlso node.Expanded Then
al.Add(node.GetValue(node.TreeList.KeyFieldName))
End If
End Sub
Public ReadOnly Property Nodes() As ArrayList
Get
Return al
End Get
End Property
End Class
End Class

View File

@@ -8,6 +8,35 @@ Imports DevExpress.XtraGrid.Views.Base
Imports DevExpress.XtraEditors.Controls
Public Class ClassWindreamDocGrid
' === BEGIN CLASS PART ===
Public Class WindreamDoc
Public Property DocId As Integer
Public Property DocPath As String
Public Property DisplayName As String
Public Property DocType As String
End Class
Private ReadOnly GridView As GridView
Public ReadOnly Property SelectedDocuments As List(Of WindreamDoc)
Get
Return GetSelectedDocuments(GridView)
End Get
End Property
Public ReadOnly Property HasSelectedDocuments As Boolean
Get
Return HasNoSelectedDocuments(GridView)
End Get
End Property
Public Sub New(pGridView As GridView)
GridView = pGridView
End Sub
' === END CLASS PART ===
Private Shared _Helper As ClassHelper
Public Shared SELECTED_DOC_PATH As String
'Public Shared RESULT_OBJECTTYPE As String
@@ -16,8 +45,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
@@ -29,8 +62,10 @@ Public Class ClassWindreamDocGrid
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 +82,33 @@ Public Class ClassWindreamDocGrid
End Try
End Function
Public Shared Function HasNoSelectedDocuments(pGridView As GridView) As Boolean
Dim oSelectedRows As List(Of Integer) = pGridView.GetSelectedRows().ToList()
Return oSelectedRows.Count = 0
End Function
Public Shared Function GetSelectedDocuments(pGridView As GridView) As List(Of WindreamDoc)
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")
Dim oDocType = pGridView.GetRowCellValue(oRowHandle, "OBJECTTYPE")
oDocuments.Add(New WindreamDoc With {
.DocId = oDocId,
.DocPath = oDocPath,
.DocType = oDocType,
.DisplayName = oDisplayName
})
Next
Return oDocuments
End Function
Public Shared Sub GetDocItems(gridView As GridView)
_Helper = New ClassHelper
SELECTED_DOC_ID = 0

View File

@@ -66,7 +66,6 @@ Module ModuleRuntimeVariables
Public CURRENT_NOTIFICATION_MSG As String
Public CURRENT_ENTITY_ID As Integer
Public CURRENT_LINK_ENTITY_ID As Integer = 0
Public CURRENT_FORMVIEW_ID As Integer
Public CURRENT_REDUNDANT_FORM_ID As Integer
Public CURRENT_REDUNDANT_FORMVIEW_ID As Integer
@@ -140,7 +139,7 @@ Module ModuleRuntimeVariables
Public CURRENT_SEARCH_TYPE As String = "RECORD"
Public CURRENT_FULLTEXT_PATTERN As String
Public CURRENT_DT_SELECTED_FILES As DataTable
Public Property CURRENT_DT_SELECTED_FILES As DataTable
Public MASS_RECORD_IDs2CHANGE As ArrayList
Public MASS_COLUMN_LIST As ArrayList

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>
@@ -265,6 +268,7 @@
</ItemGroup>
<ItemGroup>
<Compile Include="Classes\ClassConfig.vb" />
<Compile Include="Classes\ClassTreeListViewState.vb" />
<Compile Include="Classes\NodeNavigation\ClassAsyncNodeBuild.vb" />
<Compile Include="Classes\ClassAsyncReturnDT.vb" />
<Compile Include="Classes\ClassBackgroundHelper.vb" />

View File

@@ -2,7 +2,12 @@
Imports System.Text
Imports DD_LIB_Standards
Public Class frmDocRecordLink
Dim ENTITY_LOAD_ACTIVE As Boolean = False
Public Property Documents As New List(Of ClassWindreamDocGrid.WindreamDoc)
Private CURRENT_LINK_ENTITY_ID As Integer = 0
Private ENTITY_LOAD_ACTIVE As Boolean = False
Private Class ClassEntity
Public title As String
Public id As Integer
@@ -58,6 +63,8 @@ Public Class frmDocRecordLink
grvwGrid.BestFitColumns()
End Sub
Private Sub frmDocRecordLink_Load(sender As Object, e As EventArgs) Handles Me.Load
' OLD WAY
If Documents.Count = 0 Then
ENTITY_LOAD_ACTIVE = True
If ClassWindreamDocGrid.DT_RESULTFILES.Rows.Count = 1 Then
txtFileInfo.Text = ClassWindreamDocGrid.DT_RESULTFILES.Rows(0).Item("DOC_PATH")
@@ -117,12 +124,79 @@ Public Class frmDocRecordLink
Load_DocGrid_Layout()
bsiInfo.Caption = "Waiting for record-Selection....."
End If
If Documents.Count > 0 Then
ENTITY_LOAD_ACTIVE = True
If Documents.Count = 1 Then
txtFileInfo.Text = Documents.First.DocPath
Else
txtFileInfo.Text = String.Format("{0} files selected for linking to record", Documents.Count)
End If
Try
If IsNothing(CURRENT_DT_ENTITY_RECORDS) Then
Me.Close()
End If
If CURRENT_LINK_ENTITY_ID = 0 Then
Refresh_Grid_Data(True, Nothing)
CURRENT_LINK_ENTITY_ID = CURRENT_ENTITY_ID
Else
Dim DT_RESULT As DataTable
If CURRENT_LINK_ENTITY_ID = CURRENT_ENTITY_ID Then
DT_RESULT = CURRENT_DT_ENTITY_RECORDS
Else
DT_RESULT = ReturnDataforEntity(CURRENT_LINK_ENTITY_ID)
End If
If Not IsNothing(DT_RESULT) Then
Refresh_Grid_Data(False, DT_RESULT)
End If
End If
Dim DT_ENTITIES As DataTable = GetENTITIES()
Dim oSelectedIndex As Integer = 0
If DT_ENTITIES.Rows.Count = 0 Then
Exit Sub
End If
Dim oCount = 0
For Each row As DataRow In DT_ENTITIES.Rows
Dim entity As New ClassEntity
entity.title = row.Item("FORM_TITLE")
entity.id = row.Item("FORM_ID")
cmbConstructorForms.Items.Add(entity)
If CURRENT_LINK_ENTITY_ID = entity.id Then
txtcurrSichtData.Text = entity.title
oSelectedIndex = oCount
End If
oCount += 1
Next
If USER_LANGUAGE = "de-DE" Then
Me.Text = CURRENT_DT_SELECTED_FILES.Rows.Count.ToString & " Datei(en) mit Datensatz verknüpfen:"
Else
Me.Text = "Link " & CURRENT_DT_SELECTED_FILES.Rows.Count.ToString & " files with record:"
End If
' Den index der aktuell geöffneten ConstructorForm setzen
cmbConstructorForms.SelectedIndex = oSelectedIndex
Catch ex As Exception
ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error in frmDocRecordLink_Load", ex.Message, ex.StackTrace)
End Try
Load_DocGrid_Layout()
bsiInfo.Caption = "Waiting for record-Selection....."
End If
End Sub
Private Function GetENTITIES() As DataTable
Try
Dim SQL As String = String.Format("SELECT DISTINCT FORM_ID,FORM_TITLE,SEQUENCE FROM VWPMO_CONSTRUCTOR_FORMS where CONSTRUCT_ID in " &
"(SELECT CONSTRUCT_ID FROM TBPMO_CONSTRUCTOR_USER WHERE USER_ID = {0}) ORDER BY SEQUENCE", USER_GUID)
Dim dt As DataTable = MYDB_ECM.GetDatatable(sql)
Dim dt As DataTable = MYDB_ECM.GetDatatable(SQL)
Return dt
Catch ex As Exception
MsgBox("Entities could not be loaded in LinkToRecord: " & vbNewLine & ex.Message)

View File

@@ -3,20 +3,29 @@ Imports DD_LIB_Standards
Imports DevExpress.XtraPrinting
Public Class frmDoc_Links
Public Property Documents As New List(Of ClassWindreamDocGrid.WindreamDoc)
Private Sub frmDoc_DocLinks_Load(sender As Object, e As EventArgs) Handles Me.Load
Try
If USER_IS_ADMIN Then
bsiSource.Visibility = DevExpress.XtraBars.BarItemVisibility.Always
Refresh_Grid_Data(Documents)
' TODO: this does not work for the old form
If Documents.Count = 0 Then
Text = $"Document-Links for: NODOC-ID"
ElseIf Documents.Count = 1 Then
Text = $"Document-Links for: {Documents.First.DocPath}"
Else
bsiSource.Visibility = DevExpress.XtraBars.BarItemVisibility.Never
End If
Refresh_Grid_Data()
If ClassWindreamDocGrid.DT_RESULTFILES.Rows.Count = 1 Then
Me.Text = $"Document-Links for file: {ClassWindreamDocGrid.DT_RESULTFILES.Rows(0).Item("DOC_PATH")}"
Else
Me.Text = $"Document-Links for file: NODOC-ID"
Text = $"Document-Links for {Documents.Count} files"
End If
'If ClassWindreamDocGrid.DT_RESULTFILES.Rows.Count = 1 Then
' Me.Text = $"Document-Links for file: {ClassWindreamDocGrid.DT_RESULTFILES.Rows(0).Item("DOC_PATH")}"
'Else
' Me.Text = $"Document-Links for file: NODOC-ID"
'End If
bbtnitmdeletelink.Enabled = False
Select Case CURRENT_FILE_RIGHT
Case "RW"
bbtnitmdeletelink.Enabled = True
@@ -27,22 +36,44 @@ Public Class frmDoc_Links
ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error in frmDoc_DocLinks_Load", ex.Message, ex.StackTrace)
End Try
End Sub
Sub Refresh_Grid_Data()
Private Function Get_Grid_Data(pDocuments As List(Of ClassWindreamDocGrid.WindreamDoc)) As DataTable
Dim oTable As DataTable
Dim oSql As String = ""
If pDocuments.Count > 0 Then
Dim oIds = String.Join(",", pDocuments.Select(Function(d) d.DocId).ToArray())
oSql = $"SELECT * FROM VWPMO_CUST_DOC_OBJECT_LINKS WHERE DocID IN ({oIds})"
oTable = MYDB_ECM.GetDatatable(oSql)
Else
oSql = $"select * FROM VWPMO_CUST_DOC_OBJECT_LINKS WHERE DocID = {CURRENT_DOC_ID}"
oTable = MYDB_ECM.GetDatatable(oSql)
End If
If oTable Is Nothing Then
LOGGER.Error("Please check your link-object-relation: {0}", oSql)
End If
Return oTable
End Function
Sub Refresh_Grid_Data(pDocuments As List(Of ClassWindreamDocGrid.WindreamDoc))
Try
Dim DT_RECORDS As DataTable
Dim oSql = $"select * FROM VWPMO_CUST_DOC_OBJECT_LINKS WHERE DocID = {CURRENT_DOC_ID}"
DT_RECORDS = MYDB_ECM.GetDatatable(oSql)
If Not IsNothing(DT_RECORDS) Then
BarStaticItemStatus.Caption = $"{DT_RECORDS.Rows.Count} links for Document found!"
Dim oTable = Get_Grid_Data(pDocuments)
If Not IsNothing(oTable) Then
BarStaticItemStatus.Caption = $"{oTable.Rows.Count} links for Document found!"
grvwGrid.Columns.Clear()
GridControlRecords.DataSource = DT_RECORDS
GridControlRecords.DataSource = oTable
'grvwGrid.Columns.Item("already linked").Fixed = True
Try
grvwGrid.Columns.Item("DocID").Visible = False
grvwGrid.Columns.Item("RecordID").Visible = False
'grvwGrid.Columns.Item("FULL_FILENAME").Visible = False
Try
If grvwGrid.Columns.Item("VALUE") IsNot Nothing Then
grvwGrid.Columns.Item("VALUE").Visible = False
End If
Catch ex1 As Exception
LOGGER.Warn("Column VALUE not part of VWPMO_CUST_DOC_OBJECT_LINKS" & ex1.Message)
End Try
@@ -53,16 +84,17 @@ Public Class frmDoc_Links
End Try
GridControlRecords.RefreshDataSource()
'If DT_RECORDS.Rows.Count > 10000 Then
'If oTable.Rows.Count > 10000 Then
' BarButtonItem2.Enabled = False
'Else
' BarButtonItem2.Enabled = True
'End If
Else
MsgBox($"Please check Your link-object-relation: {oSql}", MsgBoxStyle.Exclamation)
MsgBox($"Please check Your link-object-relation", MsgBoxStyle.Exclamation)
End If
Catch ex As Exception
LOGGER.Error(ex)
ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error in Sub Refresh_Grid_Data", ex.Message, ex.StackTrace)
End Try
@@ -90,22 +122,25 @@ Public Class frmDoc_Links
End Try
Next
Refresh_Grid_Data()
Refresh_Grid_Data(Documents)
End Sub
Private Sub BarButtonItem2_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem2.ItemClick
Try
Dim saveFileDialogDocSearchResult As New SaveFileDialog
saveFileDialogDocSearchResult.Filter = "Excel File|*.xlsx"
saveFileDialogDocSearchResult.Title = "Export to Excel:"
Dim saveFileDialogDocSearchResult As New SaveFileDialog With {
.Filter = "Excel File|*.xlsx",
.Title = "Export to Excel:"
}
saveFileDialogDocSearchResult.ShowDialog()
If saveFileDialogDocSearchResult.FileName <> "" Then
Dim oOptions As XlsxExportOptionsEx = New XlsxExportOptionsEx
oOptions.ShowGridLines = True
oOptions.AllowSortingAndFiltering = DevExpress.Utils.DefaultBoolean.True
oOptions.ExportType = DevExpress.Export.ExportType.DataAware
oOptions.ExportMode = XlsxExportMode.SingleFile
oOptions.AllowFixedColumnHeaderPanel = DevExpress.Utils.DefaultBoolean.True
Dim oOptions As New XlsxExportOptionsEx With {
.ShowGridLines = True,
.AllowSortingAndFiltering = DevExpress.Utils.DefaultBoolean.True,
.ExportType = DevExpress.Export.ExportType.DataAware,
.ExportMode = XlsxExportMode.SingleFile,
.AllowFixedColumnHeaderPanel = DevExpress.Utils.DefaultBoolean.True
}
Cursor = Cursors.WaitCursor
GridControlRecords.MainView.ExportToXlsx(saveFileDialogDocSearchResult.FileName, oOptions)
@@ -122,21 +157,18 @@ Public Class frmDoc_Links
End If
Catch ex As Exception
LOGGER.Error(ex)
MsgBox("Unexpected Error in ExportExcel: " & ex.Message, MsgBoxStyle.Critical)
End Try
Cursor = Cursors.Default
End Sub
Private Sub frmDoc_Links_MaximizedBoundsChanged(sender As Object, e As EventArgs) Handles MyBase.MaximizedBoundsChanged
End Sub
Private Sub frmDoc_Links_SizeChanged(sender As Object, e As EventArgs) Handles Me.SizeChanged
Try
grvwGrid.OptionsView.ColumnAutoWidth = False
grvwGrid.BestFitColumns()
Catch ex As Exception
LOGGER.Error(ex)
End Try
End Sub

View File

@@ -422,16 +422,22 @@ Public Class frmEntities
End Sub
Private Sub BW_Entity_RunWorkerCompleted(sender As Object, e As System.ComponentModel.RunWorkerCompletedEventArgs) Handles BW_Entity.RunWorkerCompleted
ProgressPanel1.Visible = False
btncancel.Visible = False
If e.Error IsNot Nothing Then
MsgBox("Unexpected Error in Executing Procedure - Check the log!", MsgBoxStyle.Critical, Text)
LOGGER.Error(e.Error)
Else
If Not IsNothing(DT_RESULT) Then
Dim result = DT_RESULT.Rows(0).Item(0)
If result <> 0 Then
MsgBox("Unexpected Error in Executing Procedure - Check the log!", MsgBoxStyle.Critical)
MsgBox("Unexpected Error in Executing Procedure - Check the log!", MsgBoxStyle.Critical, Text)
Else
MsgBox("Procedure was executed successfully!", MsgBoxStyle.Information)
MsgBox("Procedure was executed successfully!", MsgBoxStyle.Information, Text)
End If
End If
End If
ProgressPanel1.Visible = False
btncancel.Visible = False
End Sub
Private Sub btncancel_Click(sender As Object, e As EventArgs) Handles btncancel.Click

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

@@ -25,7 +25,7 @@ Partial Class frmNodeNavigation
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()
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, 158)
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
'
@@ -273,7 +273,7 @@ Partial Class frmNodeNavigation
Me.RibbonStatusBar1.ItemLinks.Add(Me.bsitmtInfoDoc)
Me.RibbonStatusBar1.Location = New System.Drawing.Point(0, 822)
Me.RibbonStatusBar1.Name = "RibbonStatusBar1"
Me.RibbonStatusBar1.Ribbon = Me.RibbonControl1
Me.RibbonStatusBar1.Ribbon = Me.ribbonNodeNavigation
Me.RibbonStatusBar1.Size = New System.Drawing.Size(1307, 22)
'
'RibbonPage2
@@ -356,7 +356,7 @@ Partial Class frmNodeNavigation
'
Me.SplitContainer1.Panel2.Controls.Add(Me.GridControlDocSearch)
Me.SplitContainer1.Size = New System.Drawing.Size(846, 664)
Me.SplitContainer1.SplitterDistance = 216
Me.SplitContainer1.SplitterDistance = 215
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(846, 215)
Me.pnlControls.TabIndex = 0
'
'GridControlDocSearch
@@ -379,7 +379,7 @@ Partial Class frmNodeNavigation
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(846, 445)
Me.GridControlDocSearch.TabIndex = 8
Me.GridControlDocSearch.TabStop = False
Me.GridControlDocSearch.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.GridViewDoc_Search})
@@ -393,13 +393,15 @@ Partial Class frmNodeNavigation
Me.GridViewDoc_Search.GridControl = Me.GridControlDocSearch
Me.GridViewDoc_Search.LevelIndent = 10
Me.GridViewDoc_Search.Name = "GridViewDoc_Search"
Me.GridViewDoc_Search.OptionsBehavior.EditorShowMode = DevExpress.Utils.EditorShowMode.MouseDown
Me.GridViewDoc_Search.OptionsClipboard.CopyColumnHeaders = DevExpress.Utils.DefaultBoolean.[False]
Me.GridViewDoc_Search.OptionsDetail.ShowDetailTabs = False
Me.GridViewDoc_Search.OptionsSelection.EnableAppearanceFocusedCell = False
Me.GridViewDoc_Search.OptionsSelection.EnableAppearanceFocusedRow = False
Me.GridViewDoc_Search.OptionsSelection.EnableAppearanceHideSelection = False
Me.GridViewDoc_Search.OptionsSelection.MultiSelect = True
Me.GridViewDoc_Search.OptionsSelection.MultiSelectMode = DevExpress.XtraGrid.Views.Grid.GridMultiSelectMode.CellSelect
Me.GridViewDoc_Search.OptionsSelection.MultiSelectMode = DevExpress.XtraGrid.Views.Grid.GridMultiSelectMode.CheckBoxRowSelect
Me.GridViewDoc_Search.OptionsSelection.ResetSelectionClickOutsideCheckboxSelector = True
Me.GridViewDoc_Search.OptionsView.ColumnAutoWidth = False
Me.GridViewDoc_Search.OptionsView.EnableAppearanceEvenRow = True
Me.GridViewDoc_Search.OptionsView.ShowAutoFilterRow = True
@@ -566,13 +568,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 +596,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

@@ -3,42 +3,20 @@ 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
Imports DigitalData.Modules.Logging
Public Class frmNodeNavigation
<DllImport("Shell32", CharSet:=CharSet.Auto, SetLastError:=True)>
Public Shared Function ShellExecuteEx(ByRef lpExecInfo As SHELLEXECUTEINFO) As Boolean
End Function
Public Structure SHELLEXECUTEINFO
Public cbSize As Integer
Public fMask As Integer
Public hwnd As IntPtr
<MarshalAs(UnmanagedType.LPTStr)> Public lpVerb As String
<MarshalAs(UnmanagedType.LPTStr)> Public lpFile As String
<MarshalAs(UnmanagedType.LPTStr)> Public lpParameters As String
<MarshalAs(UnmanagedType.LPTStr)> Public lpDirectory As String
Dim nShow As Integer
Dim hInstApp As IntPtr
Dim lpIDList As IntPtr
<MarshalAs(UnmanagedType.LPTStr)> Public lpClass As String
Public hkeyClass As IntPtr
Public dwHotKey As Integer
Public hIcon As IntPtr
Public hProcess As IntPtr
End Structure
#Region "Laufzeitvariablen & Konstanten"
Dim DT_STRUCTURE_NODES As DataTable
Dim DT_ADDING_USERS As DataTable
@@ -63,6 +41,8 @@ Public Class frmNodeNavigation
Delete
End Enum
Private WindowsEx As WindowsEx
Private DT_CONTROLS_ENTITY As DataTable
Private DT_COLUMNS_GRID_ENTITY As DataTable
Private DT_DOCRESULT_DROPDOWN_ITEMS As DataTable
@@ -97,121 +77,26 @@ Public Class frmNodeNavigation
Public Const SW_SHOW As Short = 5
Private CONTROL_DOCTYPE_MATCH As Integer = 0
Private FocusedNode As TreeListNode
Private MyTreeListViewState As TreeListViewState
Private MyTreeListViewState As ClassTreeListViewState
#End Region
Public Class TreeListViewState
Private expanded As ArrayList
Private selected As ArrayList
Private focused As Object
Private topNode As Object
Public Sub New()
Me.New(Nothing)
End Sub
Public Sub New(ByVal treeList As TreeList)
Me.treeList_Renamed = treeList
expanded = New ArrayList()
selected = New ArrayList()
End Sub
Public Sub Clear()
expanded.Clear()
selected.Clear()
focused = Nothing
topNode = Nothing
End Sub
Private Function GetExpanded() As ArrayList
Dim op As New OperationSaveExpanded()
TreeList.NodesIterator.DoOperation(op)
Return op.Nodes
End Function
Private Function GetSelected() As ArrayList
Dim al As New ArrayList()
For Each node As TreeListNode In TreeList.Selection
al.Add(node.GetValue(TreeList.KeyFieldName))
Next node
Return al
End Function
Private DocList As ClassWindreamDocGrid
Public Sub LoadState()
TreeList.BeginUpdate()
Try
TreeList.CollapseAll()
Dim node As TreeListNode
For Each key As Object In expanded
node = TreeList.FindNodeByKeyID(key)
If node IsNot Nothing Then
node.Expanded = True
End If
Next key
TreeList.FocusedNode = TreeList.FindNodeByKeyID(focused)
For Each key As Object In selected
node = TreeList.FindNodeByKeyID(key)
If node IsNot Nothing Then
TreeList.Selection.Add(node)
End If
Next key
Finally
TreeList.EndUpdate()
Dim topVisibleNode As TreeListNode = TreeList.FindNodeByKeyID(topNode)
If topVisibleNode Is Nothing Then
topVisibleNode = TreeList.FocusedNode
End If
TreeList.TopVisibleNodeIndex = TreeList.GetVisibleIndexByNode(topVisibleNode)
End Try
End Sub
Public Sub SaveState()
If TreeList.FocusedNode IsNot Nothing Then
expanded = GetExpanded()
selected = GetSelected()
focused = TreeList.FocusedNode(TreeList.KeyFieldName)
topNode = TreeList.GetNodeByVisibleIndex(TreeList.TopVisibleNodeIndex)(TreeList.KeyFieldName)
Else
Clear()
End If
End Sub
Private treeList_Renamed As TreeList
Public Property TreeList() As TreeList
Get
Return treeList_Renamed
End Get
Set(ByVal value As TreeList)
treeList_Renamed = value
Clear()
End Set
End Property
Private Class OperationSaveExpanded
Inherits TreeListOperation
Private al As New ArrayList()
Public Overrides Sub Execute(ByVal node As TreeListNode)
If node.HasChildren AndAlso node.Expanded Then
al.Add(node.GetValue(node.TreeList.KeyFieldName))
End If
End Sub
Public ReadOnly Property Nodes() As ArrayList
Get
Return al
End Get
End Property
End Class
End Class
Public Sub New(pEntityID As Int16, pConstructID As Int16)
' Dieser Aufruf ist für den Designer erforderlich.
InitializeComponent()
' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
oEntityID = pEntityID
oConstructID = pConstructID
DocList = New ClassWindreamDocGrid(GridViewDoc_Search)
WindowsEx = New WindowsEx(LOGCONFIG)
End Sub
Private Function Get_Splitter_Layout_Filename()
Dim Filename As String = String.Format("{0}-{1}-SplitterLayout.xml", CONSTRUCTOR_DETAIL_ID, CONSTRUCTOR_DETAIL_ID.ToString)
Return System.IO.Path.Combine(Application.UserAppDataPath(), Filename)
Return Path.Combine(Application.UserAppDataPath(), Filename)
End Function
Sub Save_Splitter_Layout()
Try
@@ -297,9 +182,10 @@ Public Class frmNodeNavigation
Catch ex As System.Exception
ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error", ex.Message, "Error in Loading Form part 4")
End Try
Load_nodes()
End Sub
Async Function Load_nodes() As Threading.Tasks.Task
Private Sub Load_nodes()
Dim oHandle = SplashScreenManager.ShowOverlayForm(Me)
Try
@@ -348,12 +234,13 @@ Public Class frmNodeNavigation
Catch ex As Exception
LOGGER.Error(ex)
Finally
SplashScreenManager.CloseOverlayForm(oHandle)
End Try
End Function
End Sub
Private Sub TreeListDevexpress_ColumnFilterChanged(sender As Object, e As EventArgs)
Dim tree As TreeList = TryCast(sender, TreeList)
Dim filteredColumns As List(Of TreeListColumn) = tree.Columns.Cast(Of TreeListColumn)().Where(Function(c) c.FilterInfo.AutoFilterRowValue IsNot Nothing).ToList()
@@ -399,45 +286,67 @@ 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
If e.Node Is Nothing Then
Exit Sub
End If
Dim oNodeInfo = $"NodeGUID {oID}"
Console.Write(oNodeInfo)
If pRecord.Length > 0 Then
oNodeInfo += $" - RecordID {pRecord}"
'For Each treeListNode As TreeListNode In TreeListDevexpress.Selection
'FocusedNode = TreeListNode
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()
Dim fl = FORM_LOADED
Dim firstORFOLLWOWIN = False
' ClassNodeNavigation.Check_NODE_CONFIG_ID(oEntityID, SelectedNode)
CURRENT_RECORD_ID = pRecord
CURRENT_RECORD_ID = oRecordId
ClassHelper.GetDocrecordLinks(CURRENT_RECORD_ID)
CURRENT_ENTITY_ID = oEntityID
CURRENT_NODE_GUID = oID
SELECTED_NODE_CAPTION = oNode_Caption
CURRENT_NODE_GUID = oNodeId
SELECTED_NODE_CAPTION = oNodeCaption
CURRENT_SEARCH_TYPE = "RECORD"
DisableEditMode()
' muss vor show selected record data kommen,
@@ -471,17 +380,6 @@ Public Class frmNodeNavigation
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
@@ -497,11 +395,8 @@ Public Class frmNodeNavigation
'swAll.Done()
Node_AfterSelect = False
Else
End If
Update_Status_Label(True, oNodeInfo, EditState.None)
Next
End Sub
Public Sub Update_Status_Label(visible As Boolean, Optional text As String = "", Optional state As EditState = EditState.None)
@@ -800,23 +695,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 +734,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 +743,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 +1382,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)
@@ -1827,15 +1737,12 @@ Public Class frmNodeNavigation
Save_DocGrid_Layout()
End Sub
Private Sub GridViewDoc_Search_FocusedColumnChanged(sender As Object, e As DevExpress.XtraGrid.Views.Base.FocusedColumnChangedEventArgs) Handles GridViewDoc_Search.FocusedColumnChanged
ClassWindreamDocGrid.GetDocItems(GridViewDoc_Search)
'ClassWindreamDocGrid.GetDocItems(GridViewDoc_Search)
Refresh_DocID()
End Sub
Private Sub GridViewDoc_Search_FocusedRowChanged(sender As Object, e As DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs) Handles GridViewDoc_Search.FocusedRowChanged
ClassWindreamDocGrid.GetDocItems(GridViewDoc_Search)
'ClassWindreamDocGrid.GetDocItems(GridViewDoc_Search)
Refresh_DocID()
End Sub
@@ -2246,18 +2153,24 @@ Public Class frmNodeNavigation
End If
Me.Cursor = Cursors.WaitCursor
ClassWindreamDocGrid.GetDocItems(GridViewDoc_Search)
If IsNothing(ClassWindreamDocGrid.DT_RESULTFILES) Then
Dim oSelectedDocs = ClassWindreamDocGrid.GetSelectedDocuments(GridViewDoc_Search)
'Refresh_DocID()
If ClassWindreamDocGrid.HasNoSelectedDocuments(GridViewDoc_Search) Then
e.Cancel = True
End If
Refresh_DocID()
If ClassWindreamDocGrid.DT_RESULTFILES.Rows.Count = 1 Then
If ClassWindreamDocGrid.DT_RESULTFILES.Rows(0).Item("DOC_ID") = 0 Then
If oSelectedDocs.First.DocId = 0 Then
e.Cancel = True
End If
End If
If oSelectedDocs.Count > 1 Then
ContextMenu_Multiplefiles()
ElseIf oSelectedDocs.Count = 1 Then
File_in_Work()
Dim Result = ClassDOC_SEARCH.Get_File_Rights(ClassWindreamDocGrid.SELECTED_DOC_ID)
Dim oSelectedDocument = oSelectedDocs.First
Dim Result = ClassDOC_SEARCH.Get_File_Rights(oSelectedDocument.DocId)
If Not IsNothing(Result) Then
ROW_READ_ONLY = False
Select Case Result.ToString
@@ -2290,8 +2203,8 @@ Public Class frmNodeNavigation
End If
End If
End If
If ClassWindreamDocGrid.DT_RESULTFILES.Rows.Count = 1 Then
If ClassWindreamDocGrid.DT_RESULTFILES.Rows(0).Item("DISPLAYNAME") <> "" Then
If oSelectedDocs.First.DisplayName <> "" Then
tsmiFileRenameDisplayname.Visible = True
Else
tsmiFileRenameDisplayname.Visible = False
@@ -2308,36 +2221,70 @@ Public Class frmNodeNavigation
End Try
End Sub
Sub ContextMenu_Multiplefiles()
tsmiFileProperties.Enabled = False
Sub ContextMenu_Read()
tsmiFileOpen.Enabled = True
tsmiFileOpen.Enabled = False
tsmiFileFolderOpen.Enabled = False
tsmiFileInWork.Enabled = False
tsmiFileLink_Add.Enabled = True
tsmiFileLink_ShowAll.Enabled = True
tsmiFileLinkRemove.Enabled = True
tsmiFileRename.Enabled = False
tsmiFileInWork.Enabled = False
tsmiFileLink_Add.Enabled = False
tsmiFileLink_ShowAll.Enabled = True
tsmiFileVersion.Enabled = False
tsmiFileRightsShow.Enabled = False
tsmiFileDelete.Enabled = False
End Sub
Sub ContextMenu_Read()
tsmiFileProperties.Enabled = True
tsmiFileOpen.Enabled = True
tsmiFileFolderOpen.Enabled = True
tsmiFileInWork.Enabled = False
tsmiFileLink_Add.Enabled = False
tsmiFileLink_ShowAll.Enabled = True
tsmiFileLinkRemove.Enabled = False
tsmiFileRename.Enabled = False
tsmiFileVersion.Enabled = True
tsmiFileRightsShow.Enabled = True
tsmiFileDelete.Enabled = False
End Sub
Sub ContextMenu_Write()
tsmiFileOpen.Enabled = True
tsmiFileProperties.Enabled = True
tsmiFileOpen.Enabled = True
tsmiFileFolderOpen.Enabled = True
tsmiFileRename.Enabled = True
tsmiFileInWork.Enabled = True
tsmiFileLink_Add.Enabled = True
tsmiFileLink_ShowAll.Enabled = True
tsmiFileDelete.Enabled = True
tsmiFileLinkRemove.Enabled = True
tsmiFileRename.Enabled = True
tsmiFileVersion.Enabled = True
tsmiFileRightsShow.Enabled = True
tsmiFileDelete.Enabled = True
End Sub
Sub Open_File()
Me.Cursor = Cursors.WaitCursor
Dim allow_Open As Boolean = False
ClassWindreamDocGrid.GetDocItems(GridViewDoc_Search)
'ClassWindreamDocGrid.GetDocItems(GridViewDoc_Search)
Dim Result = ClassDOC_SEARCH.Get_File_Rights(ClassWindreamDocGrid.SELECTED_DOC_ID)
If Not IsNothing(Result) Then
Select Case Result.ToString
Case "R"
@@ -2349,16 +2296,23 @@ Public Class frmNodeNavigation
End Select
End If
If allow_Open = True Then
If IsNothing(ClassWindreamDocGrid.DT_RESULTFILES) Then
'If IsNothing(ClassWindreamDocGrid.DT_RESULTFILES) Then
' MsgBox("Could not read File Parameters(5)!", MsgBoxStyle.Exclamation)
' Exit Sub
'End If
If ClassWindreamDocGrid.HasNoSelectedDocuments(GridViewDoc_Search) Then
MsgBox("Could not read File Parameters(5)!", MsgBoxStyle.Exclamation)
Exit Sub
End If
For Each row As DataRow In ClassWindreamDocGrid.DT_RESULTFILES.Rows
If ClassHelper.File_open(row.Item("DOC_PATH"), row.Item("DOC_ID")) = True Then
'For Each row As DataRow In ClassWindreamDocGrid.DT_RESULTFILES.Rows
' If ClassHelper.File_open(row.Item("DOC_PATH"), row.Item("DOC_ID")) = True Then
' TimerFileHandle.Enabled = True
' End If
'Next
For Each oDoc As ClassWindreamDocGrid.WindreamDoc In ClassWindreamDocGrid.GetSelectedDocuments(GridViewDoc_Search)
If ClassHelper.File_open(oDoc.DocPath, oDoc.DocId) = True Then
TimerFileHandle.Enabled = True
End If
Next
Else
If clsWD_GET.WDFile_exists(ClassWindreamDocGrid.SELECTED_DOC_PATH, DD_LIB_Standards.clsDatabase.DB_PROXY_INITIALIZED, ClassProxy.MyLinkedServer, True) = True Then
@@ -2425,7 +2379,7 @@ Public Class frmNodeNavigation
End Sub
Private Sub tsmiFileInWork_Click(sender As Object, e As EventArgs) Handles tsmiFileInWork.Click
If IsNothing(ClassWindreamDocGrid.DT_RESULTFILES) Then
If ClassWindreamDocGrid.HasNoSelectedDocuments(GridViewDoc_Search) Then
MsgBox("Could not read File Parameters (3)!", MsgBoxStyle.Exclamation)
Exit Sub
End If
@@ -2462,17 +2416,32 @@ Public Class frmNodeNavigation
Private Sub tsmiFileRenameDisplayname_Click(sender As Object, e As EventArgs) Handles tsmiFileRenameDisplayname.Click
Try
If ClassWindreamDocGrid.DT_RESULTFILES.Rows.Count = 1 Then
If ClassWindreamDocGrid.DT_RESULTFILES.Rows(0).Item("DISPLAYNAME") <> "" Then
If ClassWindreamDocGrid.HasNoSelectedDocuments(GridViewDoc_Search) Then
Exit Sub
End If
'If ClassWindreamDocGrid.DT_RESULTFILES.Rows.Count = 1 Then
' If ClassWindreamDocGrid.DT_RESULTFILES.Rows(0).Item("DISPLAYNAME") <> "" Then
' Dim oRowHandle As Integer = GridViewDoc_Search.FocusedRowHandle
' Dim frm As New frmFileRename(1, ClassWindreamDocGrid.DT_RESULTFILES.Rows(0).Item("DISPLAYNAME"), "Displayname")
' frm.ShowDialog()
' RUN_WDSEARCH_GRID(True)
' If Not IsNothing(oRowHandle) Then
' GridViewDoc_Search.FocusedRowHandle = oRowHandle
' End If
' End If
'End If
Dim oDocuments = ClassWindreamDocGrid.GetSelectedDocuments(GridViewDoc_Search)
If oDocuments.First.DisplayName <> "" Then
Dim oRowHandle As Integer = GridViewDoc_Search.FocusedRowHandle
Dim frm As New frmFileRename(1, ClassWindreamDocGrid.DT_RESULTFILES.Rows(0).Item("DISPLAYNAME"), "Displayname")
Dim frm As New frmFileRename(1, oDocuments.First.DisplayName, "Displayname")
frm.ShowDialog()
RUN_WDSEARCH_GRID(True)
If Not IsNothing(oRowHandle) Then
GridViewDoc_Search.FocusedRowHandle = oRowHandle
End If
End If
End If
Catch ex As Exception
ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error", "Unexpected Error in getting the Displayname: ", ex.Message)
End Try
@@ -2487,7 +2456,11 @@ Public Class frmNodeNavigation
LOGGER.Warn("Attention: Could not set DocVariable RENAME_DOC_PATH: " & ex.Message)
RENAME_DOC_PATH = Nothing
End Try
If IsNothing(ClassWindreamDocGrid.DT_RESULTFILES) Then
'If IsNothing(ClassWindreamDocGrid.DT_RESULTFILES) Then
' MsgBox("Could not read File Parameters!", MsgBoxStyle.Exclamation)
' Exit Sub
'End If
If ClassWindreamDocGrid.HasNoSelectedDocuments(GridViewDoc_Search) Then
MsgBox("Could not read File Parameters!", MsgBoxStyle.Exclamation)
Exit Sub
End If
@@ -2519,32 +2492,49 @@ Public Class frmNodeNavigation
End Sub
Private Sub tsmiFileFolderOpen_Click(sender As Object, e As EventArgs) Handles tsmiFileFolderOpen.Click
If IsNothing(ClassWindreamDocGrid.DT_RESULTFILES) Then
'If IsNothing(ClassWindreamDocGrid.DT_RESULTFILES) Then
' MsgBox("Could not read File Parameters(5)!", MsgBoxStyle.Exclamation)
' Exit Sub
'End If
If ClassWindreamDocGrid.HasNoSelectedDocuments(GridViewDoc_Search) Then
MsgBox("Could not read File Parameters(5)!", MsgBoxStyle.Exclamation)
Exit Sub
End If
For Each row As DataRow In ClassWindreamDocGrid.DT_RESULTFILES.Rows
ClassHelper.Open_Folder(row.Item("DOC_PATH"), row.Item("DOC_ID"))
'For Each row As DataRow In ClassWindreamDocGrid.DT_RESULTFILES.Rows
' ClassHelper.Open_Folder(row.Item("DOC_PATH"), row.Item("DOC_ID"))
'Next
For Each oDoc As ClassWindreamDocGrid.WindreamDoc In ClassWindreamDocGrid.GetSelectedDocuments(GridViewDoc_Search)
ClassHelper.Open_Folder(oDoc.DocPath, oDoc.DocId)
Next
End Sub
Private Sub tsmiFileLink_Add_Click(sender As Object, e As EventArgs) Handles tsmiFileLink_Add.Click
Try
ClassWindreamDocGrid.GetDocItems(GridViewDoc_Search)
If IsNothing(ClassWindreamDocGrid.DT_RESULTFILES) Then
'ClassWindreamDocGrid.GetDocItems(GridViewDoc_Search)
'If IsNothing(ClassWindreamDocGrid.DT_RESULTFILES) Then
' MsgBox("Could not read File Parameters (LinkRecord)!", MsgBoxStyle.Exclamation)
' Exit Sub
'End If
'ClassWindreamDocGrid.GetDocItems(GridViewDoc_Search)
If ClassWindreamDocGrid.HasNoSelectedDocuments(GridViewDoc_Search) Then
MsgBox("Could not read File Parameters (LinkRecord)!", MsgBoxStyle.Exclamation)
Exit Sub
End If
Refresh_Selected_Table()
Dim frm As New frmDocRecordLink
frm.Show()
Dim oDocuments = DocList.SelectedDocuments
Dim oForm As New frmDocRecordLink With {.Documents = oDocuments}
oForm.Show()
Catch ex As Exception
LOGGER.Error(ex)
MsgBox("Unexpected Error in Linking Record: " & ex.Message, MsgBoxStyle.Critical)
End Try
End Sub
Sub Refresh_Selected_Table()
Dim table As New DataTable
table.TableName = "SelectedFiles"
Dim table As New DataTable With {
.TableName = "SelectedFiles"
}
' Create two columns, ID and Name.
Dim idColumn As DataColumn = table.Columns.Add("ID", GetType(System.Int32))
@@ -2555,13 +2545,13 @@ Public Class frmNodeNavigation
table.Columns.Add("FILEPATH", GetType(System.String))
table.Columns.Add("DOC_ID", GetType(System.Int32))
table.Columns.Add("OBJECTTYPE", GetType(System.String))
For Each row As DataRow In ClassWindreamDocGrid.DT_RESULTFILES.Rows
If row.Item("DOC_PATH") <> String.Empty Then
For Each oDoc As ClassWindreamDocGrid.WindreamDoc In ClassWindreamDocGrid.GetSelectedDocuments(GridViewDoc_Search)
If oDoc.DocPath <> String.Empty Then
'Set the ID column as the primary key column.
Dim newRow As DataRow = table.NewRow()
newRow("FILEPATH") = row.Item("DOC_PATH")
newRow("DOC_ID") = row.Item("DOC_ID")
newRow("OBJECTTYPE") = row.Item("OBJECTTYPE")
newRow("FILEPATH") = oDoc.DocPath
newRow("DOC_ID") = oDoc.DocId
newRow("OBJECTTYPE") = oDoc.DocType
table.Rows.Add(newRow)
End If
Next
@@ -2578,9 +2568,10 @@ Public Class frmNodeNavigation
End If
CURRENT_DOC_ID = GridViewDoc_Search.GetRowCellValue(GridViewDoc_Search.FocusedRowHandle, "DocID")
Dim frm As New frmDoc_Links
frm.Show()
frm.BringToFront()
Dim oDocuments = DocList.SelectedDocuments
Dim oForm As New frmDoc_Links With {.Documents = oDocuments}
oForm.Show()
oForm.BringToFront()
Catch ex As Exception
MsgBox("Unexpected Error in Showing DocLinks: " & ex.Message, MsgBoxStyle.Critical)
End Try
@@ -2591,10 +2582,10 @@ Public Class frmNodeNavigation
ClassHelper.MSGBOX_Handler("INFO", "Attention", "Missing Selection:", "Please select a record!")
Exit Sub
End If
If IsNothing(ClassWindreamDocGrid.DT_RESULTFILES) Then
If ClassWindreamDocGrid.HasNoSelectedDocuments(GridViewDoc_Search) Then
Exit Sub
End If
If ClassWindreamDocGrid.DT_RESULTFILES.Rows.Count > 0 Then
Dim msg = "Wollen Sie die Verknüpfung der gewählten Datei/en wirklich entfernen?" & vbNewLine & "Datei/en bleibt/bleiben im DMS/Archiv/Explorer erhalten!"
If USER_LANGUAGE <> "de-DE" Then
msg = "Would You like to delete only the references?" & vbNewLine & "File(s) will stay in ECM/Archive/Explorer!"
@@ -2603,9 +2594,9 @@ Public Class frmNodeNavigation
result = MessageBox.Show(msg, CAPTION_CONFIRMATION, MessageBoxButtons.YesNo, MessageBoxIcon.Question)
If result = MsgBoxResult.Yes Then
Try
For Each row As DataRow In ClassWindreamDocGrid.DT_RESULTFILES.Rows
If ClassFileResult.Delete_ResultFile(row.Item("DOC_ID"), CURRENT_RECORD_ID, 0) = True Then
ClassHelper.InsertEssential_Log(row.Item("DOC_ID"), "DOC-ID", "RECORD LINK REMOVED FROM DOC-SEARCH")
For Each oDoc As ClassWindreamDocGrid.WindreamDoc In ClassWindreamDocGrid.GetSelectedDocuments(GridViewDoc_Search)
If ClassFileResult.Delete_ResultFile(oDoc.DocId, CURRENT_RECORD_ID, 0) = True Then
ClassHelper.InsertEssential_Log(oDoc.DocId, "DOC-ID", "RECORD LINK REMOVED FROM DOC-SEARCH")
Cursor = Cursors.WaitCursor
RUN_WDSEARCH_GRID(True)
End If
@@ -2617,7 +2608,6 @@ Public Class frmNodeNavigation
ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error", "Error in Removing links from file:", ex.Message)
End Try
End If
End If
End Sub
Private Sub tsmiFileVersion_Click(sender As Object, e As EventArgs) Handles tsmiFileVersion.Click
@@ -2645,27 +2635,25 @@ Public Class frmNodeNavigation
Show_File_Properties()
End Sub
Sub Show_File_Properties()
If IsNothing(ClassWindreamDocGrid.DT_RESULTFILES) Then
If ClassWindreamDocGrid.HasNoSelectedDocuments(GridViewDoc_Search) Then
MsgBox("Could not read File Parameters(4)!", MsgBoxStyle.Exclamation)
Exit Sub
End If
For Each row As DataRow In ClassWindreamDocGrid.DT_RESULTFILES.Rows
If row.Item("DOC_PATH") <> "" Then
Dim oFileFullPath = ClassHelper.FORMAT_WM_PATH(row.Item("DOC_PATH"))
Cursor = Cursors.WaitCursor
Dim sei As New SHELLEXECUTEINFO
sei.cbSize = Marshal.SizeOf(sei)
sei.lpVerb = "properties"
sei.lpFile = oFileFullPath
sei.nShow = SW_SHOW
sei.fMask = SEE_MASK_INVOKEIDLIST
If Not ShellExecuteEx(sei) Then
For Each oDoc As ClassWindreamDocGrid.WindreamDoc In ClassWindreamDocGrid.GetSelectedDocuments(GridViewDoc_Search)
If oDoc.DocPath <> "" Then
Dim oFileFullPath = ClassHelper.FORMAT_WM_PATH(oDoc.DocPath)
Try
If Not WindowsEx.OpenFileProperties(oFileFullPath) Then
Dim ex As New System.ComponentModel.Win32Exception(System.Runtime.InteropServices.Marshal.GetLastWin32Error())
ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error", "Error in Open file propertys:", ex.Message)
End If
Catch ex As Exception
LOGGER.Error(ex)
End Try
End If
Cursor = Cursors.Default
Next
Cursor = Cursors.Default
End Sub
Private Sub EigenschaftenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles EigenschaftenToolStripMenuItem.Click
@@ -2690,7 +2678,7 @@ Public Class frmNodeNavigation
End Sub
Private Sub UnterknotenNeuOrdnenToolStripMenuItem_Click(sender As Object, e As EventArgs)
MyTreeListViewState = New TreeListViewState(TreeListDevexpress)
MyTreeListViewState = New ClassTreeListViewState(TreeListDevexpress)
Dim oQuestion = "Wollen Sie die gesamte Struktur unterhalb dieses Knotens neu ordnen lassen?" & vbNewLine & "Nein, wenn nur die direkten Unterknoten neu geordnet werden sollen!"
If USER_LANGUAGE <> "de-DE" Then
oQuestion = "Do you want to reorder the entire structure below this node?" & vbNewLine & "No, if only the direct subnodes are to be reordered!"
@@ -2741,77 +2729,78 @@ Public Class frmNodeNavigation
'End Sub
Private Sub GridViewDoc_Search_RowStyle(sender As Object, e As RowStyleEventArgs) Handles GridViewDoc_Search.RowStyle
If e.RowHandle = DevExpress.XtraGrid.GridControl.AutoFilterRowHandle Then
e.Appearance.BackColor = Color.Yellow
Else
If e.RowHandle = -1 Then
Exit Sub
End If
Try
Dim rowCellValue = GridViewDoc_Search.GetRowCellValue(e.RowHandle, "in work?")
If Not IsNothing(rowCellValue) Then
Dim inwork = rowCellValue
If inwork = True Then
e.Appearance.BackColor = Color.Orchid
e.HighPriority = True
End If
End If
Catch ex As Exception
LOGGER.Warn("Unexpected Error in Checking Value In Work: " & ex.Message)
End Try
'TODO: Refactor RowStyle maybe
'If e.RowHandle = DevExpress.XtraGrid.GridControl.AutoFilterRowHandle Then
' e.Appearance.BackColor = Color.Yellow
'Else
' If e.RowHandle = -1 Then
' Exit Sub
' End If
' Try
' Dim rowCellValue = GridViewDoc_Search.GetRowCellValue(e.RowHandle, "in work?")
' If Not IsNothing(rowCellValue) Then
' Dim inwork = rowCellValue
' If inwork = True Then
' e.Appearance.BackColor = Color.Orchid
' e.HighPriority = True
' End If
' End If
' Catch ex As Exception
' LOGGER.Warn("Unexpected Error in Checking Value In Work: " & ex.Message)
' End Try
Try
Dim DROPDOWN_VALUE
If Not IsNothing(DT_DOCRESULT_DROPDOWN_ITEMS) Then
'Den ColumnTitle aus ConfigTableholen
If DT_DOCRESULT_DROPDOWN_ITEMS.Rows.Count > 0 Then
For Each confrow As DataRow In DT_DOCRESULT_DROPDOWN_ITEMS.Rows
Dim CAPTION = confrow.Item("HEADER_CAPTION")
DROPDOWN_VALUE = GridViewDoc_Search.GetRowCellValue(e.RowHandle, CAPTION)
If Not IsNothing(DROPDOWN_VALUE) Then
Exit For
End If
Next
' Try
' Dim DROPDOWN_VALUE
' If Not IsNothing(DT_DOCRESULT_DROPDOWN_ITEMS) Then
' 'Den ColumnTitle aus ConfigTableholen
' If DT_DOCRESULT_DROPDOWN_ITEMS.Rows.Count > 0 Then
' For Each confrow As DataRow In DT_DOCRESULT_DROPDOWN_ITEMS.Rows
' Dim CAPTION = confrow.Item("HEADER_CAPTION")
' DROPDOWN_VALUE = GridViewDoc_Search.GetRowCellValue(e.RowHandle, CAPTION)
' If Not IsNothing(DROPDOWN_VALUE) Then
' Exit For
' End If
' Next
If Not IsNothing(DROPDOWN_VALUE) Then
Dim ColorRow As Color
Dim expression As String = String.Format("VALUE = '{0}'", DROPDOWN_VALUE)
Dim matchingRows() As DataRow = DT_DOCRESULT_DROPDOWN_ITEMS.Select(expression, "SEQUENCE")
Dim rowcolorname As String = ""
'Die Color für den value auswählen
For Each matchingRow As DataRow In matchingRows
rowcolorname = ""
If Not IsDBNull(matchingRow.Item("COLOR")) Then
rowcolorname = matchingRow.Item("COLOR")
End If
' If Not IsNothing(DROPDOWN_VALUE) Then
' Dim ColorRow As Color
' Dim expression As String = String.Format("VALUE = '{0}'", DROPDOWN_VALUE)
' Dim matchingRows() As DataRow = DT_DOCRESULT_DROPDOWN_ITEMS.Select(expression, "SEQUENCE")
' Dim rowcolorname As String = ""
' 'Die Color für den value auswählen
' For Each matchingRow As DataRow In matchingRows
' rowcolorname = ""
' If Not IsDBNull(matchingRow.Item("COLOR")) Then
' rowcolorname = matchingRow.Item("COLOR")
' End If
If rowcolorname <> "" Then
Exit For
End If
Next
If rowcolorname <> "" Then
ColorRow = Color.FromName(rowcolorname)
e.Appearance.BackColor = ColorRow
e.HighPriority = True
End If
' If rowcolorname <> "" Then
' Exit For
' End If
' Next
' If rowcolorname <> "" Then
' ColorRow = Color.FromName(rowcolorname)
' e.Appearance.BackColor = ColorRow
' e.HighPriority = True
' End If
'Dim c As Color = DirectCast(rowCellValue, Color)
' 'Dim c As Color = DirectCast(rowCellValue, Color)
End If
End If
' End If
' End If
End If
Catch ex As Exception
LOGGER.Warn("Unexpected Error in RowStyle-Color Dropdown: " & ex.Message)
End Try
' End If
' Catch ex As Exception
' LOGGER.Warn("Unexpected Error in RowStyle-Color Dropdown: " & ex.Message)
' End Try
End If
'End If
End Sub
Private Sub BarButtonItem2_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BbtnitmNodeReorder.ItemClick
MyTreeListViewState = New TreeListViewState(TreeListDevexpress)
MyTreeListViewState = New ClassTreeListViewState(TreeListDevexpress)
Dim oQuestion = "Wollen Sie die gesamte Struktur unterhalb dieses Knotens neu ordnen lassen?" & vbNewLine & "Nein, wenn nur die direkten Unterknoten neu geordnet werden sollen!"
If USER_LANGUAGE <> "de-DE" Then
oQuestion = "Do you want to reorder the entire structure below this node?" & vbNewLine & "No, if only the direct subnodes are to be reordered!"