JJ Arbeit am neuen Constructor Form

This commit is contained in:
JenneJ
2015-11-03 15:51:24 +01:00
parent a1f8f619ea
commit 0d321282c6
3 changed files with 1051 additions and 458 deletions

View File

@@ -1,6 +1,793 @@
Public Class XtraForm2
Imports DevExpress.Utils
Imports DevExpress.XtraBars.Navigation
Imports DevExpress.XtraEditors
Private Sub NavButton2_ElementClick(sender As Object, e As DevExpress.XtraBars.Navigation.NavElementEventArgs) Handles NavButton2.ElementClick
Public Class XtraForm2
Public CONSTRUCTORID As Integer
Public DT_CONSTRUCT_VIEW As DataTable
Public EBENE2_PARENT_ID As Integer
Public EBENE3_PARENT_ID As Integer
Public ACT_EBENE As Integer
Public SelectedRecordID As Integer
Public PARENT_RECORDID As Integer
Public ACT_EBENE_STRING
Public EBENE1_ENTITY
Public EBENE2_ENTITY
Public EBENE3_ENTITY
Public EBENE1_COLUMNNAME
Public EBENE2_COLUMNNAME
Public EBENE3_COLUMNNAME
Public EBENE1_RECID
Public EBENE2_RECID
Public EBENE3_RECID
Public EBENE1_GRID_RESULT
Public EBENE2_GRID_RESULT
Public EBENE3_GRID_RESULT
Public act_FormViewID
Public DT_SELECTION
Public EBENE_SQLRESULT
Public EDIT_STATE As EditState = EditState.None
Public Enum EditState
None
Insert
Update
End Enum
Private Sub XtraForm2_Load(sender As Object, e As EventArgs) Handles MyBase.Load
CONSTRUCTORID = CURRENT_CONSTRUCTOR_ID
DT_CONSTRUCT_VIEW = ClassDatabase.Return_Datatable("SELECT * FROM TBPMO_FORM_CONSTRUCTOR WHERE GUID = " & CONSTRUCTORID)
Load_Tree_View()
End Sub
Public Sub Update_Status(visible As Boolean, Optional text As String = "", Optional state As EditState = EditState.None)
tssStatus.Text = text
tssStatus.Visible = visible
Select Case state
Case EditState.Insert
tssStatus.BackColor = Color.Yellow
Case EditState.Update
tssStatus.BackColor = Color.LightBlue
Case Else
tssStatus.BackColor = Color.LightGray
End Select
End Sub
Sub Load_Tree_View()
Try
Dim sql As String = "SELECT * from VWPMO_CONSTRUCTOR_FORMS WHERE PARENT_ID = 0 AND CONSTRUCT_ID = " & CONSTRUCTORID & " ORDER BY SEQUENCE"
Dim dt As DataTable = ClassDatabase.Return_Datatable(sql)
Dim GRANDFATHERNODE1 As TreeNode
Dim GRANDFATHERNODE2 As TreeNode
Dim FATHERNODE As TreeNode
If dt Is Nothing Then
MsgBox("No Result for Level 1-Entities - Check logfile", MsgBoxStyle.Exclamation)
Else
If dt.Rows.Count = 1 Then
TreeViewLevelSelect.Nodes.Clear()
GRANDFATHERNODE1 = TreeViewLevelSelect.Nodes.Add(dt.Rows(0).Item("FORM_TITLE").ToString)
GRANDFATHERNODE1.Tag = dt.Rows(0).Item("FORM_ID")
'Ebene 2 Entities herausfinden
sql = "SELECT * from VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = " & CONSTRUCTORID & " AND PARENT_ID = " & GRANDFATHERNODE1.Tag & " ORDER BY SEQUENCE"
dt = ClassDatabase.Return_Datatable(sql)
If dt Is Nothing Then
MsgBox("No Result for Level 2-Entities - Check logfile", MsgBoxStyle.Exclamation)
Else
If dt.Rows.Count = 0 Then
'tslblStatusMain_show(True, "No Result for Level 2-Entities")
' MsgBox("Not allowed: No Result for Level 2-Entities! Check Config FormConstructor.", MsgBoxStyle.Exclamation)
Else
For Each rowentity2 As DataRow In dt.Rows
FATHERNODE = GRANDFATHERNODE1.Nodes.Add(rowentity2.Item("FORM_TITLE").ToString)
FATHERNODE.Tag = rowentity2.Item("FORM_ID")
EBENE2_PARENT_ID = dt.Rows(0).Item("PARENT_ID")
'Ebene 3 Entities herausfinden
Dim DT3 As DataTable
sql = "SELECT * from VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = " & CONSTRUCTORID & " AND PARENT_ID = " & FATHERNODE.Tag & " ORDER BY SEQUENCE"
DT3 = ClassDatabase.Return_Datatable(sql)
If DT3 Is Nothing Then
MsgBox("No Result for Level 3-Entities - Check logfile", MsgBoxStyle.Exclamation)
Else
For Each rowEntity3 As DataRow In DT3.Rows
Dim CHILDNODE As TreeNode = FATHERNODE.Nodes.Add(rowEntity3.Item("FORM_TITLE").ToString)
CHILDNODE.Tag = rowEntity3.Item("FORM_ID")
EBENE3_PARENT_ID = rowEntity3.Item("PARENT_ID")
Next
End If
Next
End If
End If
ElseIf dt.Rows.Count = 2 Then
TreeViewLevelSelect.Nodes.Clear()
GRANDFATHERNODE1 = TreeViewLevelSelect.Nodes.Add(dt.Rows(0).Item("FORM_TITLE").ToString)
GRANDFATHERNODE1.Tag = dt.Rows(0).Item("FORM_ID")
GRANDFATHERNODE2 = TreeViewLevelSelect.Nodes.Add(dt.Rows(1).Item("FORM_TITLE").ToString)
GRANDFATHERNODE2.Tag = dt.Rows(1).Item("FORM_ID")
Else
MsgBox("More than 2 results #(" & dt.Rows.Count & ") for Level 1-Entities!", MsgBoxStyle.Exclamation)
End If
TreeViewLevelSelect.ExpandAll()
TreeViewLevelSelect.Nodes(0).EnsureVisible()
End If
Catch ex As Exception
MsgBox("Error in Load TreeView Ebene:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
End Try
End Sub
End Class
Sub Load_Tree_View_Data()
ACT_EBENE = 0
If Not TreeViewLevelSelect.SelectedNode Is Nothing Then
Try
Dim selnode As TreeNode = TreeViewLevelSelect.SelectedNode
If (selnode.Parent IsNot Nothing) Then
If (selnode.Parent.GetType() Is GetType(TreeNode)) Then
ACT_EBENE = 2
Dim pnode As TreeNode = selnode.Parent
If (pnode.Parent IsNot Nothing) Then
If (selnode.Parent.GetType() Is GetType(TreeNode)) Then
ACT_EBENE = 3
End If
End If
End If
Else
ACT_EBENE = 1
End If
Catch ex As Exception
MsgBox("Error in Get ACT_EBENE:" & vbNewLine & ex.Message, MsgBoxStyle.Exclamation)
End Try
If LogErrorsOnly = False Then ClassLogger.Add(">> Tag (FormID) After Select: " & TreeViewLevelSelect.SelectedNode.Tag.ToString, False)
Load_Entity_Data(TreeViewLevelSelect.SelectedNode.Tag)
End If
End Sub
Sub Load_Entity_Data(FormId As Integer)
Try
Me.Cursor = Cursors.WaitCursor
Dim IS_SINGLE_RECORD As Boolean
Dim LOAD_DIRECT As Boolean
'VerknüpfungenToolStripMenuItem.Enabled = False
CURRENT_FORM_TYPE = ClassDatabase.Execute_Scalar("SELECT FORM_TYPE_ID FROM TBPMO_FORM WHERE GUID = " & FormId)
IS_SINGLE_RECORD = ClassDatabase.Execute_Scalar("SELECT SINGLE_RECORD FROM TBPMO_FORM WHERE GUID = " & FormId)
LOAD_DIRECT = ClassDatabase.Execute_Scalar("SELECT LOAD_DIRECT FROM VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = " & CONSTRUCTORID & " AND FORM_ID = " & FormId)
SelectedRecordID = 0
Dim DT As DataTable
Dim sql As String = "SELECT PARENT_ID FROM VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = " & CONSTRUCTORID & " AND FORM_ID = " & FormId
Dim PARENT_ID = ClassDatabase.Execute_Scalar(sql)
If PARENT_ID Is Nothing Then
MsgBox("Error in GetParentID for selectedNode - Check Logfile", MsgBoxStyle.Exclamation)
Exit Sub
End If
'dataloaded = False
'Abhängig von der Entität die Selektierungs-Daten laden
Dim _sql As String
Select Case ACT_EBENE
Case 1
PARENT_RECORDID = 0
CURRENT_PARENTID = 0
EBENE1_ENTITY = TreeViewLevelSelect.SelectedNode.Text
ACT_EBENE_STRING = EBENE1_ENTITY
If LogErrorsOnly = False Then ClassLogger.Add(">> Ebene 1 in TreeView selektiert", False)
EBENE2_ENTITY = ""
EBENE3_ENTITY = ""
'tslblEntity2.Visible = False
'tslblEntity3.Visible = False
EBENE1_COLUMNNAME = ClassDatabase.Execute_Scalar("SELECT COLUMN_NAME1 FROM VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = " & CONSTRUCTORID & " AND FORM_ID = " & FormId)
EBENE2_COLUMNNAME = ""
EBENE3_COLUMNNAME = ""
EBENE2_GRID_RESULT = Nothing
EBENE3_GRID_RESULT = Nothing
_sql = ClassDatabase.Execute_Scalar("SELECT SQL_SELECT_EBENE1 FROM VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = " & CONSTRUCTORID & " AND FORM_ID = " & FormId)
Case 2
Dim Level1Select = ClassDatabase.Execute_Scalar("SELECT LEVEL1_SELECT FROM VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = " & CONSTRUCTORID & " AND FORM_ID = " & FormId)
If CBool(Level1Select) = False And CURRENT_FORM_TYPE <> 5 And EBENE1_RECID = 0 Then
MsgBox("Entität '" & TreeViewLevelSelect.SelectedNode.Text & "' kann nicht ohne Auswahl eines Ebene 1 Datensatzes gewählt werden!", MsgBoxStyle.Exclamation)
TreeViewLevelSelect.SelectedNode = TreeViewLevelSelect.SelectedNode.Parent
Exit Sub
End If
EBENE2_ENTITY = TreeViewLevelSelect.SelectedNode.Text
ACT_EBENE_STRING = EBENE2_ENTITY
If LogErrorsOnly = False Then ClassLogger.Add(">> Ebene 2 in TreeView selektiert", False)
EBENE3_ENTITY = ""
'Parent-ID setzen
If EBENE1_RECID > 0 Then
PARENT_RECORDID = EBENE1_RECID
CURRENT_PARENTID = EBENE1_RECID
End If
'tslblEntity3.Visible = False
Select Case CURRENT_FORM_TYPE
Case 5
If GET_GROUP_RECORD(FormId) = True Then
EBENE2_RECID = CURRENT_RECORD_ID
End If
End Select
EBENE2_COLUMNNAME = ClassDatabase.Execute_Scalar("SELECT COLUMN_NAME1 FROM VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = " & CONSTRUCTORID & " AND FORM_ID = " & FormId)
EBENE3_COLUMNNAME = ""
'Wenn bereits ein Record für Ebene 1 gewählt wurde dann einschränken
If EBENE1_RECID > 0 Then
_sql = ClassDatabase.Execute_Scalar("SELECT SQL_SELECT_EBENE2 FROM VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = " & CONSTRUCTORID & " AND FORM_ID = " & FormId)
_sql = _sql.Replace("@RecordID", EBENE1_RECID)
Else
_sql = ClassDatabase.Execute_Scalar("SELECT SQL_SELECT_EBENE1 FROM VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = " & CONSTRUCTORID & " AND FORM_ID = " & FormId)
End If
EBENE2_GRID_RESULT = Nothing
EBENE3_GRID_RESULT = Nothing
Case 3
Select Case CURRENT_FORM_TYPE
Case 5
If GET_GROUP_RECORD(FormId) = True Then
EBENE3_RECID = CURRENT_RECORD_ID
End If
End Select
If EBENE2_RECID = 0 Then
MsgBox("Entität '" & TreeViewLevelSelect.SelectedNode.Text & "' kann nicht ohne Auswahl eines Ebene 1 Datensatzes gewählt werden!", MsgBoxStyle.Exclamation)
TreeViewLevelSelect.SelectedNode = TreeViewLevelSelect.SelectedNode.Parent
Exit Sub
End If
EBENE3_ENTITY = TreeViewLevelSelect.SelectedNode.Text
ACT_EBENE_STRING = EBENE3_ENTITY
If LogErrorsOnly = False Then ClassLogger.Add(">> Ebene 3 in TreeView selektiert", False)
'Parent-ID setzen
If EBENE2_RECID > 0 Then
PARENT_RECORDID = EBENE2_RECID
CURRENT_PARENTID = EBENE2_RECID
End If
EBENE3_COLUMNNAME = ClassDatabase.Execute_Scalar("SELECT COLUMN_NAME1 FROM VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = " & CONSTRUCTORID & " AND FORM_ID = " & FormId)
'Wenn bereits ein Record für Ebene 1 gewählt wurde dann eisnchränken
If EBENE2_RECID > 0 Then
Try
_sql = ClassDatabase.Execute_Scalar("SELECT SQL_SELECT_EBENE2 FROM VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = " & CONSTRUCTORID & " AND FORM_ID = " & FormId, True)
_sql = _sql.Replace("@RecordID", EBENE2_RECID)
Catch ex As Exception
End Try
Else
MsgBox("Entität kann nicht ohne Auswahl eines Ebene 2 Datensatzes gewählt werden!", MsgBoxStyle.Exclamation)
'Grid leeren
GridControlSelection.DataSource = Nothing
grvwSelection.Columns.Clear()
Me.Cursor = Cursors.Default
Exit Sub
End If
EBENE3_GRID_RESULT = Nothing
Case 4
End Select
CURRENT_FORM_ID = FormId
CURRENT_ENTITYSTRING = ACT_EBENE_STRING
CURRENT_PARENTID = PARENT_RECORDID
act_FormViewID = ClassDatabase.Execute_Scalar("SELECT GUID FROM TBPMO_FORM_VIEW where FORM_ID = " & FormId)
'If EDIT_STATE = "none" Then
' 'Die Controls der Entität laden
' Load_Controls(act_FormViewID)
' set_pnlsize()
'End If
CURRENT_FORMVIEW_ID = act_FormViewID
'Überprüfen ob windream Dos angezeigt werden sollen?
'Check_windream_Show(act_FormViewID)
'If windream_Docshow = True Then
' Clear_Windream_ResultList()
' If WD_ShowEnitityDocs = True Then
' RUN_WD_SEARCH("", "ENTITY")
' End If
'End If
' Me.pnlDetails.Enabled = False
'Me.tsbtnshowWorkflowtasks.Enabled = False
'tsbtnRecordAdd.Enabled = True
Select Case CURRENT_FORM_TYPE
Case 5
'Nur eine Gruppen-Entität: d.h. es wird nur die Dateientab angezeigt
Console.WriteLine("OnlyGroupType")
'TabPageDetails.PageVisible = False
'Anzeige_Selected_Entity()
'tsbtnRecordAdd.Visible = False
'tsbtnRecorddelete.Visible = False
'tsbtnRecordSave.Visible = False
Case Else
'tsbtnRecordAdd.Visible = True
'tsbtnRecorddelete.Visible = True
'tsbtnRecordSave.Visible = True
'TabPageDetails.PageVisible = True
Dim Beschreibung = ClassDatabase.Execute_Scalar("SELECT FORM_TITLE FROM TBPMO_FORM_VIEW WHERE GUID = " & act_FormViewID)
'TabPageDetails.Text = "Detaileingabe zu " & Beschreibung
'Den Spaltennamen für die Selektion laden
sql = "SELECT COLUMN_NAME1 FROM VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = " & CONSTRUCTORID & " AND FORM_ID = " & FormId
'Jetzt die Datensätze zur Entität laden
CURRENT_ENTITYSQL = _sql
Dim DTEntity As DataTable = ClassDatabase.Return_Datatable(CURRENT_ENTITYSQL, "LoadEntityData - Get DTEntity")
Dim primaryKey(1) As DataColumn
primaryKey(0) = DTEntity.Columns("Record-ID")
DTEntity.PrimaryKey = primaryKey
LoadGrid_Selection(_sql, DTEntity)
'If LOAD_DIRECT = True Then
' Dim sql1 = CURRENT_ENTITYSQL
' sql1.Replace("T.*", "TOP 1 [Record-ID]")
' Dim id = ClassDatabase.Execute_Scalar(sql1, True)
' If Not id Is Nothing Then
' If LogErrorsOnly = False Then ClassLogger.Add(">> Load Record directly - RecordID: " & CURRENT_RECORD_ID, False)
' Load_Record_Data()
' End If
'Else
'End If
'Überprüfen ob es für diese Entität Wiedervorlagen gibt?
'Check_FOLLOWUP_IsConfigured(CURRENT_FORM_ID)
End Select
'Load_Templates()
Me.Cursor = Cursors.Default
'dataloaded = True
Catch ex As Exception
MsgBox("Error in Load_Entity_Data:" & vbNewLine & ex.Message, MsgBoxStyle.Exclamation)
End Try
End Sub
Private Function GET_GROUP_RECORD(FORM_ID As Integer)
Dim sqlRecord As String = "select guid from TBPMO_RECORD where Form_ID = " & FORM_ID
Dim recid = ClassDatabase.Execute_Scalar(sqlRecord, True)
If IsNothing(recid) Then
If ClassControlCommandsUI.CreateRecord(FORM_ID) = True Then
recid = ClassControlCommandsUI.GetLastRecord
If IsNothing(recid) Then
CURRENT_RECORD_ID = recid
ClassControlCommandsUI.ConnectRecord(CURRENT_PARENTID, CURRENT_RECORD_ID, "Group-Entity Link")
Else
Return False
End If
Else
Return False
End If
Else
Try
CURRENT_RECORD_ID = CInt(recid)
Catch ex As Exception
MsgBox("Error while getting CURRENT_RECORDID: " & vbNewLine & ex.Message, MsgBoxStyle.Critical)
Return False
End Try
End If
'Refresh_CreatedChangedRecordByID(CURRENT_RECORD_ID)
Return True
End Function
Private Function LoadGrid_Selection(Grid_SQL As String, Datatable_Grid As DataTable)
Try
DT_SELECTION = Datatable_Grid
EBENE_SQLRESULT = Grid_SQL
Dim i = EBENE_SQLRESULT.ToLower.IndexOf("from")
EBENE_SQLRESULT = EBENE_SQLRESULT.ToLower.Substring(i)
' Alle Checkboxen für aktuelle Ansicht heraussuchen
Dim sqlcheck As String = "SELECT CONTROL_COLUMN FROM VWPMO_VALUES WHERE CONTROL_TYPE_ID in (10,11) AND FORM_ID = " & CURRENT_FORM_ID
Dim dtcheck As DataTable = ClassDatabase.Return_Datatable(sqlcheck)
Dim listcheck As New List(Of String)
'Liste von allen Spaltentiteln mit Checkbox erstellen
If dtcheck.Rows.Count > 0 Then
For Each row As DataRow In dtcheck.Rows
listcheck.Add(row.Item(0))
Next
End If
'Duplikate entfernen
listcheck = listcheck.Distinct().ToList()
'Grid leeren
GridControlSelection.DataSource = Nothing
grvwSelection.Columns.Clear()
'Databinding Neu
Me.BindingSource_Entity.DataSource = Datatable_Grid
GridControlSelection.DataSource = BindingSource_Entity
' Den Editor Initialisieren und Optionen setzen
'CheckBoxEditorForDisplay = New RepositoryItemCheckEdit()
'CheckBoxEditorForDisplay.ValueChecked = 1
'CheckBoxEditorForDisplay.ValueUnchecked = 0
' Alle Checkbox Spalten durchgehen und CheckBoxEditor zuweisen
'For Each col As String In listcheck
' grvwSelection.GridControl.RepositoryItems.Add(CheckBoxEditorForDisplay)
' If Not IsNothing(grvwSelection.Columns(col)) Then
' grvwSelection.Columns(col).ColumnEdit = CheckBoxEditorForDisplay
' End If
'Next
grvwSelection.Columns("Record-ID").OptionsColumn.AllowShowHide = False
'Load_GridSelection_Layout()
'HideColumns()
Dim selnode As TreeNode = TreeViewLevelSelect.SelectedNode
Dim origtext As String = selnode.Text
If origtext.Contains(" (") Then
Dim existingstring = origtext.Substring(0, origtext.IndexOf("(") - 1)
selnode.Text = existingstring & " (" & grvwSelection.RowCount & ")"
Else
selnode.Text = selnode.Text & " (" & grvwSelection.RowCount & ")"
End If
Catch ex As Exception
MsgBox("Error in LoadGrid_Selection:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
Return False
End Try
Return True
End Function
Sub SelectedRecord_ShowData(GridColumn_String As String, Optional DirectRecID As Integer = 0)
Try
'Me.pnlDetails.Visible = True
'ZeigeRecordLogsToolStripMenuItem.Enabled = False
If DirectRecID = 0 Then
If LogErrorsOnly = False Then ClassLogger.Add(">> Record wird über Datagrid focusedRow geladen", False)
'Überhaupt Columns in Grid?
If grvwSelection.Columns.Count = 0 Then
'Me.pnlDetails.Enabled = False
'Me.tsbtnshowWorkflowtasks.Enabled = False
'tsstatus_Detail_show(True, "Keine Columns in Grid")
Exit Sub
End If
'Überhaupt Rows in Grid?
If grvwSelection.RowCount > 0 Then
Dim Grid_RecordID = grvwSelection.GetFocusedRowCellValue(grvwSelection.Columns(GridColumn_String))
If Grid_RecordID Is Nothing = False Then
SelectedRecordID = Grid_RecordID
CURRENT_RECORD_ID = Grid_RecordID
Else
'tsstatus_Detail_show(True, "Grid_RecordID konnte nicht gewählt werden!")
ClassLogger.Add(">> Grid_RecordID konnte nicht gewählt werden - SelectedRecord_ShowData", True)
Exit Sub
End If
End If
Else 'Record wird direkt geladen
If LogErrorsOnly = False Then ClassLogger.Add(">> Record wird DIREKT geladen", False)
SelectedRecordID = DirectRecID
CURRENT_RECORD_ID = DirectRecID
End If
Dim Record_Changes As String = "SELECT count(GUID) FROM VWPMO_RECORD_CHANGES WHERE RECORD_ID = " & CURRENT_RECORD_ID
Dim RC = ClassDatabase.Execute_Scalar(Record_Changes)
If Not RC Is Nothing Then
If RC > 0 Then
'ZeigeRecordLogsToolStripMenuItem.Enabled = True
End If
End If
'Die aktuelle Ebene überprüfen und den Datensatz übergeben, ebenso den PARENT-Record setzen
Select Case ACT_EBENE
Case 1
PARENT_RECORDID = 0
EBENE1_RECID = SelectedRecordID
CURRENT_PARENTID = EBENE1_RECID
If Not EBENE1_COLUMNNAME Is Nothing Then
EBENE1_GRID_RESULT = Get_GridResult(EBENE1_COLUMNNAME)
'---
Dim cat As TileNavCategory = LoadLevel1Nav()
navPane.Categories.Clear()
navPane.Categories.Add(cat)
End If
Case 2
EBENE2_RECID = SelectedRecordID
If Not EBENE2_COLUMNNAME Is Nothing Then
EBENE2_GRID_RESULT = Get_GridResult(EBENE2_COLUMNNAME)
'Dim sql As String = "select @p " & EBENE_SQLRESULT & " where [Record-ID] = " & SelectedRecordID
'sql = sql.Replace("@p", EBENE2_COLUMNNAME)
'Dim result = ClassDatabase.Execute_Scalar(sql)
'EBENE2_GRID_RESULT = result 'grvwSelection.GetFocusedRowCellValue(grvwSelection.Columns(EBENE2_COLUMNNAME))
Dim cat As TileNavCategory = LoadLevel1Nav()
navPane.Categories.Clear()
navPane.Categories.Add(cat)
Dim item As TileNavItem = LoadLevel2Nav()
cat.Items.Add(item)
End If
If EBENE1_RECID > 0 Then
PARENT_RECORDID = EBENE1_RECID
CURRENT_PARENTID = EBENE1_RECID
Else
CURRENT_PARENTID = EBENE2_RECID
End If
Case 3
EBENE3_RECID = SelectedRecordID
If Not EBENE3_COLUMNNAME Is Nothing Then
EBENE3_GRID_RESULT = Get_GridResult(EBENE3_COLUMNNAME)
'EBENE3_GRID_RESULT = grvwSelection.GetFocusedRowCellValue(grvwSelection.Columns(EBENE3_COLUMNNAME))
Dim cat As TileNavCategory = LoadLevel1Nav()
navPane.Categories.Clear()
navPane.Categories.Add(cat)
Dim item As TileNavItem = LoadLevel2Nav()
cat.Items.Add(item)
Dim subitem As TileNavSubItem = LoadLevel3Nav()
item.SubItems.Add(subitem)
End If
If EBENE2_RECID > 0 Then
PARENT_RECORDID = EBENE2_RECID
CURRENT_PARENTID = EBENE2_RECID
End If
End Select
'Me.pnlDetails.Enabled = True
'Me.tsbtnshowWorkflowtasks.Enabled = True
'Me.tsbtnshowTaskoverview.Enabled = True
'tsstatus_Detail_show(False, "")
Catch ex As Exception
MsgBox("Error in SelectedRecord_ShowData:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
End Try
End Sub
Function Get_GridResult(Columnname As String)
Dim result As String = grvwSelection.GetFocusedRowCellValue(grvwSelection.Columns(Columnname))
If result = String.Empty Then
Return "No Column configured"
Else
Return result
End If
End Function
Function GetSelected_RecordID()
Try
If grvwSelection.Columns.Count = 0 Then
'Me.pnlDetails.Enabled = False
'Me.tsbtnshowWorkflowtasks.Enabled = False
'tsstatus_Detail_show(True, "Keine Columns in Grid")
Return Nothing
End If
'Überhaupt Rows in Grid?
If grvwSelection.RowCount > 0 Then
Dim Grid_RecordID = grvwSelection.GetFocusedRowCellValue(grvwSelection.Columns("Record-ID"))
If Grid_RecordID Is Nothing = False Then
Return Grid_RecordID
Else
'tsstatus_Detail_show(True, "Grid_RecordID konnte nicht gewählt werden!")
'ClassLogger.Add(">> Grid_RecordID konnte nicht gewählt werden - SelectedRecord_ShowData", True)
Return Nothing
End If
Else
Return Nothing
End If
Catch ex As Exception
End Try
End Function
Private Sub grvwSelection_FocusedRowChanged(sender As Object, e As DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs) Handles grvwSelection.FocusedRowChanged
'If vFormClosing = True Or SaveRoutine_Active = True Then
' Exit Sub
'End If
'Check_Record_Changed()
Load_Record_Data()
'If dataloaded = True Then
' If LogErrorsOnly = False Then ClassLogger.Add(">> grvwSelection_FocusedRowChanged - EditState: " & EDIT_STATE, False)
' Dim selRecID = GetSelected_RecordID()
' If Not selRecID Is Nothing And selRecID <> SelectedRecordID Or EDIT_STATE = "insert" Then
' Focused_Row_Column_Changed()
' Else
' 'Console.WriteLine("SelRecordID identisch")
' End If
'End If
End Sub
Sub Load_Record_Data()
Select Case EDIT_STATE
Case EditState.None
'Ganz normalerDatensatzwechsel Wechsel
SelectedRecord_ShowData("Record-ID")
'Refresh_Treeview_SelectedData()
'tslblStatusMain_show(False, "")
Case EditState.Insert
'Refresh_Treeview_SelectedData()
Case EditState.Update
' Refresh_Treeview_SelectedData()
End Select
'Select Case TCDetails.SelectedTabPageIndex
' Case 0
' 'Die Values in die Controls laden
' If EDIT_STATE = "none" Then
' 'TabPageDetails.Text = "Detaileingabe zu '" & ACT_EBENE_STRING & "' - Record(" & SelectedRecordID & ")"
' 'Die Daten auf dem Panel laden
' ClassControlValues.LoadControlValues(SelectedRecordID, CURRENT_FORM_ID, CtrlBuilder.AllControls)
' 'Load_Control_Values(CtrlBuilder.AllControls)
' 'Refresh_Treeview_SelectedData()
' RECORD_CHANGED = False
' End If
' Case 1
' RUN_WD_SEARCH(WD_Suche, "RECORD")
' Case 2
' If FOLLOW_UPisActive = True Then Refresh_FollowUps()
'End Select
'DT_FU_Record = Nothing
'VerknüpfungenToolStripMenuItem.Enabled = True
'If FOLLOW_UPisActive = True Then Refresh_FollowUp_TabHeader()
'Refresh_CreatedChangedRecordByID(SelectedRecordID)
Anzeige_Selected_Entity()
'Show_act_WFTask()
'Get_RecordCounts_Nodes()
'Refresh_TaskOverview()
End Sub
Private Sub Anzeige_Selected_Entity()
'Try
' 'Me.tslblEntity1.Visible = False
' 'Me.tslblEntity2.Visible = False
' 'Me.tslblEntity3.Visible = False
' tslblEntity.Text = ""
' 'TileControl1.Groups(0).Items.Clear()
' Select Case ACT_EBENE
' Case 1
' tslblEntity.Text = EBENE1_ENTITY & " - " & EBENE1_GRID_RESULT
' 'tslblEntity1.Text = EBENE1_ENTITY & " - " & EBENE1_GRID_RESULT
' 'Me.tslblEntity1.Visible = True
' pnlNavButtons.Controls.Clear()
' Create_NavButton(1, EBENE1_GRID_RESULT)
' Case 2
' If CURRENT_FORM_TYPE = 5 Then
' tslblEntity.Text = EBENE1_ENTITY & " - " & EBENE1_GRID_RESULT & " #### Gruppen-Entität: " & EBENE2_ENTITY
' 'tslblEntity1.Text = EBENE1_ENTITY & " - " & EBENE1_GRID_RESULT
' 'tslblEntity2.Text = "Gruppen-Entität: " & EBENE2_ENTITY
' 'Me.tslblEntity1.Visible = True
' 'Me.tslblEntity2.Visible = True
' pnlNavButtons.Controls.Clear()
' Create_NavButton(1, EBENE1_GRID_RESULT)
' Create_NavButton(2, EBENE2_ENTITY)
' Exit Sub
' End If
' If EBENE1_GRID_RESULT Is Nothing = False Then
' tslblEntity.Text = EBENE1_ENTITY & " - " & EBENE1_GRID_RESULT & " #### " & EBENE2_ENTITY & " - " & EBENE2_GRID_RESULT
' 'tslblEntity1.Text = EBENE1_ENTITY & " - " & EBENE1_GRID_RESULT
' pnlNavButtons.Controls.Clear()
' Create_NavButton(1, EBENE1_GRID_RESULT)
' Create_NavButton(2, EBENE2_GRID_RESULT)
' 'Me.tslblEntity1.Visible = True
' 'Me.tslblEntity2.Visible = True
' Else
' ' tslblEntity1.Text = EBENE2_ENTITY & " - " & EBENE2_GRID_RESULT
' tslblEntity.Text = EBENE2_ENTITY & " - " & EBENE2_GRID_RESULT
' 'Me.tslblEntity1.Visible = True
' Create_NavButton(1, EBENE2_GRID_RESULT)
' End If
' Case 3
' If CURRENT_FORM_TYPE = 5 Then
' 'tslblEntity1.Text = EBENE1_ENTITY & " - " & EBENE1_GRID_RESULT
' 'tslblEntity2.Text = EBENE2_ENTITY & " - " & EBENE2_GRID_RESULT
' 'tslblEntity3.Text = "Gruppen-Entität: " & EBENE3_GRID_RESULT
' pnlNavButtons.Controls.Clear()
' Create_NavButton(1, EBENE1_GRID_RESULT)
' Create_NavButton(2, EBENE2_ENTITY)
' Create_NavButton(3, EBENE3_ENTITY)
' 'Me.tslblEntity1.Visible = True
' 'Me.tslblEntity2.Visible = True
' 'Me.tslblEntity3.Visible = True
' Exit Sub
' End If
' If EBENE1_GRID_RESULT Is Nothing = False Then
' 'tslblEntity1.Text = EBENE1_ENTITY & " - " & EBENE1_GRID_RESULT
' 'tslblEntity2.Text = EBENE2_ENTITY & " - " & EBENE2_GRID_RESULT
' 'tslblEntity3.Text = EBENE3_ENTITY & " - " & EBENE3_GRID_RESULT
' tslblEntity.Text = EBENE1_ENTITY & " - " & EBENE1_GRID_RESULT & " #### " & EBENE2_ENTITY & " - " & EBENE2_GRID_RESULT & _
' " #### " & EBENE3_ENTITY & " - " & EBENE3_GRID_RESULT
' 'Me.tslblEntity1.Visible = True
' 'Me.tslblEntity2.Visible = True
' 'Me.tslblEntity3.Visible = True
' pnlNavButtons.Controls.Clear()
' Create_NavButton(1, EBENE1_GRID_RESULT)
' Create_NavButton(2, EBENE2_GRID_RESULT)
' Create_NavButton(3, EBENE3_GRID_RESULT)
' Else
' 'tslblEntity1.Text = EBENE2_ENTITY & " - " & EBENE2_GRID_RESULT
' 'tslblEntity2.Text = EBENE3_ENTITY & " - " & EBENE3_GRID_RESULT
' tslblEntity.Text = EBENE2_ENTITY & " - " & EBENE2_GRID_RESULT & " #### " & EBENE3_ENTITY & " - " & EBENE3_GRID_RESULT
' ' Me.tslblEntity1.Visible = True
' 'Me.tslblEntity2.Visible = True
' pnlNavButtons.Controls.Clear()
' Create_NavButton(1, EBENE2_GRID_RESULT)
' Create_NavButton(2, EBENE3_GRID_RESULT)
' End If
' End Select
'Catch ex As Exception
' MsgBox("Error in Anzeige_Selected_Entity:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
'End Try
End Sub
Private Sub TreeViewEbeneSelect_AfterSelect(sender As Object, e As TreeViewEventArgs) Handles TreeViewLevelSelect.AfterSelect
Load_Tree_View_Data()
End Sub
Private Sub btn_Refresh_ElementClick(sender As Object, e As NavElementEventArgs) Handles btn_Refresh.ElementClick
Load_Tree_View_Data()
End Sub
Private Function LoadLevel1Nav()
Dim cat As New TileNavCategory()
cat.Caption = EBENE1_GRID_RESULT
cat.Name = EBENE1_GRID_RESULT
cat.TileText = EBENE1_GRID_RESULT
navPane.SelectedElement = cat
Return cat
End Function
Private Function LoadLevel2Nav()
Dim item As New TileNavItem()
item.Caption = EBENE2_GRID_RESULT
item.Name = EBENE2_GRID_RESULT
item.TileText = EBENE2_GRID_RESULT
navPane.SelectedElement = item
Return item
End Function
Private Function LoadLevel3Nav()
Dim subitem As New TileNavSubItem()
subitem.Caption = EBENE3_GRID_RESULT
subitem.Name = EBENE3_GRID_RESULT
subitem.TileText = EBENE3_GRID_RESULT
navPane.SelectedElement = subitem
Return subitem
End Function
End Class