MS_30.05.2016

This commit is contained in:
SchreiberM
2016-05-31 09:46:07 +02:00
parent 6a20480e7c
commit ecb4161e6a
7 changed files with 302 additions and 100 deletions

View File

@@ -752,6 +752,137 @@ Public Class ClassControlCommandsUI
Return Nothing
End If
Case "GridControl"
Dim chk_grid As DevExpress.XtraGrid.GridControl
chk_grid = DirectCast(ctrl, DevExpress.XtraGrid.GridControl)
Dim gridview As DevExpress.XtraGrid.Views.Grid.GridView = chk_grid.MainView
Dim SQL_COMAMND = ClassDatabase.Execute_Scalar("SELECT UPPER(SQL_COMMAND_1) FROM TBPMO_CONTROL WHERE GUID = " & CONTROL_ID)
''TODO: Wenn keine Datasource vorhanden, angecheckte einträge als string speichern
If IsNothing(chk_grid.DataSource) Then
Dim result As New List(Of String)
Dim result_string As String
For i As Integer = 0 To gridview.DataRowCount
Dim res = gridview.GetRowCellValue(i, 0)
If CBool(gridview.GetRowCellValue(i, "CHECKED")) = True Then
Dim value = gridview.GetRowCellValue(i, 1).ToString.Trim
result.Add(value)
End If
Next
' Hier wird ein String zurückgegeben, der als VALUE gespeichert werden soll
' Überspringt den Rest der funktion
result_string = String.Join(";", result)
If Not IsNothing(result_string) Then
Return result_string
Else
Return Nothing
End If
Else
Dim result As New List(Of String)
Dim result_string As String
Dim DT As DataTable = chk_grid.DataSource
For Each row As DataRow In DT.Rows
If CBool(row.Item(0)) = True Then
Dim value = row.Item(1).ToString.Trim
result.Add(value)
End If
Next
' Hier wird ein String zurückgegeben, der als VALUE gespeichert werden soll
' Überspringt den Rest der funktion
result_string = String.Join(";", result)
If Not IsNothing(result_string) Then
Return result_string
Else
Return Nothing
End If
End If
'If SQL_COMAMND.ToString.StartsWith("SELECT [RECORD_ID]") Or SQL_COMAMND.ToString.StartsWith("SELECT [RECORD-ID]") Then
' 'Alle Recorddatensätze durchlaufen und überprüfen ob nicht angehakt
' 'Wenn nicht angehakt dann Record löschen
' Dim index As Integer = 0
' For i As Integer = 0 To gridview.DataRowCount
' ' Dim item = chklbx.GetItem(i)
' ' Dim row As DataRowView = CType(item, DataRowView)
' If CBool(gridview.GetRowCellValue(i, "CHECKED")) = False Then
' ' If CInt(row(0)) > 0 Then
' ' 'Überprüfen ob es den Record gibt
' ' Dim SQL = "SELECT COUNT(*) FROM TBPMO_RECORD_CONNECT WHERE RECORD1_ID = " & CURRENT_RECORD_ID & " AND RECORD2_ID = " & CInt(row(0))
' ' If ClassDatabase.Execute_Scalar(SQL) = 1 Then
' ' SQL = "DELETE FROM TBPMO_RECORD_CONNECT WHERE RECORD1_ID = " & CURRENT_RECORD_ID & " AND RECORD2_ID = " & CInt(row(0))
' ' If ClassDatabase.Execute_non_Query(SQL) = True Then
' ' If LogErrorsOnly = False Then ClassLogger.Add(" >> TBPMO_RECORD_CONNECT-Entry after 'deselect CheckedListBox' deleted", False)
' ' End If
' ' End If
' ' End If
' End If
' Next
'End If
''Für jeden gecheckten Eintrag den Record der Stammentität mit dem selektierten linken
'Dim checked_result As New List(Of String)
'Dim checked_result_string As String
'If SQL_COMAMND.ToString.StartsWith("SELECT [RECORD_ID]") Or SQL_COMAMND.ToString.StartsWith("SELECT [RECORD-ID]") Then
' For Each item As Object In DirectCast(ctrl, DevExpress.XtraEditors.CheckedListBoxControl).CheckedItems
' Dim row As DataRowView = CType(item, DataRowView)
' Try
' If CInt(row(0)) > 0 Then
' Dim rid = CInt(row(0))
' Dim checked_value = row(1)
' checked_result.Add(checked_value)
' checked_result_string = String.Join(";", checked_result)
' Dim SQL = "SELECT COUNT(*) FROM TBPMO_RECORD_CONNECT WHERE RECORD1_ID = " & CURRENT_RECORD_ID & " AND RECORD2_ID = " & CInt(row(0))
' If ClassDatabase.Execute_Scalar(SQL) = 0 Then
' If CURRENT_RECORD_ID = 0 Then
' MsgBox("Attention: no current record Selected!", MsgBoxStyle.Exclamation)
' Else
' If ConnectRecord(CURRENT_RECORD_ID, CInt(row(0)), "CheckedListBox;" & ctrl.Name) = True Then
' If LogErrorsOnly = False Then ClassLogger.Add(" >> Checked ListBox record '" & rid.ToString & "' was linked successfully.", False)
' End If
' End If
' End If
' End If
' Catch ex As Exception
' ClassLogger.Add("Error in CheckedListBoxGetControlValue: " & ex.Message, True)
' End Try
' Next
'Else
' For Each item As Object In DirectCast(ctrl, DevExpress.XtraEditors.CheckedListBoxControl).CheckedItems
' Dim row As DataRowView = CType(item, DataRowView)
' If row.DataView.Table.Columns.Count = 1 Then
' Dim checked_value = row(0)
' checked_result.Add(checked_value)
' ElseIf row.DataView.Table.Columns.Count = 2 Then
' Dim checked_value = row(1)
' checked_result.Add(checked_value)
' End If
' checked_result_string = String.Join(";", checked_result)
' Next
'End If
'' Hier wird ein String zurückgegeben, der als VALUE gespeichert werden soll
'' Überspringt den Rest der funktion
'If Not IsNothing(checked_result_string) Then
' 'Dim sql = String.Format("select count(*) from TBPMO_CONTROL_VALUE where CONTROL_ID = {0} and RECORD_ID = {1}", CONTROL_ID, CURRENT_RECORD_ID)
' 'If ClassDatabase.Execute_Scalar(sql) = 0 Then
' ' InsertControlValue(CONTROL_ID, CURRENT_RECORD_ID, "")
' 'End If
' Return checked_result_string
'Else
' 'In jedem Fall Nothing zurückgeben
' Return Nothing
'End If
Case "ListBoxControl"
Dim listbox As DevExpress.XtraEditors.ListBoxControl = DirectCast(ctrl, DevExpress.XtraEditors.ListBoxControl)