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,71 +63,140 @@ Public Class frmDocRecordLink
grvwGrid.BestFitColumns()
End Sub
Private Sub frmDocRecordLink_Load(sender As Object, e As EventArgs) Handles Me.Load
ENTITY_LOAD_ACTIVE = True
If ClassWindreamDocGrid.DT_RESULTFILES.Rows.Count = 1 Then
txtFileInfo.Text = ClassWindreamDocGrid.DT_RESULTFILES.Rows(0).Item("DOC_PATH")
Else
txtFileInfo.Text = String.Format("{0} files selected for linking to record", ClassWindreamDocGrid.DT_RESULTFILES.Rows.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
' 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")
Else
Dim DT_RESULT As DataTable
If CURRENT_LINK_ENTITY_ID = CURRENT_ENTITY_ID Then
DT_RESULT = CURRENT_DT_ENTITY_RECORDS
txtFileInfo.Text = String.Format("{0} files selected for linking to record", ClassWindreamDocGrid.DT_RESULTFILES.Rows.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
DT_RESULT = ReturnDataforEntity(CURRENT_LINK_ENTITY_ID)
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
If Not IsNothing(DT_RESULT) Then
Refresh_Grid_Data(False, DT_RESULT)
Dim DT_ENTITIES As DataTable = GetENTITIES()
Dim oSelectedIndex As Integer = 0
If DT_ENTITIES.Rows.Count = 0 Then
Exit Sub
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
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
oCount += 1
Next
If USER_LANGUAGE = "de-DE" Then
Me.Text = CURRENT_DT_SELECTED_FILES.Rows.Count.ToString & " Datei(en) mit Datensatz verknüpfen:"
' 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
If Documents.Count > 0 Then
ENTITY_LOAD_ACTIVE = True
If Documents.Count = 1 Then
txtFileInfo.Text = Documents.First.DocPath
Else
Me.Text = "Link " & CURRENT_DT_SELECTED_FILES.Rows.Count.ToString & " files with record:"
txtFileInfo.Text = String.Format("{0} files selected for linking to record", Documents.Count)
End If
' Den index der aktuell geöffneten ConstructorForm setzen
cmbConstructorForms.SelectedIndex = oSelectedIndex
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
Catch ex As Exception
ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error in frmDocRecordLink_Load", ex.Message, ex.StackTrace)
End Try
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
Load_DocGrid_Layout()
bsiInfo.Caption = "Waiting for record-Selection....."
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
grvwGrid.Columns.Item("VALUE").Visible = False
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 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)
Else
MsgBox("Procedure was executed successfully!", MsgBoxStyle.Information)
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, Text)
Else
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

File diff suppressed because it is too large Load Diff