Allow any number of columns for grids / vector fields

This commit is contained in:
Jonathan Jenne 2021-01-08 16:23:47 +01:00
parent 3e3981ceee
commit a1bd9eb4ee

View File

@ -3247,10 +3247,10 @@ Public Class frmValidator
oValueFromSource = GetVariableValuefromSource(oSourceIndexName, oIDBTyp, oIDBOverride)
If oValueFromSource Is Nothing = False Then
Dim omytype = oValueFromSource.GetType.ToString
LOGGER.Debug($"omytype is [{omytype}]!")
Dim oValueType = oValueFromSource.GetType.ToString
LOGGER.Debug($"oValueType is [{oValueType}]!")
'Es wird gegen ein Vektorfeld nachindexiert
If omytype.Contains("System.Object") Or omytype = "System.Data.DataTable" Or omytype = "System.String" Then
If oValueType.Contains("System.Object") Or oValueType = "System.Data.DataTable" Or oValueType = "System.String" Then
Select Case oTyp
'Tabellendarstellung
Case "TABLE"
@ -3269,49 +3269,59 @@ Public Class frmValidator
LOGGER.Debug($"vektorrow Value {Zeile.ToString}...")
oColValuesfromSource = Split(Zeile, PMDelimiter)
Select Case oDTColumnsPerDevExGrid.Rows.Count
Case 1
oDataSource.Rows.Add(New String() {Zeile.ToString})
Dim oNewRow = oDataSource.NewRow()
For index = 0 To oDTColumnsPerDevExGrid.Rows.Count - 1
If oColValuesfromSource.Length > index Then
oNewRow.Item(index) = oColValuesfromSource(index)
Else
oNewRow.Item(index) = String.Empty
End If
Next
oDataSource.Rows.Add(oNewRow)
'dgv.Rows.Add(New String() {Zeile.ToString})
Case 2
If oColValuesfromSource.Length = 2 Then
oDataSource.Rows.Add(New String() {oColValuesfromSource(0), oColValuesfromSource(1)})
'dgv.Rows.Add(New String() {SpaltenWerte(0), SpaltenWerte(1)})
Else
oDataSource.Rows.Add(New String() {oColValuesfromSource(0), ""})
'dgv.Rows.Add(New String() {SpaltenWerte(0), ""})
End If
Case 3
If oColValuesfromSource.Length = 3 Then
oDataSource.Rows.Add(New String() {oColValuesfromSource(0), oColValuesfromSource(1), oColValuesfromSource(2)})
'dgv.Rows.Add(New String() {SpaltenWerte(0), SpaltenWerte(1), SpaltenWerte(2)})
ElseIf oColValuesfromSource.Length = 2 Then
oDataSource.Rows.Add(New String() {oColValuesfromSource(0), oColValuesfromSource(1), ""})
'dgv.Rows.Add(New String() {SpaltenWerte(0), SpaltenWerte(1), ""})
Else
oDataSource.Rows.Add(New String() {oColValuesfromSource(0), "", ""})
'dgv.Rows.Add(New String() {SpaltenWerte(0), "", ""})
End If
Case 4
If oColValuesfromSource.Length = 4 Then
oDataSource.Rows.Add(New String() {oColValuesfromSource(0), oColValuesfromSource(1), oColValuesfromSource(2), oColValuesfromSource(3)})
'dgv.Rows.Add(New String() {SpaltenWerte(0), SpaltenWerte(1), SpaltenWerte(2), SpaltenWerte(3)})
ElseIf oColValuesfromSource.Length = 3 Then
oDataSource.Rows.Add(New String() {oColValuesfromSource(0), oColValuesfromSource(1), oColValuesfromSource(2), ""})
'dgv.Rows.Add(New String() {SpaltenWerte(0), SpaltenWerte(1), SpaltenWerte(2), ""})
ElseIf oColValuesfromSource.Length = 2 Then
oDataSource.Rows.Add(New String() {oColValuesfromSource(0), oColValuesfromSource(1), "", ""})
'dgv.Rows.Add(New String() {SpaltenWerte(0), SpaltenWerte(1), "", ""})
Else
oDataSource.Rows.Add(New String() {oColValuesfromSource(0), "", "", ""})
'dgv.Rows.Add(New String() {SpaltenWerte(0), "", "", ""})
End If
'Select Case oDTColumnsPerDevExGrid.Rows.Count
' Case 1
' oDataSource.Rows.Add(New String() {Zeile.ToString})
End Select
' 'dgv.Rows.Add(New String() {Zeile.ToString})
' Case 2
' If oColValuesfromSource.Length = 2 Then
' oDataSource.Rows.Add(New String() {oColValuesfromSource(0), oColValuesfromSource(1)})
' 'dgv.Rows.Add(New String() {SpaltenWerte(0), SpaltenWerte(1)})
' Else
' oDataSource.Rows.Add(New String() {oColValuesfromSource(0), ""})
' 'dgv.Rows.Add(New String() {SpaltenWerte(0), ""})
' End If
' Case 3
' If oColValuesfromSource.Length = 3 Then
' oDataSource.Rows.Add(New String() {oColValuesfromSource(0), oColValuesfromSource(1), oColValuesfromSource(2)})
' 'dgv.Rows.Add(New String() {SpaltenWerte(0), SpaltenWerte(1), SpaltenWerte(2)})
' ElseIf oColValuesfromSource.Length = 2 Then
' oDataSource.Rows.Add(New String() {oColValuesfromSource(0), oColValuesfromSource(1), ""})
' 'dgv.Rows.Add(New String() {SpaltenWerte(0), SpaltenWerte(1), ""})
' Else
' oDataSource.Rows.Add(New String() {oColValuesfromSource(0), "", ""})
' 'dgv.Rows.Add(New String() {SpaltenWerte(0), "", ""})
' End If
' Case 4
' If oColValuesfromSource.Length = 4 Then
' oDataSource.Rows.Add(New String() {oColValuesfromSource(0), oColValuesfromSource(1), oColValuesfromSource(2), oColValuesfromSource(3)})
' 'dgv.Rows.Add(New String() {SpaltenWerte(0), SpaltenWerte(1), SpaltenWerte(2), SpaltenWerte(3)})
' ElseIf oColValuesfromSource.Length = 3 Then
' oDataSource.Rows.Add(New String() {oColValuesfromSource(0), oColValuesfromSource(1), oColValuesfromSource(2), ""})
' 'dgv.Rows.Add(New String() {SpaltenWerte(0), SpaltenWerte(1), SpaltenWerte(2), ""})
' ElseIf oColValuesfromSource.Length = 2 Then
' oDataSource.Rows.Add(New String() {oColValuesfromSource(0), oColValuesfromSource(1), "", ""})
' 'dgv.Rows.Add(New String() {SpaltenWerte(0), SpaltenWerte(1), "", ""})
' Else
' oDataSource.Rows.Add(New String() {oColValuesfromSource(0), "", "", ""})
' 'dgv.Rows.Add(New String() {SpaltenWerte(0), "", "", ""})
' End If
'End Select
Next
Else
If omytype = "System.String" Then
If oValueType = "System.String" Then
LOGGER.Debug($"IDB Fill Grid [{oControl.Name}] with String")
oColValuesfromSource = Split(oValueFromSource.ToString, PMDelimiter)
If oColValuesfromSource.Length > 8 Then
@ -3336,7 +3346,7 @@ Public Class frmValidator
oDataSource.Rows.Add(New String() {oColValuesfromSource(0), oColValuesfromSource(1), oColValuesfromSource(2), oColValuesfromSource(3), oColValuesfromSource(4), oColValuesfromSource(5), oColValuesfromSource(6), oColValuesfromSource(7)})
End Select
ElseIf omytype = "System.Data.DataTable" Then
ElseIf oValueType = "System.Data.DataTable" Then
Dim oMyDatatable As DataTable = oValueFromSource
LOGGER.Debug($"IDB Fill Grid [{oControl.Name}] with Datatable - Rows: " & oMyDatatable.Rows.Count)
For Each oRow As DataRow In oMyDatatable.Rows
@ -3387,7 +3397,7 @@ Public Class frmValidator
Next
End Select
Else
LOGGER.Warn($"Could not load Devexpress.Grid [{oControl.Name }] as omytype is [{omytype}]!")
LOGGER.Warn($"Could not load Devexpress.Grid [{oControl.Name }] as omytype is [{oValueType}]!")
End If