JJ constructor neu

This commit is contained in:
JenneJ
2015-11-05 15:55:23 +01:00
parent bd5d829b1e
commit 654d7102a3
3 changed files with 269 additions and 132 deletions

View File

@@ -2,6 +2,8 @@
Imports DevExpress.XtraBars.Navigation
Imports DevExpress.XtraEditors
Imports DevExpress.XtraEditors.Repository
Imports DevExpress.XtraGrid.Views.Base
Imports DevExpress.XtraGrid.Views.Tile
Public Class XtraForm2
@@ -30,6 +32,7 @@ Public Class XtraForm2
Public DT_SELECTION
Public EBENE_SQLRESULT
Public EDIT_STATE As EditState = EditState.None
Public GRID_TYPE As GridType = GridType.Carousel
Public Enum EditState
None
@@ -37,11 +40,19 @@ Public Class XtraForm2
Update
End Enum
Public Enum GridType
Grid
Carousel
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)
Init_Grid_Control()
'Load_Tree_View()
Load_Tree_View(CONSTRUCTORID)
End Sub
@@ -79,17 +90,24 @@ Public Class XtraForm2
Dim Entity As String = element.Tag
Dim Node = FindNode(TreeViewLevelSelect.Nodes, Entity)
TreeViewLevelSelect.SelectedNode = Node
Load_Tree_View_Data()
If Node IsNot Nothing Then
TreeViewLevelSelect.SelectedNode = Node
Load_Tree_View_Data()
End If
End If
End If
End Sub
Private Sub ResetNav()
' Grid zurücksetzen
Clear_Grid_View()
' Navigation zurücksetzen
navPane.Categories.Clear()
TreeViewLevelSelect.SelectedNode = TreeViewLevelSelect.Nodes(0)
Load_Tree_View_Data()
' TreeView zurücksetzen
'Load_Tree_View(CONSTRUCTORID)
TreeViewLevelSelect.SelectedNode = Nothing
End Sub
Private Function LoadLevel1Nav()
@@ -140,7 +158,7 @@ Public Class XtraForm2
Dim SQL As String
Dim DT, DT2, DT3 As DataTable
' Daten für Root Node Laden
' Daten für Level1 Nodes Laden
SQL = "SELECT * from VWPMO_CONSTRUCTOR_FORMS WHERE PARENT_ID = 0 AND CONSTRUCT_ID = " & ConstructorId & " ORDER BY SEQUENCE"
DT = ClassDatabase.Return_Datatable(SQL)
@@ -160,7 +178,7 @@ Public Class XtraForm2
TreeViewLevelSelect.Nodes.Clear()
TreeViewLevelSelect.Nodes.Add(LEVEL1_NODE)
' Daten für Level1 Nodes Laden
' Daten für Level2 Nodes Laden
SQL = String.Format("SELECT * from VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = {0} AND PARENT_ID = {1} ORDER BY SEQUENCE", ConstructorId, LEVEL1_ID)
DT2 = ClassDatabase.Return_Datatable(SQL)
@@ -179,7 +197,7 @@ Public Class XtraForm2
' ..und einfügen
LEVEL1_NODE.Nodes.Add(LEVEL2_NODE)
' Daten für Level2 Nodes laden
' Daten für Level3 Nodes laden
SQL = String.Format("SELECT * from VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = {0} AND PARENT_ID = {1} ORDER BY SEQUENCE", ConstructorId, LEVEL2_ID)
DT3 = ClassDatabase.Return_Datatable(SQL)
@@ -231,6 +249,100 @@ Public Class XtraForm2
End Sub
#End Region
#Region "GridControl"
Public Sub Init_Grid_Control()
GridControlSelection.MainView = grvwCarousel
'GridControlSelection.MainView = grvwTiles
End Sub
Public Sub Hide_Grid_Columns()
If GRID_TYPE = GridType.Grid Then
grvwGrid.Columns.Item("Record-ID").Visible = False
grvwGrid.Columns.Item("Form-ID").Visible = False
Else
Dim cols As New List(Of String) From {"Record-ID", "Form-ID", "AddedWho", "AddedWhen", "ChangedWho", "ChangedWhen"}
For Each colname As String In cols
Dim col = grvwCarousel.Columns.Item(colname)
If col IsNot Nothing Then
col.Visible = False
End If
Next
End If
End Sub
Public Function Get_Grid_Sql(ConstructorId As Integer, FormId As Integer)
If GRID_TYPE = GridType.Grid Then
Return String.Format("SELECT SQL_SELECT_EBENE1 FROM VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = {0} AND FORM_ID = {1}", ConstructorId, FormId)
Else
Return String.Format("SELECT SQL_QUICK_VIEW FROM VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = {0} AND FORM_ID = {1}", ConstructorId, FormId)
End If
End Function
Public Sub Clear_Grid_View()
GridControlSelection.DataSource = Nothing
If GRID_TYPE = GridType.Grid Then
grvwGrid.Columns.Clear()
Else
grvwCarousel.Columns.Clear()
End If
End Sub
Public Function Get_Grid_Row_Count() As Integer
If GRID_TYPE = GridType.Grid Then
Return grvwGrid.RowCount
Else
Return grvwCarousel.RowCount
End If
End Function
Public Function Get_Grid_Column_Count() As Integer
If GRID_TYPE = GridType.Grid Then
Return grvwGrid.Columns.Count
Else
Return grvwCarousel.Columns.Count
End If
End Function
Public Function Get_Focused_Row_Cell_Value(columnName As String)
If GRID_TYPE = GridType.Grid Then
Return grvwGrid.GetFocusedRowCellValue(grvwGrid.Columns(columnName))
Else
Return grvwCarousel.GetFocusedRowCellValue(grvwCarousel.Columns(columnName))
End If
End Function
Private Sub GridView_FocusedRowChanged(sender As Object, e As DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs) Handles grvwGrid.FocusedRowChanged, grvwCarousel.FocusedRowChanged
'If vFormClosing = True Or SaveRoutine_Active = True Then
' Exit Sub
'End If
'Check_Record_Changed()
Load_Record_Data()
'Hide_Grid_Columns()
'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
#End Region
#Region "Status Bar"
Public Sub Update_Status_Label(visible As Boolean, Optional text As String = "", Optional state As EditState = EditState.None)
@@ -304,7 +416,8 @@ Public Class XtraForm2
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)
'_sql = ClassDatabase.Execute_Scalar("SELECT SQL_QUICK_VIEW FROM VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = " & CONSTRUCTORID & " AND FORM_ID = " & FormId)
_sql = ClassDatabase.Execute_Scalar(Get_Grid_Sql(CONSTRUCTORID, FormId))
Case 2
@@ -336,10 +449,11 @@ Public Class XtraForm2
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 = ClassDatabase.Execute_Scalar("SELECT SQL_QUICK_VIEW FROM VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = " & CONSTRUCTORID & " AND FORM_ID = " & FormId)
_sql = ClassDatabase.Execute_Scalar(Get_Grid_Sql(CONSTRUCTORID, 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)
_sql = ClassDatabase.Execute_Scalar("SELECT SQL_QUICK_VIEW FROM VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = " & CONSTRUCTORID & " AND FORM_ID = " & FormId)
End If
EBENE2_GRID_RESULT = Nothing
EBENE3_GRID_RESULT = Nothing
@@ -380,8 +494,7 @@ Public Class XtraForm2
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()
Clear_Grid_View()
Me.Cursor = Cursors.Default
Exit Sub
End If
@@ -519,10 +632,10 @@ Public Class XtraForm2
listcheck = listcheck.Distinct().ToList()
'Grid leeren
GridControlSelection.DataSource = Nothing
grvwSelection.Columns.Clear()
Clear_Grid_View()
'Databinding Neu
Me.BindingSource_Entity.DataSource = Datatable_Grid
BindingSource_Entity.DataSource = Datatable_Grid
GridControlSelection.DataSource = BindingSource_Entity
' Den Editor Initialisieren und Optionen setzen
@@ -538,23 +651,24 @@ Public Class XtraForm2
' grvwSelection.Columns(col).ColumnEdit = CheckBoxEditorForDisplay
' End If
'Next
grvwSelection.Columns("Record-ID").OptionsColumn.AllowShowHide = False
'grvwGrid.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 & ")"
selnode.Text = String.Format("{0} ({1})", existingstring, Get_Grid_Row_Count())
Else
selnode.Text = selnode.Text & " (" & grvwSelection.RowCount & ")"
selnode.Text = String.Format("{0} ({1})", selnode.Text, Get_Grid_Row_Count())
End If
Catch ex As Exception
MsgBox("Error in LoadGrid_Selection:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
Return False
End Try
Return True
Return True
End Function
Sub Show_Selected_Record_Data(GridColumn_String As String, Optional DirectRecID As Integer = 0)
@@ -564,7 +678,7 @@ Public Class XtraForm2
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
If Get_Grid_Column_Count() = 0 Then
'Me.pnlDetails.Enabled = False
'Me.tsbtnshowWorkflowtasks.Enabled = False
@@ -572,8 +686,8 @@ Public Class XtraForm2
Exit Sub
End If
'Überhaupt Rows in Grid?
If grvwSelection.RowCount > 0 Then
Dim Grid_RecordID = grvwSelection.GetFocusedRowCellValue(grvwSelection.Columns(GridColumn_String))
If Get_Grid_Row_Count() > 0 Then
Dim Grid_RecordID = Get_Focused_Row_Cell_Value(GridColumn_String)
If Grid_RecordID Is Nothing = False Then
SelectedRecordID = Grid_RecordID
CURRENT_RECORD_ID = Grid_RecordID
@@ -672,7 +786,7 @@ Public Class XtraForm2
End Sub
Function Get_GridResult(Columnname As String)
Dim result As String = grvwSelection.GetFocusedRowCellValue(grvwSelection.Columns(Columnname))
Dim result As String = Get_Focused_Row_Cell_Value(Columnname)
If result = String.Empty Then
Return "No Column configured"
Else
@@ -682,15 +796,15 @@ Public Class XtraForm2
Function GetSelected_RecordID()
Try
If grvwSelection.Columns.Count = 0 Then
If Get_Grid_Column_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 Get_Grid_Row_Count() > 0 Then
Dim Grid_RecordID = Get_Focused_Row_Cell_Value("Record-ID")
If Grid_RecordID Is Nothing = False Then
Return Grid_RecordID
Else
@@ -706,24 +820,7 @@ Public Class XtraForm2
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