This commit is contained in:
Jonathan Jenne 2023-12-06 09:27:54 +01:00
parent 7124ad3015
commit f6480adb04
5 changed files with 315 additions and 58 deletions

View File

@ -145,6 +145,7 @@
<Compile Include="frmMain.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="Helper\RefreshHelper.vb" />
<Compile Include="Helper\TempFiles.vb" />
<Compile Include="Helper\Thumbnail.vb" />
<Compile Include="Helper\Validator.vb" />

View File

@ -0,0 +1,211 @@
Option Strict On
Imports System.Collections
Imports DevExpress.XtraGrid
Imports DevExpress.XtraGrid.Columns
Imports DevExpress.XtraGrid.Views.Grid
Public Class RefreshHelper
<Serializable>
Public Structure RowInfo
Public Id As Object
Public level As Integer
End Structure
Private ReadOnly view As GridView
Private ReadOnly keyFieldName As String
Private _saveExpList As ArrayList
Private _saveSelList As ArrayList
Private _saveMasterRowsList As ArrayList
Private visibleRowIndex As Integer = -1
Public Sub New(ByVal view As GridView, ByVal keyFieldName As String)
Me.view = view
Me.keyFieldName = keyFieldName
End Sub
Public ReadOnly Property SaveExpList As ArrayList
Get
If _saveExpList Is Nothing Then
_saveExpList = New ArrayList()
End If
Return _saveExpList
End Get
End Property
Public ReadOnly Property SaveSelList As ArrayList
Get
If _saveSelList Is Nothing Then
_saveSelList = New ArrayList()
End If
Return _saveSelList
End Get
End Property
Public ReadOnly Property SaveMasterRowsList As ArrayList
Get
If _saveMasterRowsList Is Nothing Then
_saveMasterRowsList = New ArrayList()
End If
Return _saveMasterRowsList
End Get
End Property
Protected Function FindParentRowHandle(ByVal rowInfo As RowInfo, ByVal rowHandle As Integer) As Integer
Dim result As Integer = view.GetParentRowHandle(rowHandle)
While view.GetRowLevel(result) <> rowInfo.level
result = view.GetParentRowHandle(result)
End While
Return result
End Function
Protected Sub ExpandRowByRowInfo(ByVal rowInfo As RowInfo)
Dim dataRowHandle As Integer = view.LocateByValue(0, view.Columns(keyFieldName), rowInfo.Id)
If dataRowHandle <> GridControl.InvalidRowHandle Then
Dim parentRowHandle As Integer = FindParentRowHandle(rowInfo, dataRowHandle)
view.SetRowExpanded(parentRowHandle, True, False)
End If
End Sub
Protected Function GetRowHandleToSelect(ByVal rowInfo As RowInfo) As Integer
Dim dataRowHandle As Integer = view.LocateByValue(0, view.Columns(keyFieldName), rowInfo.Id)
If dataRowHandle <> GridControl.InvalidRowHandle Then
If view.GetRowLevel(dataRowHandle) <> rowInfo.level Then Return FindParentRowHandle(rowInfo, dataRowHandle)
End If
Return dataRowHandle
End Function
Protected Sub SelectRowByRowInfo(ByVal rowInfo As RowInfo, ByVal isFocused As Boolean)
If isFocused Then
view.FocusedRowHandle = GetRowHandleToSelect(rowInfo)
Else
view.SelectRow(GetRowHandleToSelect(rowInfo))
End If
End Sub
Public Sub SaveSelectionViewInfo(ByVal list As ArrayList)
list.Clear()
Dim column As GridColumn = view.Columns(keyFieldName)
Dim rowInfo As RowInfo
Dim selectionArray As Integer() = view.GetSelectedRows()
If selectionArray IsNot Nothing Then
For i As Integer = 0 To selectionArray.Length - 1
Dim dataRowHandle As Integer = selectionArray(i)
rowInfo.level = view.GetRowLevel(dataRowHandle)
If dataRowHandle < 0 Then dataRowHandle = view.GetDataRowHandleByGroupRowHandle(dataRowHandle)
rowInfo.Id = view.GetRowCellValue(dataRowHandle, column)
list.Add(rowInfo)
Next
End If
rowInfo.Id = view.GetRowCellValue(view.FocusedRowHandle, column)
rowInfo.level = view.GetRowLevel(view.FocusedRowHandle)
list.Add(rowInfo)
End Sub
Public Sub SaveExpansionViewInfo(ByVal list As ArrayList)
If view.GroupedColumns.Count = 0 Then Return
list.Clear()
Dim column As GridColumn = view.Columns(keyFieldName)
For i As Integer = -1 To Integer.MinValue + 1
If Not view.IsValidRowHandle(i) Then Exit For
If view.GetRowExpanded(i) Then
Dim rowInfo As RowInfo
Dim dataRowHandle As Integer = view.GetDataRowHandleByGroupRowHandle(i)
rowInfo.Id = view.GetRowCellValue(dataRowHandle, column)
rowInfo.level = view.GetRowLevel(i)
list.Add(rowInfo)
End If
Next
End Sub
Public Sub SaveExpandedMasterRows(ByVal list As ArrayList)
If view.GridControl.Views.Count = 1 Then Return
list.Clear()
Dim column As GridColumn = view.Columns(keyFieldName)
For i As Integer = 0 To view.DataRowCount - 1
If view.GetMasterRowExpanded(i) Then list.Add(view.GetRowCellValue(i, column))
Next
End Sub
Public Sub SaveVisibleIndex()
visibleRowIndex = view.GetVisibleIndex(view.FocusedRowHandle) - view.TopRowIndex
End Sub
Public Sub LoadVisibleIndex()
view.MakeRowVisible(view.FocusedRowHandle, True)
view.TopRowIndex = view.GetVisibleIndex(view.FocusedRowHandle) - visibleRowIndex
End Sub
Public Sub LoadSelectionViewInfo(ByVal list As ArrayList)
view.BeginSelection()
Try
view.ClearSelection()
For i As Integer = 0 To list.Count - 1
SelectRowByRowInfo(CType(list(i), RowInfo), i = list.Count - 1)
Next
Finally
view.EndSelection()
End Try
End Sub
Public Sub LoadExpansionViewInfo(ByVal list As ArrayList)
If view.GroupedColumns.Count = 0 Then Return
view.BeginUpdate()
Try
view.CollapseAllGroups()
For Each info As RowInfo In list
ExpandRowByRowInfo(info)
Next
Finally
view.EndUpdate()
End Try
End Sub
Public Sub LoadExpandedMasterRows(ByVal list As ArrayList)
view.BeginUpdate()
Try
view.CollapseAllDetails()
Dim column As GridColumn = view.Columns(keyFieldName)
For i As Integer = 0 To list.Count - 1
Dim rowHandle As Integer = view.LocateByValue(0, column, list(i))
view.SetMasterRowExpanded(rowHandle, True)
Next
Finally
view.EndUpdate()
End Try
End Sub
Public Sub SaveViewInfo()
SaveExpandedMasterRows(SaveMasterRowsList)
SaveExpansionViewInfo(SaveExpList)
SaveSelectionViewInfo(SaveSelList)
SaveVisibleIndex()
End Sub
Public Sub LoadViewInfo()
LoadExpandedMasterRows(SaveMasterRowsList)
LoadExpansionViewInfo(SaveExpList)
LoadSelectionViewInfo(SaveSelList)
LoadVisibleIndex()
End Sub
End Class

