WIP
This commit is contained in:
@@ -8,6 +8,7 @@ Imports ImporterShared.Winline
|
||||
Imports DigitalData.Modules.Language
|
||||
Imports DevExpress.XtraEditors.Controls
|
||||
Imports System.Globalization
|
||||
Imports DevExpress.XtraEditors
|
||||
|
||||
Public Class frmRowEditor
|
||||
Private ReadOnly _Columns As List(Of String)
|
||||
@@ -15,9 +16,10 @@ Public Class frmRowEditor
|
||||
Private ReadOnly _Accounts As List(Of Account)
|
||||
Private ReadOnly _DocumentRow As ImporterShared.DocumentRow
|
||||
|
||||
Private ReadOnly DatePicker As New RepositoryItemDateEdit()
|
||||
Private ReadOnly MultilineEditor As New RepositoryItemMemoEdit()
|
||||
Private ReadOnly DatePicker As New RepositoryItemDateEdit
|
||||
Private ReadOnly MultilineEditor As New RepositoryItemMemoEdit
|
||||
Private ReadOnly AccountPicker As New RepositoryItemSearchLookUpEdit
|
||||
Private ReadOnly MaskDateEditor As New RepositoryItemTextEdit
|
||||
|
||||
Private Const COL_KEY = "KEY"
|
||||
Private Const COL_VALUE_ORIGINAL = "VALUE_ORIGINAL"
|
||||
@@ -43,26 +45,31 @@ Public Class frmRowEditor
|
||||
AccountPicker.DisplayMember = "Name"
|
||||
AccountPicker.ValueMember = "Id"
|
||||
|
||||
'DatePicker.CalendarTimeEditing = DevExpress.Utils.DefaultBoolean.False
|
||||
'DatePicker.EditMask = "yyyy-MM-dd"
|
||||
'DatePicker.Mask.MaskType = DevExpress.XtraEditors.Mask.MaskType.DateTimeAdvancingCaret
|
||||
'DatePicker.DisplayFormat.FormatString = "yyyy-MM-dd"
|
||||
DatePicker.DisplayFormat.FormatType = DevExpress.Utils.FormatType.DateTime
|
||||
' DatePicker.DisplayFormat.FormatType = DevExpress.Utils.FormatType.DateTime
|
||||
'DatePicker.DisplayFormat.FormatString = "d"
|
||||
'DatePicker.EditFormat.FormatString = "yyyy-MM-dd"
|
||||
DatePicker.EditFormat.FormatType = DevExpress.Utils.FormatType.DateTime
|
||||
'DatePicker.EditFormat.FormatType = DevExpress.Utils.FormatType.DateTime
|
||||
'DatePicker.EditFormat.FormatString = "d"
|
||||
'DatePicker.Mask.UseMaskAsDisplayFormat = True
|
||||
'DatePicker.Mask.MaskType = DevExpress.XtraEditors.Mask.MaskType.DateTime
|
||||
' DatePicker.Mask.EditMask = "yyyy-MM-dd"
|
||||
|
||||
'AddHandler DatePicker.ParseEditValue, AddressOf DatePicker_ParseEditValue
|
||||
'MaskDateEditor.Mask.EditMask = "yyyy-MM-dd"
|
||||
'MaskDateEditor.Mask.MaskType = DevExpress.XtraEditors.Mask.MaskType.Simple
|
||||
End Sub
|
||||
|
||||
Private Sub DatePicker_ParseEditValue(sender As Object, e As ConvertEditValueEventArgs)
|
||||
If TypeOf e.Value Is String Then
|
||||
Try
|
||||
Dim oDateTime = Date.ParseExact(e.Value.ToString, "yyyy-MM-dd hh:mm:ss", CultureInfo.InvariantCulture)
|
||||
e.Value = oDateTime
|
||||
e.Handled = True
|
||||
Catch ex As Exception
|
||||
|
||||
End Try
|
||||
If TypeOf sender Is RepositoryItemDateEdit Then
|
||||
|
||||
|
||||
Debug.WriteLine($"RepoItem # {e.Value} # {e.Value.GetType.Name}")
|
||||
ElseIf TypeOf sender Is DateEdit Then
|
||||
Debug.WriteLine($"DateEdit # {e.Value} # {e.Value.GetType.Name}")
|
||||
End If
|
||||
End Sub
|
||||
|
||||
@@ -108,7 +115,14 @@ Public Class frmRowEditor
|
||||
End If
|
||||
|
||||
Dim oFieldValue As FieldValue = oField.Value
|
||||
Dim oGridValue = Utils.NotNull(oRow.Item(COL_VALUE_FINAL), String.Empty)
|
||||
Dim oGridValue As String = Utils.NotNull(oRow.Item(COL_VALUE_FINAL), String.Empty)
|
||||
|
||||
If oField.Key = "Datum_Auftrag-Bestellung" And oGridValue.Length > 0 Then
|
||||
If TryParseDate(oGridValue) Is Nothing Then
|
||||
MsgBox($"Datumswert für '{oField.Key}' enthält einen ungüligen Wert. Bitte benutzen Sie das Format 'YYYY-MM-DD'.", MsgBoxStyle.Exclamation, Text)
|
||||
Exit Sub
|
||||
End If
|
||||
End If
|
||||
|
||||
If Not oFieldValue.Final.Equals(oGridValue) Then
|
||||
oFieldValue.Final = Utils.NotNull(oRow.Item(COL_VALUE_FINAL), String.Empty)
|
||||
@@ -126,36 +140,41 @@ Public Class frmRowEditor
|
||||
Close()
|
||||
End Sub
|
||||
|
||||
Private Function TryParseDate(pValue As String)
|
||||
Try
|
||||
Return Date.ParseExact(pValue, "yyyy-MM-dd", CultureInfo.InvariantCulture)
|
||||
Catch ex As Exception
|
||||
Return Nothing
|
||||
End Try
|
||||
End Function
|
||||
|
||||
Private Sub btnApplyFromWinline_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles btnApplyFromWinline.ItemClick
|
||||
Dim oSelectedRow As DataRow = GridView1.GetDataRow(GridView1.FocusedRowHandle)
|
||||
|
||||
If oSelectedRow Is Nothing Then
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
oSelectedRow.Item(COL_VALUE_FINAL) = oSelectedRow.Item(COL_VALUE_EXTERNAL)
|
||||
oSelectedRow.AcceptChanges()
|
||||
CopyValueToFinalColumn(COL_VALUE_EXTERNAL)
|
||||
End Sub
|
||||
|
||||
Private Sub btnApplyFromOriginal_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles btnApplyFromOriginal.ItemClick
|
||||
CopyValueToFinalColumn(COL_VALUE_ORIGINAL)
|
||||
End Sub
|
||||
|
||||
Private Sub CopyValueToFinalColumn(pSourceColumnName As String)
|
||||
Dim oSelectedRow As DataRow = GridView1.GetDataRow(GridView1.FocusedRowHandle)
|
||||
|
||||
If oSelectedRow Is Nothing Then
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
oSelectedRow.Item(COL_VALUE_FINAL) = oSelectedRow.Item(COL_VALUE_ORIGINAL)
|
||||
oSelectedRow.Item(COL_VALUE_FINAL) = oSelectedRow.Item(pSourceColumnName)
|
||||
oSelectedRow.AcceptChanges()
|
||||
GridView1.CloseEditor()
|
||||
End Sub
|
||||
|
||||
|
||||
|
||||
Private Sub GridView1_CustomRowCellEdit(sender As Object, e As CustomRowCellEditEventArgs) Handles GridView1.CustomRowCellEdit
|
||||
Dim oDataRow As DataRow = GridView1.GetDataRow(e.RowHandle)
|
||||
|
||||
If e.Column.FieldName = COL_VALUE_ORIGINAL Or e.Column.FieldName = COL_VALUE_FINAL Then
|
||||
If oDataRow.Item(COL_KEY) = "Datum_Auftrag-Bestellung" Then
|
||||
e.RepositoryItem = DatePicker
|
||||
'e.RepositoryItem = DatePicker
|
||||
'e.RepositoryItem = MaskDateEditor
|
||||
ElseIf e.CellValue.ToString.Length > 100 Then
|
||||
e.RepositoryItem = MultilineEditor
|
||||
ElseIf oDataRow.Item(COL_KEY) = "Fakt_Kontonummer" Or oDataRow.Item(COL_KEY) = "Lief_Kontonummer" Then
|
||||
|
||||
Reference in New Issue
Block a user