View File

@ -51,9 +51,12 @@ Partial Class frmMain
Me.btnDeleteEnvelope = New DevExpress.XtraBars.BarButtonItem()
Me.BarButtonItem1 = New DevExpress.XtraBars.BarButtonItem()
Me.txtRefreshLabel = New DevExpress.XtraBars.BarStaticItem()
Me.btnShowDocument = New DevExpress.XtraBars.BarButtonItem()
Me.btnContactReceiver = New DevExpress.XtraBars.BarButtonItem()
Me.RibbonPage1 = New DevExpress.XtraBars.Ribbon.RibbonPage()
Me.RibbonPageEnvelopeActions = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibbonPageGroup1 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibbonPageGroup2 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibbonStatusBar = New DevExpress.XtraBars.Ribbon.RibbonStatusBar()
Me.XtraTabPage2 = New DevExpress.XtraTab.XtraTabPage()
Me.GridCompleted = New DevExpress.XtraGrid.GridControl()
@ -69,9 +72,7 @@ Partial Class frmMain
Me.GridColumn6 = New DevExpress.XtraGrid.Columns.GridColumn()
Me.GridColumn7 = New DevExpress.XtraGrid.Columns.GridColumn()
Me.RefreshTimer = New System.Windows.Forms.Timer(Me.components)
Me.RibbonPageGroup2 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.BarButtonItem2 = New DevExpress.XtraBars.BarButtonItem()
Me.BarButtonItem3 = New DevExpress.XtraBars.BarButtonItem()
Me.colEnvelopeId = New DevExpress.XtraGrid.Columns.GridColumn()
CType(Me.SplitContainerControl1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.SplitContainerControl1.Panel1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SplitContainerControl1.Panel1.SuspendLayout()
@ -220,7 +221,7 @@ Partial Class frmMain
'
'ViewEnvelopes
'
Me.ViewEnvelopes.Columns.AddRange(New DevExpress.XtraGrid.Columns.GridColumn() {Me.colContractType, Me.colStatus, Me.colTitle, Me.colSubject, Me.colAddedWhen})
Me.ViewEnvelopes.Columns.AddRange(New DevExpress.XtraGrid.Columns.GridColumn() {Me.colEnvelopeId, Me.colContractType, Me.colStatus, Me.colTitle, Me.colSubject, Me.colAddedWhen})
Me.ViewEnvelopes.GridControl = Me.GridEnvelopes
Me.ViewEnvelopes.Name = "ViewEnvelopes"
'
@ -257,7 +258,7 @@ Partial Class frmMain
'RibbonControl
'
Me.RibbonControl.ExpandCollapseItem.Id = 0
Me.RibbonControl.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl.ExpandCollapseItem, Me.RibbonControl.SearchEditItem, Me.btnCreateEnvelope, Me.btnEditEnvelope, Me.btnDeleteEnvelope, Me.BarButtonItem1, Me.txtRefreshLabel, Me.BarButtonItem2, Me.BarButtonItem3})
Me.RibbonControl.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl.ExpandCollapseItem, Me.RibbonControl.SearchEditItem, Me.btnCreateEnvelope, Me.btnEditEnvelope, Me.btnDeleteEnvelope, Me.BarButtonItem1, Me.txtRefreshLabel, Me.btnShowDocument, Me.btnContactReceiver})
resources.ApplyResources(Me.RibbonControl, "RibbonControl")
Me.RibbonControl.MaxItemId = 9
Me.RibbonControl.Name = "RibbonControl"
@ -298,9 +299,25 @@ Partial Class frmMain
'
resources.ApplyResources(Me.txtRefreshLabel, "txtRefreshLabel")
Me.txtRefreshLabel.Id = 6
Me.txtRefreshLabel.ImageOptions.SvgImage = CType(resources.GetObject("txtRefreshLabel.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
Me.txtRefreshLabel.Name = "txtRefreshLabel"
Me.txtRefreshLabel.PaintStyle = DevExpress.XtraBars.BarItemPaintStyle.CaptionGlyph
Me.txtRefreshLabel.Tag = "Aktualisiert: {0}"
'
'btnShowDocument
'
resources.ApplyResources(Me.btnShowDocument, "btnShowDocument")
Me.btnShowDocument.Id = 7
Me.btnShowDocument.ImageOptions.SvgImage = CType(resources.GetObject("btnShowDocument.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
Me.btnShowDocument.Name = "btnShowDocument"
'
'btnContactReceiver
'
resources.ApplyResources(Me.btnContactReceiver, "btnContactReceiver")
Me.btnContactReceiver.Id = 8
Me.btnContactReceiver.ImageOptions.SvgImage = CType(resources.GetObject("btnContactReceiver.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
Me.btnContactReceiver.Name = "btnContactReceiver"
'
'RibbonPage1
'
Me.RibbonPage1.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageEnvelopeActions, Me.RibbonPageGroup1, Me.RibbonPageGroup2})
@ -322,6 +339,13 @@ Partial Class frmMain
Me.RibbonPageGroup1.Name = "RibbonPageGroup1"
resources.ApplyResources(Me.RibbonPageGroup1, "RibbonPageGroup1")
'
'RibbonPageGroup2
'
Me.RibbonPageGroup2.ItemLinks.Add(Me.btnShowDocument)
Me.RibbonPageGroup2.ItemLinks.Add(Me.btnContactReceiver)
Me.RibbonPageGroup2.Name = "RibbonPageGroup2"
resources.ApplyResources(Me.RibbonPageGroup2, "RibbonPageGroup2")
'
'RibbonStatusBar
'
Me.RibbonStatusBar.ItemLinks.Add(Me.txtRefreshLabel)
@ -424,26 +448,11 @@ Partial Class frmMain
Me.RefreshTimer.Enabled = True
Me.RefreshTimer.Interval = 120000
'
'RibbonPageGroup2
'colEnvelopeId
'
Me.RibbonPageGroup2.ItemLinks.Add(Me.BarButtonItem2)
Me.RibbonPageGroup2.ItemLinks.Add(Me.BarButtonItem3)
Me.RibbonPageGroup2.Name = "RibbonPageGroup2"
resources.ApplyResources(Me.RibbonPageGroup2, "RibbonPageGroup2")
'
'BarButtonItem2
'
resources.ApplyResources(Me.BarButtonItem2, "BarButtonItem2")
Me.BarButtonItem2.Id = 7
Me.BarButtonItem2.ImageOptions.SvgImage = CType(resources.GetObject("BarButtonItem2.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
Me.BarButtonItem2.Name = "BarButtonItem2"
'
'BarButtonItem3
'
resources.ApplyResources(Me.BarButtonItem3, "BarButtonItem3")
Me.BarButtonItem3.Id = 8
Me.BarButtonItem3.ImageOptions.SvgImage = CType(resources.GetObject("BarButtonItem3.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
Me.BarButtonItem3.Name = "BarButtonItem3"
resources.ApplyResources(Me.colEnvelopeId, "colEnvelopeId")
Me.colEnvelopeId.FieldName = "Id"
Me.colEnvelopeId.Name = "colEnvelopeId"
'
'frmMain
'
@ -522,7 +531,8 @@ Partial Class frmMain
Friend WithEvents ColHistoryStatus As DevExpress.XtraGrid.Columns.GridColumn
Friend WithEvents RefreshTimer As Timer
Friend WithEvents txtRefreshLabel As DevExpress.XtraBars.BarStaticItem
Friend WithEvents BarButtonItem2 As DevExpress.XtraBars.BarButtonItem
Friend WithEvents BarButtonItem3 As DevExpress.XtraBars.BarButtonItem
Friend WithEvents btnShowDocument As DevExpress.XtraBars.BarButtonItem
Friend WithEvents btnContactReceiver As DevExpress.XtraBars.BarButtonItem
Friend WithEvents RibbonPageGroup2 As DevExpress.XtraBars.Ribbon.RibbonPageGroup
Friend WithEvents colEnvelopeId As DevExpress.XtraGrid.Columns.GridColumn
End Class

View File

@ -219,6 +219,9 @@
<data name="GridEnvelopes.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 0</value>
</data>
<data name="colEnvelopeId.Caption" xml:space="preserve">
<value>GridColumn1</value>
</data>
<data name="colContractType.Caption" xml:space="preserve">
<value>Typ</value>
</data>
@ -369,10 +372,31 @@
<data name="txtRefreshLabel.Caption" xml:space="preserve">
<value>Aktualisiert: {0}</value>
</data>
<data name="BarButtonItem2.Caption" xml:space="preserve">
<data name="txtRefreshLabel.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAC4DAAAC77u/
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5Z
ZWxsb3d7ZmlsbDojRkZCMTE1O30KCS5CbGFja3tmaWxsOiM3MjcyNzI7fQoJLkdyZWVue2ZpbGw6IzAz
OUMyMzt9CgkuUmVke2ZpbGw6I0QxMUMxQzt9Cgkuc3Qwe29wYWNpdHk6MC43NTt9Cgkuc3Qxe29wYWNp
dHk6MC41O30KPC9zdHlsZT4NCiAgPGcgaWQ9IlJlZnJlc2hfMV8iPg0KICAgIDxwYXRoIGQ9Ik0yNC41
LDcuNUMyMi4zLDUuMywxOS4zLDQsMTYsNEMxMC4xLDQsNS4xLDguMyw0LjIsMTRoNC4xYzAuOS0zLjQs
NC02LDcuNy02YzIuMiwwLDQuMiwwLjksNS42LDIuNEwxOCwxNCAgIGg1LjdoNC4xSDI4VjRMMjQuNSw3
LjV6IiBjbGFzcz0iR3JlZW4iIC8+DQogICAgPHBhdGggZD0iTTE2LjIsMjRjLTIuMiwwLTQuMi0wLjkt
NS42LTIuNGwzLjYtMy42SDguNEg0LjRINC4ydjEwbDMuNS0zLjVjMi4yLDIuMiw1LjIsMy41LDguNSwz
LjUgICBDMjIuMSwyOCwyNywyMy43LDI4LDE4aC00LjFDMjMsMjEuNCwxOS45LDI0LDE2LjIsMjR6IiBj
bGFzcz0iR3JlZW4iIC8+DQogIDwvZz4NCjwvc3ZnPgs=
</value>
</data>
<data name="btnShowDocument.Caption" xml:space="preserve">
<value>Dokument anzeigen</value>
</data>
<data name="BarButtonItem2.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<data name="btnShowDocument.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
@ -399,10 +423,10 @@
IGNsYXNzPSJSZWQiIC8+DQogIDwvZz4NCjwvc3ZnPgs=
</value>
</data>
<data name="BarButtonItem3.Caption" xml:space="preserve">
<value>Email Adresse kopieren</value>
<data name="btnContactReceiver.Caption" xml:space="preserve">
<value>Empfänger kontaktieren</value>
</data>
<data name="BarButtonItem3.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<data name="btnContactReceiver.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
@ -883,6 +907,18 @@
<data name="&gt;&gt;txtRefreshLabel.Type" xml:space="preserve">
<value>DevExpress.XtraBars.BarStaticItem, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;btnShowDocument.Name" xml:space="preserve">
<value>btnShowDocument</value>
</data>
<data name="&gt;&gt;btnShowDocument.Type" xml:space="preserve">
<value>DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;btnContactReceiver.Name" xml:space="preserve">
<value>btnContactReceiver</value>
</data>
<data name="&gt;&gt;btnContactReceiver.Type" xml:space="preserve">
<value>DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;RibbonPage1.Name" xml:space="preserve">
<value>RibbonPage1</value>
</data>
@ -901,6 +937,12 @@
<data name="&gt;&gt;RibbonPageGroup1.Type" xml:space="preserve">
<value>DevExpress.XtraBars.Ribbon.RibbonPageGroup, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;RibbonPageGroup2.Name" xml:space="preserve">
<value>RibbonPageGroup2</value>
</data>
<data name="&gt;&gt;RibbonPageGroup2.Type" xml:space="preserve">
<value>DevExpress.XtraBars.Ribbon.RibbonPageGroup, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;ViewReceiversCompleted.Name" xml:space="preserve">
<value>ViewReceiversCompleted</value>
</data>
@ -973,23 +1015,11 @@
<data name="&gt;&gt;RefreshTimer.Type" xml:space="preserve">
<value>System.Windows.Forms.Timer, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;RibbonPageGroup2.Name" xml:space="preserve">
<value>RibbonPageGroup2</value>
<data name="&gt;&gt;colEnvelopeId.Name" xml:space="preserve">
<value>colEnvelopeId</value>
</data>
<data name="&gt;&gt;RibbonPageGroup2.Type" xml:space="preserve">
<value>DevExpress.XtraBars.Ribbon.RibbonPageGroup, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;BarButtonItem2.Name" xml:space="preserve">
<value>BarButtonItem2</value>
</data>
<data name="&gt;&gt;BarButtonItem2.Type" xml:space="preserve">
<value>DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;BarButtonItem3.Name" xml:space="preserve">
<value>BarButtonItem3</value>
</data>
<data name="&gt;&gt;BarButtonItem3.Type" xml:space="preserve">
<value>DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
<data name="&gt;&gt;colEnvelopeId.Type" xml:space="preserve">
<value>DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>frmMain</value>

View File

@ -10,6 +10,7 @@ Imports EnvelopeGenerator.Common
Imports EnvelopeGenerator.Common.My
Imports DevExpress.Charts.Native
Imports DevExpress.XtraGrid.Views.Grid
Imports DevExpress.XtraGrid
Public Class frmMain
Private LogConfig As LogConfig
@ -18,10 +19,8 @@ Public Class frmMain
Private ConfigManager As ConfigManager(Of Config)
Private TempFiles As TempFiles
Private FormHelper As FormHelper
Private GridBuilder As GridBuilder
Private RefreshHelper As RefreshHelper
Private State As State
Private Controller As EnvelopeListController
@ -33,6 +32,7 @@ Public Class frmMain
FormHelper = New FormHelper(LogConfig, Me)
TempFiles = New TempFiles(LogConfig)
TempFiles.Create()
RefreshHelper = New RefreshHelper(ViewEnvelopes, "Id")
Try
ConfigManager = New ConfigManager(Of Config)(LogConfig, Application.UserAppDataPath)
@ -82,8 +82,10 @@ Public Class frmMain
End Sub
Private Sub LoadEnvelopeData()
RefreshHelper.SaveViewInfo()
LoadEnvelopes()
LoadCompletedEnvelopes()
RefreshHelper.LoadViewInfo()
'LoadCharts()
txtRefreshLabel.Caption = String.Format(txtRefreshLabel.Tag, Now)
@ -242,15 +244,18 @@ Public Class frmMain
End If
End Sub
Private Sub GridEnvelopes_ViewRegistered(sender As Object, e As DevExpress.XtraGrid.ViewOperationEventArgs) Handles GridEnvelopes.ViewRegistered
If (e.View.IsDetailView = False) Then
Exit Sub
End If
AddHandler DirectCast(e.View, GridView).CustomDrawCell, AddressOf ViewReceivers_CustomDrawCell
End Sub
Private Sub RefreshTimer_Tick(sender As Object, e As EventArgs) Handles RefreshTimer.Tick
LoadEnvelopeData()
End Sub
Private Sub btnContactReceiver_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles btnContactReceiver.ItemClick
Dim oView As GridView = GridEnvelopes.FocusedView
If oView.Name = ViewReceivers.Name Then
Console.Write("")
Dim oReceiver As EnvelopeReceiver = oView.GetRow(oView.FocusedRowHandle)
Process.Start($"mailto:{oReceiver.Email}")
Else
MsgBox("Bitte wählen Sie einen Empfänger aus dem Reiter Empfänger aus.", MsgBoxStyle.Information, Text)
End If
End Sub
End Class