jj 23.05 datatable performance
This commit is contained in:
parent
b141e20f58
commit
49e5e40b54
@ -405,10 +405,13 @@
|
|||||||
stopwatch.Start()
|
stopwatch.Start()
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Public Sub Done()
|
Public Function Done() As Long
|
||||||
stopwatch.Stop()
|
stopwatch.Stop()
|
||||||
Console.WriteLine("{0} took {1} milliseconds to complete", label, stopwatch.ElapsedMilliseconds)
|
Dim message = String.Format("{0} took {1} milliseconds to complete", label, stopwatch.ElapsedMilliseconds)
|
||||||
End Sub
|
Console.WriteLine(message)
|
||||||
|
If LogErrorsOnly = False Then ClassLogger.Add(message, False)
|
||||||
|
Return stopwatch.ElapsedMilliseconds
|
||||||
|
End Function
|
||||||
|
|
||||||
|
|
||||||
End Class
|
End Class
|
||||||
|
|||||||
@ -221,7 +221,7 @@ Public Class frmConstructor_Main
|
|||||||
Me.VWPMO_WF_ACTIVETableAdapter.Connection.ConnectionString = MyConnectionString
|
Me.VWPMO_WF_ACTIVETableAdapter.Connection.ConnectionString = MyConnectionString
|
||||||
Dim SQL = String.Format("SELECT *, [dbo].[FNPMO_GETOBJECTCAPTION]('{0}','FORMVIEW_TITLE' + CONVERT(VARCHAR(5), FORM_VIEW_ID), {1}) AS 'CAPTION' " & _
|
Dim SQL = String.Format("SELECT *, [dbo].[FNPMO_GETOBJECTCAPTION]('{0}','FORMVIEW_TITLE' + CONVERT(VARCHAR(5), FORM_VIEW_ID), {1}) AS 'CAPTION' " & _
|
||||||
"FROM VWPMO_CONSTRUCTOR_FORMS WHERE SCREEN_ID = {2} AND CONSTRUCT_ID = {3} ORDER BY SEQUENCE", USER_LANGUAGE, CURRENT_SCREEN_ID, CURRENT_SCREEN_ID, CONSTRUCTORID)
|
"FROM VWPMO_CONSTRUCTOR_FORMS WHERE SCREEN_ID = {2} AND CONSTRUCT_ID = {3} ORDER BY SEQUENCE", USER_LANGUAGE, CURRENT_SCREEN_ID, CURRENT_SCREEN_ID, CONSTRUCTORID)
|
||||||
sd()
|
|
||||||
DT_VWPMO_CONSTRUCTOR_FORMS = ClassDatabase.Return_Datatable(SQL)
|
DT_VWPMO_CONSTRUCTOR_FORMS = ClassDatabase.Return_Datatable(SQL)
|
||||||
DT_CONSTRUCT_VIEW = ClassDatabase.Return_Datatable("SELECT * FROM TBPMO_FORM_CONSTRUCTOR WHERE GUID = " & CONSTRUCTORID)
|
DT_CONSTRUCT_VIEW = ClassDatabase.Return_Datatable("SELECT * FROM TBPMO_FORM_CONSTRUCTOR WHERE GUID = " & CONSTRUCTORID)
|
||||||
If DT_CONSTRUCT_VIEW.Rows.Count = 1 Then
|
If DT_CONSTRUCT_VIEW.Rows.Count = 1 Then
|
||||||
@ -241,7 +241,6 @@ Public Class frmConstructor_Main
|
|||||||
'System.Windows.Forms.MessageBox.Show(ex.Message)
|
'System.Windows.Forms.MessageBox.Show(ex.Message)
|
||||||
End Try
|
End Try
|
||||||
Me.Cursor = Cursors.Default
|
Me.Cursor = Cursors.Default
|
||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
#Region "Layout"
|
#Region "Layout"
|
||||||
@ -565,28 +564,6 @@ Public Class frmConstructor_Main
|
|||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
'Public Function Get_Grid_Sql(ConstructorId As Integer, FormId As Integer)
|
|
||||||
' If GRID_TYPE = GridType.Grid Then
|
|
||||||
' _ENTITYSQL = "SELECT T.* FROM VWTEMP_PMO_FORM" & FormId.ToString & " T"
|
|
||||||
' Else 'Tiles und Carousel bekommen Quick View
|
|
||||||
' _ENTITYSQL = String.Format("SELECT SQL_QUICK_VIEW FROM VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = {0} AND FORM_ID = {1}", ConstructorId, FormId)
|
|
||||||
' _ENTITYSQL = ClassDatabase.Execute_Scalar(_ENTITYSQL, True)
|
|
||||||
' If _ENTITYSQL = String.Empty Then
|
|
||||||
' _ENTITYSQL = "SELECT T.* FROM VWTEMP_PMO_FORM" & FormId.ToString & " T"
|
|
||||||
' If IS_SINGLE_RECORD = True Or FORM_TYPE = 5 Then
|
|
||||||
|
|
||||||
' Else
|
|
||||||
' GRID_TYPE = GridType.Grid
|
|
||||||
' GridControlMain.MainView = grvwGrid
|
|
||||||
' VIEW_ID = 3
|
|
||||||
' End If
|
|
||||||
|
|
||||||
|
|
||||||
' GridControlMain.MainView = grvwGrid
|
|
||||||
' End If
|
|
||||||
' End If
|
|
||||||
'End Function
|
|
||||||
|
|
||||||
Public Function Get_Grid_Sql(ConstructorId As Integer, FormId As Integer, ConstructorDetailID As Integer)
|
Public Function Get_Grid_Sql(ConstructorId As Integer, FormId As Integer, ConstructorDetailID As Integer)
|
||||||
Try
|
Try
|
||||||
If GRID_TYPE = GridType.Grid Then
|
If GRID_TYPE = GridType.Grid Then
|
||||||
@ -594,19 +571,13 @@ Public Class frmConstructor_Main
|
|||||||
_VIEWNAME = "VWTEMP_PMO_FORM" & FormId.ToString
|
_VIEWNAME = "VWTEMP_PMO_FORM" & FormId.ToString
|
||||||
_ENTITYSQL = "SELECT T.* FROM VWTEMP_PMO_FORM" & FormId.ToString & " T"
|
_ENTITYSQL = "SELECT T.* FROM VWTEMP_PMO_FORM" & FormId.ToString & " T"
|
||||||
Else 'Tiles und Carousel bekommen Quick View
|
Else 'Tiles und Carousel bekommen Quick View
|
||||||
' Define the filter
|
' LINQ für Zugriff auf DT_VWPMO_CONSTRUCTOR_FORMS
|
||||||
Dim DT As DataTable = DT_VWPMO_CONSTRUCTOR_FORMS
|
Dim query = From form In DT_VWPMO_CONSTRUCTOR_FORMS.AsEnumerable()
|
||||||
Dim filter As String = "FORM_ID = " & FormId & " AND SCREEN_ID = " & CURRENT_SCREEN_ID
|
Select form
|
||||||
' Filter the rows using Select() method of DataTable
|
Where form.Item("FORM_ID") = FormId
|
||||||
Dim FilteredRows As DataRow() = DT.Select(filter)
|
|
||||||
|
|
||||||
For Each row As DataRow In FilteredRows
|
_ENTITYSQL = query.Single().Item("SQL_QUICK_VIEW")
|
||||||
_ENTITYSQL = row("SQL_QUICK_VIEW")
|
|
||||||
' ListBox1.Items.Add(String.Format("{0}, {1}", row("CompanyName"), row("City")))
|
|
||||||
Next
|
|
||||||
|
|
||||||
' _ENTITYSQL = String.Format("SELECT SQL_QUICK_VIEW FROM VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = {0} AND FORM_ID = {1} AND SCREEN_ID = {2}", ConstructorId, FormId, CURRENT_SCREEN_ID)
|
|
||||||
' _ENTITYSQL = ClassDatabase.Execute_Scalar(_ENTITYSQL, True)
|
|
||||||
If _ENTITYSQL = String.Empty Then
|
If _ENTITYSQL = String.Empty Then
|
||||||
_ENTITYSQL = "SELECT T.* FROM VWTEMP_PMO_FORM" & FormId.ToString & " T"
|
_ENTITYSQL = "SELECT T.* FROM VWTEMP_PMO_FORM" & FormId.ToString & " T"
|
||||||
If IS_SINGLE_RECORD = True Or FORM_TYPE = 5 Then
|
If IS_SINGLE_RECORD = True Or FORM_TYPE = 5 Then
|
||||||
@ -1018,88 +989,83 @@ Public Class frmConstructor_Main
|
|||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Sub Load_Tree_View(ConstructorId As Integer)
|
Sub Load_Tree_View(ConstructorId As Integer)
|
||||||
Dim sw As New Stopwatch
|
Dim sw As New SW("Load_Tree_View")
|
||||||
sw.Start()
|
|
||||||
TreeViewMain.Nodes.Clear()
|
TreeViewMain.Nodes.Clear()
|
||||||
Dim SQL As String
|
|
||||||
Dim DT, DT2, DT3 As DataTable
|
|
||||||
|
|
||||||
' Daten für Level1 Nodes Laden
|
' LINQ für Zugriff auf DT_VWPMO_CONSTRUCTOR_FORMS
|
||||||
SQL = String.Format("SELECT *, [dbo].[FNPMO_GETOBJECTCAPTION]('{0}','FORMVIEW_TITLE' + CONVERT(VARCHAR(5), FORM_VIEW_ID), {1}) AS 'CAPTION' " & _
|
Dim query1 = From form In DT_VWPMO_CONSTRUCTOR_FORMS.AsEnumerable()
|
||||||
"from VWPMO_CONSTRUCTOR_FORMS WHERE PARENT_ID = 0 AND CONSTRUCT_ID = {2} AND SCREEN_ID = {3} ORDER BY SEQUENCE", USER_LANGUAGE, CURRENT_SCREEN_ID, ConstructorId, CURRENT_SCREEN_ID)
|
Select form
|
||||||
DT = ClassDatabase.Return_Datatable(SQL)
|
Order By form.Item("SEQUENCE")
|
||||||
|
Where form.Item("PARENT_ID") = 0
|
||||||
|
|
||||||
If DT Is Nothing Then
|
Dim Rows1 = query1.ToList()
|
||||||
Exit Sub
|
|
||||||
End If
|
|
||||||
|
|
||||||
If DT.Rows.Count >= 1 Then
|
For Each Row1 In Rows1
|
||||||
For Each Row1 As DataRow In DT.Rows
|
|
||||||
Dim LEVEL1_NODE As TreeNode
|
|
||||||
Dim LEVEL2_NODE As TreeNode
|
|
||||||
Dim LEVEL3_NODE As TreeNode
|
|
||||||
Dim LEVEL1_TITLE = Row1.Item("CAPTION").ToString
|
|
||||||
Dim LEVEL1_ID = Row1.Item("FORM_ID").ToString
|
|
||||||
|
|
||||||
' Rootnode erstellen und taggen
|
Dim LEVEL1_NODE As TreeNode
|
||||||
LEVEL1_NODE = New TreeNode(LEVEL1_TITLE)
|
Dim LEVEL2_NODE As TreeNode
|
||||||
LEVEL1_NODE.Tag = LEVEL1_ID
|
Dim LEVEL3_NODE As TreeNode
|
||||||
|
|
||||||
' TreeView Rootnode einfügen
|
Dim LEVEL1_TITLE = Row1.Item("CAPTION").ToString
|
||||||
|
Dim LEVEL1_ID = Row1.Item("FORM_ID").ToString
|
||||||
|
|
||||||
TreeViewMain.Nodes.Add(LEVEL1_NODE)
|
' Rootnode erstellen und taggen
|
||||||
Dim SQL2 As String
|
LEVEL1_NODE = New TreeNode(LEVEL1_TITLE)
|
||||||
' Daten für Level2 Nodes Laden
|
LEVEL1_NODE.Tag = LEVEL1_ID
|
||||||
SQL2 = String.Format("SELECT *, [dbo].[FNPMO_GETOBJECTCAPTION]('{0}','FORMVIEW_TITLE' + CONVERT(VARCHAR(5), FORM_VIEW_ID), {1}) AS 'CAPTION' " & _
|
|
||||||
"FROM VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = {2} AND PARENT_ID = {3} ORDER BY SEQUENCE", USER_LANGUAGE, CURRENT_SCREEN_ID, ConstructorId, LEVEL1_ID)
|
|
||||||
If LogErrorsOnly = False Then ClassLogger.Add(" >> Level2 Nodes SQL: " & SQL2, False)
|
|
||||||
DT2 = ClassDatabase.Return_Datatable(SQL2)
|
|
||||||
|
|
||||||
If Not (DT2 Is Nothing) Then
|
' TreeView Rootnode einfügen
|
||||||
For Each row As DataRow In DT2.Rows
|
TreeViewMain.Nodes.Add(LEVEL1_NODE)
|
||||||
Dim LEVEL2_TITLE As String = row.Item("CAPTION").ToString
|
|
||||||
Dim LEVEL2_ID As Integer = row.Item("FORM_ID")
|
|
||||||
Dim LEVEL2_PARENT_ID As Integer = row.Item("PARENT_ID")
|
|
||||||
|
|
||||||
' Node erstellen..
|
' LINQ für Zugriff auf DT_VWPMO_CONSTRUCTOR_FORMS
|
||||||
LEVEL2_NODE = New TreeNode(LEVEL2_TITLE)
|
Dim query2 = From form In DT_VWPMO_CONSTRUCTOR_FORMS.AsEnumerable()
|
||||||
LEVEL2_NODE.Tag = LEVEL2_ID
|
Select form
|
||||||
' ..und einfügen
|
Order By form.Item("SEQUENCE")
|
||||||
LEVEL1_NODE.Nodes.Add(LEVEL2_NODE)
|
Where form.Item("PARENT_ID") = LEVEL1_ID
|
||||||
|
|
||||||
' Daten für Level3 Nodes laden
|
Dim Rows2 = query2.ToList()
|
||||||
SQL = String.Format("SELECT *, [dbo].[FNPMO_GETOBJECTCAPTION]('{0}','FORMVIEW_TITLE' + CONVERT(VARCHAR(5), FORM_VIEW_ID), {1}) AS 'CAPTION' " & _
|
|
||||||
"FROM VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = {2} AND PARENT_ID = {3} ORDER BY SEQUENCE", USER_LANGUAGE, CURRENT_SCREEN_ID, ConstructorId, LEVEL2_ID)
|
|
||||||
If LogErrorsOnly = False Then ClassLogger.Add(" >> Level3 Nodes SQL " & SQL, False)
|
|
||||||
DT3 = ClassDatabase.Return_Datatable(SQL)
|
|
||||||
|
|
||||||
For Each subrow As DataRow In DT3.Rows
|
For Each Row2 In Rows2
|
||||||
Dim LEVEL3_TITLE As String = subrow.Item("CAPTION")
|
|
||||||
Dim LEVEL3_ID As Integer = subrow.Item("FORM_ID")
|
|
||||||
|
|
||||||
' Node erstellen..
|
Dim LEVEL2_TITLE As String = Row2.Item("CAPTION").ToString
|
||||||
LEVEL3_NODE = New TreeNode(LEVEL3_TITLE)
|
Dim LEVEL2_ID As Integer = Row2.Item("FORM_ID")
|
||||||
LEVEL3_NODE.Tag = LEVEL3_ID
|
Dim LEVEL2_PARENT_ID As Integer = Row2.Item("PARENT_ID")
|
||||||
' ..und einfügen
|
|
||||||
LEVEL2_NODE.Nodes.Add(LEVEL3_NODE)
|
|
||||||
Next
|
|
||||||
Next
|
|
||||||
|
|
||||||
End If
|
' Node erstellen..
|
||||||
|
LEVEL2_NODE = New TreeNode(LEVEL2_TITLE)
|
||||||
|
LEVEL2_NODE.Tag = LEVEL2_ID
|
||||||
|
' ..und einfügen
|
||||||
|
LEVEL1_NODE.Nodes.Add(LEVEL2_NODE)
|
||||||
|
|
||||||
|
' LINQ für Zugriff auf DT_VWPMO_CONSTRUCTOR_FORMS
|
||||||
|
Dim query3 = From form In DT_VWPMO_CONSTRUCTOR_FORMS.AsEnumerable()
|
||||||
|
Select form
|
||||||
|
Order By form.Item("SEQUENCE")
|
||||||
|
Where form.Item("PARENT_ID") = LEVEL2_ID
|
||||||
|
|
||||||
|
Dim Rows3 = query3.ToList()
|
||||||
|
|
||||||
|
For Each Row3 In Rows3
|
||||||
|
|
||||||
|
Dim LEVEL3_TITLE As String = Row3.Item("CAPTION")
|
||||||
|
Dim LEVEL3_ID As Integer = Row3.Item("FORM_ID")
|
||||||
|
|
||||||
|
' Node erstellen..
|
||||||
|
LEVEL3_NODE = New TreeNode(LEVEL3_TITLE)
|
||||||
|
LEVEL3_NODE.Tag = LEVEL3_ID
|
||||||
|
' ..und einfügen
|
||||||
|
LEVEL2_NODE.Nodes.Add(LEVEL3_NODE)
|
||||||
|
|
||||||
|
Next
|
||||||
|
|
||||||
Next
|
Next
|
||||||
|
|
||||||
|
Next
|
||||||
|
|
||||||
TreeViewMain.ExpandAll()
|
|
||||||
TreeViewMain.Nodes(0).EnsureVisible()
|
|
||||||
Dim elapsed As Double
|
|
||||||
elapsed = sw.Elapsed.TotalSeconds
|
|
||||||
sw.Stop()
|
|
||||||
sw.Reset()
|
|
||||||
If LogErrorsOnly = False Then ClassLogger.Add(" >> TreeView Load took " & Format(elapsed, "0.000000000") & " seconds", False)
|
|
||||||
End If
|
|
||||||
TreeViewMain.ExpandAll()
|
TreeViewMain.ExpandAll()
|
||||||
|
TreeViewMain.Nodes(0).EnsureVisible()
|
||||||
|
|
||||||
|
sw.Done()
|
||||||
End Sub
|
End Sub
|
||||||
Sub Load_Tree_View_Data()
|
Sub Load_Tree_View_Data()
|
||||||
Dim sw As New Stopwatch
|
Dim sw As New Stopwatch
|
||||||
@ -1122,8 +1088,14 @@ Public Class frmConstructor_Main
|
|||||||
Else
|
Else
|
||||||
ACT_EBENE = 1
|
ACT_EBENE = 1
|
||||||
End If
|
End If
|
||||||
Dim Sql = "SELECT GUID from VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = " & CONSTRUCTORID & " AND FORM_ID = " & ENTITY_ID & " AND SCREEN_ID = " & CURRENT_SCREEN_ID
|
|
||||||
CONSTRUCTOR_DETAIL_ID = ClassDatabase.Execute_Scalar(Sql, True)
|
Dim result = (From form In DT_VWPMO_CONSTRUCTOR_FORMS.AsEnumerable()
|
||||||
|
Select form
|
||||||
|
Where form.Item("FORM_ID") = ENTITY_ID).Single()
|
||||||
|
|
||||||
|
CONSTRUCTOR_DETAIL_ID = result.Item("GUID")
|
||||||
|
'Dim Sql = "SELECT GUID from VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = " & CONSTRUCTORID & " AND FORM_ID = " & ENTITY_ID & " AND SCREEN_ID = " & CURRENT_SCREEN_ID
|
||||||
|
'CONSTRUCTOR_DETAIL_ID = ClassDatabase.Execute_Scalar(Sql, True)
|
||||||
|
|
||||||
Dim elapsed As Double
|
Dim elapsed As Double
|
||||||
elapsed = sw.Elapsed.TotalSeconds
|
elapsed = sw.Elapsed.TotalSeconds
|
||||||
@ -1145,6 +1117,12 @@ Public Class frmConstructor_Main
|
|||||||
Dim PARENT_ID As Integer
|
Dim PARENT_ID As Integer
|
||||||
Dim TYPE_ID As Integer
|
Dim TYPE_ID As Integer
|
||||||
If a = 0 Then
|
If a = 0 Then
|
||||||
|
'Dim result = (From form In DT_VWPMO_CONSTRUCTOR_FORMS.AsEnumerable()
|
||||||
|
' Select form
|
||||||
|
' Where form.Item("FORM_ID") = childNodeLevel1.Tag).Single()
|
||||||
|
'PARENT_ID = result.Item("PARENT_ID")
|
||||||
|
'TYPE_ID = result.Item("FORM_TYPE_ID")
|
||||||
|
|
||||||
Dim sql As String = "SELECT PARENT_ID, FORM_TYPE_ID FROM VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = " & CONSTRUCTORID & " AND FORM_ID = " & childNodeLevel1.Tag & " AND SCREEN_ID = " & CURRENT_SCREEN_ID
|
Dim sql As String = "SELECT PARENT_ID, FORM_TYPE_ID FROM VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = " & CONSTRUCTORID & " AND FORM_ID = " & childNodeLevel1.Tag & " AND SCREEN_ID = " & CURRENT_SCREEN_ID
|
||||||
Dim DT As DataTable = ClassDatabase.Return_Datatable(sql, "ShowNodeAmounts")
|
Dim DT As DataTable = ClassDatabase.Return_Datatable(sql, "ShowNodeAmounts")
|
||||||
PARENT_ID = DT.Rows(0).Item(0)
|
PARENT_ID = DT.Rows(0).Item(0)
|
||||||
@ -1827,9 +1805,8 @@ Public Class frmConstructor_Main
|
|||||||
End Sub
|
End Sub
|
||||||
Sub Load_Entity_Data(ClickedLevel As Integer)
|
Sub Load_Entity_Data(ClickedLevel As Integer)
|
||||||
Try
|
Try
|
||||||
Dim sw As New Stopwatch
|
Dim sw As New SW("Load_Entity_Data")
|
||||||
sw.Start()
|
|
||||||
Dim elapsed As Double
|
|
||||||
Me.Cursor = Cursors.WaitCursor
|
Me.Cursor = Cursors.WaitCursor
|
||||||
RECORD_CHANGED = False
|
RECORD_CHANGED = False
|
||||||
RECORD_ID = 0
|
RECORD_ID = 0
|
||||||
@ -1837,14 +1814,28 @@ Public Class frmConstructor_Main
|
|||||||
'Setzen von Rechten
|
'Setzen von Rechten
|
||||||
'GetSet_Rights()
|
'GetSet_Rights()
|
||||||
'VerknüpfungenToolStripMenuItem.Enabled = False
|
'VerknüpfungenToolStripMenuItem.Enabled = False
|
||||||
|
|
||||||
|
Dim result = (From form In DT_VWPMO_CONSTRUCTOR_FORMS.AsEnumerable()
|
||||||
|
Select form
|
||||||
|
Where form.Item("FORM_ID") = ENTITY_ID).Single()
|
||||||
|
|
||||||
|
LOAD_DIRECT = result.Item("LOAD_DIRECT")
|
||||||
|
CURRENT_CONSTRUCTOR_DETAIL_ID = result.Item("GUID")
|
||||||
|
CONTROL_DOCTYPE_MATCH = result.Item("CONTROL_DOCTYPE_MATCH")
|
||||||
|
SQL_RIGHT_READ_AND_VIEW_ONLY = result.Item("SQL_RIGHT_READ_AND_VIEW_ONLY")
|
||||||
|
SQL_RIGHT_WINDREAM_FORBIDDEN = result.Item("SQL_RIGHT_WINDREAM_VIEW")
|
||||||
|
|
||||||
|
'LOAD_DIRECT = ClassDatabase.Execute_Scalar("SELECT LOAD_DIRECT FROM VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = " & CONSTRUCTORID & " AND FORM_ID = " & ENTITY_ID & " AND SCREEN_ID = " & CURRENT_SCREEN_ID)
|
||||||
|
'CURRENT_CONSTRUCTOR_DETAIL_ID = ClassDatabase.Execute_Scalar("SELECT GUID FROM VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = " & CONSTRUCTORID & " AND FORM_ID = " & ENTITY_ID & " AND SCREEN_ID = " & CURRENT_SCREEN_ID)
|
||||||
|
'CONTROL_DOCTYPE_MATCH = ClassDatabase.Execute_Scalar("SELECT CONTROL_DOCTYPE_MATCH FROM VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = " & CONSTRUCTORID & " AND FORM_ID = " & ENTITY_ID & " AND SCREEN_ID = " & CURRENT_SCREEN_ID)
|
||||||
|
'SQL_RIGHT_READ_AND_VIEW_ONLY = ClassDatabase.Execute_Scalar("SELECT SQL_RIGHT_READ_AND_VIEW_ONLY FROM VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = " & CONSTRUCTORID & " AND FORM_ID = " & ENTITY_ID & " AND SCREEN_ID = " & CURRENT_SCREEN_ID)
|
||||||
|
'SQL_RIGHT_WINDREAM_FORBIDDEN = ClassDatabase.Execute_Scalar("SELECT SQL_RIGHT_WINDREAM_VIEW FROM VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = " & CONSTRUCTORID & " AND FORM_ID = " & ENTITY_ID & " AND SCREEN_ID = " & CURRENT_SCREEN_ID)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
FORM_TYPE = ClassDatabase.Execute_Scalar("SELECT FORM_TYPE_ID FROM TBPMO_FORM WHERE GUID = " & ENTITY_ID)
|
FORM_TYPE = ClassDatabase.Execute_Scalar("SELECT FORM_TYPE_ID FROM TBPMO_FORM WHERE GUID = " & ENTITY_ID)
|
||||||
IS_SINGLE_RECORD = ClassDatabase.Execute_Scalar("SELECT SINGLE_RECORD FROM TBPMO_FORM WHERE GUID = " & ENTITY_ID)
|
IS_SINGLE_RECORD = ClassDatabase.Execute_Scalar("SELECT SINGLE_RECORD FROM TBPMO_FORM WHERE GUID = " & ENTITY_ID)
|
||||||
LOAD_DIRECT = ClassDatabase.Execute_Scalar("SELECT LOAD_DIRECT FROM VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = " & CONSTRUCTORID & " AND FORM_ID = " & ENTITY_ID & " AND SCREEN_ID = " & CURRENT_SCREEN_ID)
|
|
||||||
CURRENT_CONSTRUCTOR_DETAIL_ID = ClassDatabase.Execute_Scalar("SELECT GUID FROM VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = " & CONSTRUCTORID & " AND FORM_ID = " & ENTITY_ID & " AND SCREEN_ID = " & CURRENT_SCREEN_ID)
|
|
||||||
POS_ENTITY = ClassDatabase.Execute_Scalar("SELECT POS_ENTITY FROM TBPMO_FORM WHERE GUID = " & ENTITY_ID)
|
POS_ENTITY = ClassDatabase.Execute_Scalar("SELECT POS_ENTITY FROM TBPMO_FORM WHERE GUID = " & ENTITY_ID)
|
||||||
CONTROL_DOCTYPE_MATCH = ClassDatabase.Execute_Scalar("SELECT CONTROL_DOCTYPE_MATCH FROM VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = " & CONSTRUCTORID & " AND FORM_ID = " & ENTITY_ID & " AND SCREEN_ID = " & CURRENT_SCREEN_ID)
|
|
||||||
SQL_RIGHT_READ_AND_VIEW_ONLY = ClassDatabase.Execute_Scalar("SELECT SQL_RIGHT_READ_AND_VIEW_ONLY FROM VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = " & CONSTRUCTORID & " AND FORM_ID = " & ENTITY_ID & " AND SCREEN_ID = " & CURRENT_SCREEN_ID)
|
|
||||||
SQL_RIGHT_WINDREAM_FORBIDDEN = ClassDatabase.Execute_Scalar("SELECT SQL_RIGHT_WINDREAM_VIEW FROM VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = " & CONSTRUCTORID & " AND FORM_ID = " & ENTITY_ID & " AND SCREEN_ID = " & CURRENT_SCREEN_ID)
|
|
||||||
If VIEW_ID_RUNTIME <> -1 Then
|
If VIEW_ID_RUNTIME <> -1 Then
|
||||||
GRID_TYPE_ID = VIEW_ID_RUNTIME
|
GRID_TYPE_ID = VIEW_ID_RUNTIME
|
||||||
Else
|
Else
|
||||||
@ -1870,8 +1861,15 @@ Public Class frmConstructor_Main
|
|||||||
End Select
|
End Select
|
||||||
SELECTED_RECORD_ID = 0
|
SELECTED_RECORD_ID = 0
|
||||||
Dim DT As DataTable
|
Dim DT As DataTable
|
||||||
Dim sql As String = "SELECT PARENT_ID FROM VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = " & CONSTRUCTORID & " AND FORM_ID = " & ENTITY_ID & " AND SCREEN_ID = " & CURRENT_SCREEN_ID
|
|
||||||
Dim PARENT_ID = ClassDatabase.Execute_Scalar(sql)
|
' LINQ für Zugriff auf DT_VWPMO_CONSTRUCTOR_FORMS
|
||||||
|
Dim result1 = (From form In DT_VWPMO_CONSTRUCTOR_FORMS.AsEnumerable()
|
||||||
|
Select form
|
||||||
|
Where form.Item("FORM_ID") = ENTITY_ID).Single()
|
||||||
|
Dim PARENT_ID = result1.Item("PARENT_ID")
|
||||||
|
'Dim sql As String = "SELECT PARENT_ID FROM VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = " & CONSTRUCTORID & " AND FORM_ID = " & ENTITY_ID & " AND SCREEN_ID = " & CURRENT_SCREEN_ID
|
||||||
|
'Dim PARENT_ID = ClassDatabase.Execute_Scalar(sql)
|
||||||
|
|
||||||
If PARENT_ID Is Nothing Then
|
If PARENT_ID Is Nothing Then
|
||||||
MsgBox("Error in GetParentID for selectedNode - Check Logfile", MsgBoxStyle.Exclamation)
|
MsgBox("Error in GetParentID for selectedNode - Check Logfile", MsgBoxStyle.Exclamation)
|
||||||
Exit Sub
|
Exit Sub
|
||||||
@ -1879,8 +1877,7 @@ Public Class frmConstructor_Main
|
|||||||
|
|
||||||
'Abhängig von der Entität die Selektierungs-Daten laden
|
'Abhängig von der Entität die Selektierungs-Daten laden
|
||||||
Get_Grid_Sql(CONSTRUCTORID, ENTITY_ID, CURRENT_CONSTRUCTOR_DETAIL_ID)
|
Get_Grid_Sql(CONSTRUCTORID, ENTITY_ID, CURRENT_CONSTRUCTOR_DETAIL_ID)
|
||||||
elapsed = sw.Elapsed.TotalSeconds
|
|
||||||
If LogErrorsOnly = False Then ClassLogger.Add(" >> Get_Grid_Sql took " & Format(elapsed, "0.000000000") & " seconds", False)
|
|
||||||
'Anzahl der Datensätze
|
'Anzahl der Datensätze
|
||||||
ENTITY_RECORD_COUNT = ClassDatabase.Execute_Scalar("SELECT COUNT(*) FROM TBPMO_RECORD where FORM_ID = " & ENTITY_ID, True)
|
ENTITY_RECORD_COUNT = ClassDatabase.Execute_Scalar("SELECT COUNT(*) FROM TBPMO_RECORD where FORM_ID = " & ENTITY_ID, True)
|
||||||
Select Case ClickedLevel
|
Select Case ClickedLevel
|
||||||
@ -1902,7 +1899,13 @@ Public Class frmConstructor_Main
|
|||||||
'tslblEntity2.Visible = False
|
'tslblEntity2.Visible = False
|
||||||
'tslblEntity3.Visible = False
|
'tslblEntity3.Visible = False
|
||||||
|
|
||||||
EBENE1_COLUMNNAME = ClassDatabase.Execute_Scalar("SELECT COLUMN_NAME1 FROM VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = " & CONSTRUCTORID & " AND FORM_ID = " & ENTITY_ID & " AND SCREEN_ID = " & CURRENT_SCREEN_ID)
|
|
||||||
|
Dim result2 = (From form In DT_VWPMO_CONSTRUCTOR_FORMS.AsEnumerable()
|
||||||
|
Select form
|
||||||
|
Where form.Item("FORM_ID") = ENTITY_ID).Single()
|
||||||
|
|
||||||
|
EBENE1_COLUMNNAME = result2.Item("COLUMN_NAME1")
|
||||||
|
'EBENE1_COLUMNNAME = ClassDatabase.Execute_Scalar("SELECT COLUMN_NAME1 FROM VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = " & CONSTRUCTORID & " AND FORM_ID = " & ENTITY_ID & " AND SCREEN_ID = " & CURRENT_SCREEN_ID)
|
||||||
EBENE2_COLUMNNAME = ""
|
EBENE2_COLUMNNAME = ""
|
||||||
EBENE3_COLUMNNAME = ""
|
EBENE3_COLUMNNAME = ""
|
||||||
EBENE2_GRID_RESULT = Nothing
|
EBENE2_GRID_RESULT = Nothing
|
||||||
@ -1949,7 +1952,12 @@ Public Class frmConstructor_Main
|
|||||||
' End If
|
' End If
|
||||||
'End Select
|
'End Select
|
||||||
|
|
||||||
EBENE2_COLUMNNAME = ClassDatabase.Execute_Scalar("SELECT COLUMN_NAME1 FROM VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = " & CONSTRUCTORID & " AND FORM_ID = " & ENTITY_ID & " AND SCREEN_ID = " & CURRENT_SCREEN_ID)
|
Dim result3 = (From form In DT_VWPMO_CONSTRUCTOR_FORMS.AsEnumerable()
|
||||||
|
Select form
|
||||||
|
Where form.Item("FORM_ID") = ENTITY_ID).Single()
|
||||||
|
EBENE2_COLUMNNAME = result3.Item("COLUMN_NAME1")
|
||||||
|
|
||||||
|
'EBENE2_COLUMNNAME = ClassDatabase.Execute_Scalar("SELECT COLUMN_NAME1 FROM VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = " & CONSTRUCTORID & " AND FORM_ID = " & ENTITY_ID & " AND SCREEN_ID = " & CURRENT_SCREEN_ID)
|
||||||
EBENE3_COLUMNNAME = ""
|
EBENE3_COLUMNNAME = ""
|
||||||
EBENE2_GRID_RESULT = Nothing
|
EBENE2_GRID_RESULT = Nothing
|
||||||
EBENE3_GRID_RESULT = Nothing
|
EBENE3_GRID_RESULT = Nothing
|
||||||
@ -1959,7 +1967,12 @@ Public Class frmConstructor_Main
|
|||||||
ACT_EBENE_STRING = EBENE3_ENTITY
|
ACT_EBENE_STRING = EBENE3_ENTITY
|
||||||
If LogErrorsOnly = False Then ClassLogger.Add(" >> Level 3 selected in TreeView", False)
|
If LogErrorsOnly = False Then ClassLogger.Add(" >> Level 3 selected in TreeView", False)
|
||||||
|
|
||||||
EBENE3_COLUMNNAME = ClassDatabase.Execute_Scalar("SELECT COLUMN_NAME1 FROM VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = " & CONSTRUCTORID & " AND FORM_ID = " & ENTITY_ID & " AND SCREEN_ID = " & CURRENT_SCREEN_ID)
|
Dim result4 = (From form In DT_VWPMO_CONSTRUCTOR_FORMS.AsEnumerable()
|
||||||
|
Select form
|
||||||
|
Where form.Item("FORM_ID") = ENTITY_ID).Single()
|
||||||
|
|
||||||
|
EBENE3_COLUMNNAME = result4.Item("COLUMN_NAME1")
|
||||||
|
'EBENE3_COLUMNNAME = ClassDatabase.Execute_Scalar("SELECT COLUMN_NAME1 FROM VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = " & CONSTRUCTORID & " AND FORM_ID = " & ENTITY_ID & " AND SCREEN_ID = " & CURRENT_SCREEN_ID)
|
||||||
'Wenn bereits ein Record für Ebene 1 gewählt wurde dann eisnchränken
|
'Wenn bereits ein Record für Ebene 1 gewählt wurde dann eisnchränken
|
||||||
If EBENE2_RECID > 0 Then
|
If EBENE2_RECID > 0 Then
|
||||||
'Parent-ID setzen
|
'Parent-ID setzen
|
||||||
@ -1995,8 +2008,7 @@ Public Class frmConstructor_Main
|
|||||||
EBENE3_GRID_RESULT = Nothing
|
EBENE3_GRID_RESULT = Nothing
|
||||||
End Select
|
End Select
|
||||||
|
|
||||||
elapsed = sw.Elapsed.TotalSeconds - elapsed
|
|
||||||
If LogErrorsOnly = False Then ClassLogger.Add(" >> Select Case entities took " & Format(elapsed, "0.000000000") & " seconds", False)
|
|
||||||
_ENTITYSTRING = ACT_EBENE_STRING
|
_ENTITYSTRING = ACT_EBENE_STRING
|
||||||
PARENT_ID = PARENT_RECORDID
|
PARENT_ID = PARENT_RECORDID
|
||||||
act_FormViewID = ClassDatabase.Execute_Scalar("SELECT GUID FROM TBPMO_FORM_VIEW where FORM_ID = " & ENTITY_ID)
|
act_FormViewID = ClassDatabase.Execute_Scalar("SELECT GUID FROM TBPMO_FORM_VIEW where FORM_ID = " & ENTITY_ID)
|
||||||
@ -2157,10 +2169,8 @@ Public Class frmConstructor_Main
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
elapsed = sw.Elapsed.TotalSeconds
|
sw.Done()
|
||||||
sw.Stop()
|
|
||||||
sw.Reset()
|
|
||||||
If LogErrorsOnly = False Then ClassLogger.Add(" >> Load_Entity_Data took " & Format(elapsed, "0.000000000") & " seconds", False)
|
|
||||||
If ENTITY_RELOAD_AFT_CONTROL_LOAD = True Then
|
If ENTITY_RELOAD_AFT_CONTROL_LOAD = True Then
|
||||||
Reload_Entity_while_Control_Load()
|
Reload_Entity_while_Control_Load()
|
||||||
End If
|
End If
|
||||||
@ -4669,16 +4679,28 @@ Public Class frmConstructor_Main
|
|||||||
|
|
||||||
Dim sw As Stopwatch = Stopwatch.StartNew()
|
Dim sw As Stopwatch = Stopwatch.StartNew()
|
||||||
Dim elapsed As Double
|
Dim elapsed As Double
|
||||||
Dim sql As String = "SELECT * from VWPMO_CONSTRUCTOR_FORMS WHERE PARENT_ID = 0 AND CONSTRUCT_ID = " & CONSTRUCTORID & " AND SCREEN_ID = " & CURRENT_SCREEN_ID & " ORDER BY SEQUENCE"
|
|
||||||
Dim dt As DataTable = ClassDatabase.Return_Datatable(sql)
|
|
||||||
|
|
||||||
If Not IsNothing(dt) Then
|
' LINQ für Zugriff auf DT_VWPMO_CONSTRUCTOR_FORMS
|
||||||
If dt.Rows.Count >= 1 Then
|
Dim result = From form In DT_VWPMO_CONSTRUCTOR_FORMS.AsEnumerable()
|
||||||
Dim tn As TreeNode = TreeViewMain.Nodes(0)
|
Select form
|
||||||
TreeViewMain.SelectedNode = tn
|
Order By form.Item("SEQUENCE")
|
||||||
TreeViewMain.Select()
|
Where form.Item("PARENT_ID") = 0
|
||||||
End If
|
|
||||||
|
If result.Count >= 1 Then
|
||||||
|
Dim tn As TreeNode = TreeViewMain.Nodes(0)
|
||||||
|
TreeViewMain.SelectedNode = tn
|
||||||
|
TreeViewMain.Select()
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
'Dim sql As String = "SELECT * from VWPMO_CONSTRUCTOR_FORMS WHERE PARENT_ID = 0 AND CONSTRUCT_ID = " & CONSTRUCTORID & " AND SCREEN_ID = " & CURRENT_SCREEN_ID & " ORDER BY SEQUENCE"
|
||||||
|
'Dim dt As DataTable = ClassDatabase.Return_Datatable(sql)
|
||||||
|
'If Not IsNothing(dt) Then
|
||||||
|
' If dt.Rows.Count >= 1 Then
|
||||||
|
' Dim tn As TreeNode = TreeViewMain.Nodes(0)
|
||||||
|
' TreeViewMain.SelectedNode = tn
|
||||||
|
' TreeViewMain.Select()
|
||||||
|
' End If
|
||||||
|
'End If
|
||||||
elapsed = sw.Elapsed.TotalSeconds
|
elapsed = sw.Elapsed.TotalSeconds
|
||||||
sw.Stop()
|
sw.Stop()
|
||||||
If LogErrorsOnly = False Then ClassLogger.Add(String.Format(" >> Load_Level1 took {0} to load", Format(elapsed, "0.000000000") & " seconds"), False)
|
If LogErrorsOnly = False Then ClassLogger.Add(String.Format(" >> Load_Level1 took {0} to load", Format(elapsed, "0.000000000") & " seconds"), False)
|
||||||
@ -4832,25 +4854,34 @@ Public Class frmConstructor_Main
|
|||||||
Sub Load_ParentConnections()
|
Sub Load_ParentConnections()
|
||||||
Try
|
Try
|
||||||
' SELECT COLUMN_NAME1 FROM VWTEMP_cPMO_FORM
|
' SELECT COLUMN_NAME1 FROM VWTEMP_cPMO_FORM
|
||||||
Dim sql = String.Format("SELECT TOP 1 PARENT_ID, [dbo].[FNPMO_GETOBJECTCAPTION]('{0}','FORMVIEW_TITLE' + CONVERT(VARCHAR(5), FORM_VIEW_ID), {1}) AS 'FORM_TITLE' " & _
|
'Dim sql = String.Format("SELECT TOP 1 PARENT_ID, [dbo].[FNPMO_GETOBJECTCAPTION]('{0}','FORMVIEW_TITLE' + CONVERT(VARCHAR(5), FORM_VIEW_ID), {1}) AS 'FORM_TITLE' " & _
|
||||||
"from VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = {2} AND SCREEN_ID = {3} AND FORM_ID = {4}", USER_LANGUAGE, CURRENT_SCREEN_ID, CONSTRUCTORID, CURRENT_SCREEN_ID, ENTITY_ID)
|
' "from VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = {2} AND SCREEN_ID = {3} AND FORM_ID = {4}", USER_LANGUAGE, CURRENT_SCREEN_ID, CONSTRUCTORID, CURRENT_SCREEN_ID, ENTITY_ID)
|
||||||
Dim DT As DataTable = ClassDatabase.Return_Datatable(sql, "Parent-Data")
|
'Dim DT As DataTable = ClassDatabase.Return_Datatable(sql, "Parent-Data")
|
||||||
|
|
||||||
Dim Parent_ID = DT.Rows(0).Item(0)
|
' TODO: LINQ für Zugriff auf DT_VWPMO_CONSTRUCTOR_FORMS
|
||||||
Dim Title = DT.Rows(0).Item(1)
|
Dim result = (From form In DT_VWPMO_CONSTRUCTOR_FORMS.AsEnumerable()
|
||||||
Dim Colname = "[" & ClassDatabase.Execute_Scalar("SELECT TOP 1 COLUMN_NAME1 from VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = " & CONSTRUCTORID & " AND FORM_ID = " & Parent_ID & " AND SCREEN_ID = " & CURRENT_SCREEN_ID, True) & "]"
|
Select form
|
||||||
|
Where form.Item("FORM_ID") = ENTITY_ID).Single()
|
||||||
|
Dim Parent_ID = result.Item("PARENT_ID")
|
||||||
|
Dim Title = result.Item("CAPTION")
|
||||||
|
Dim Colname = "[" & result.Item("COLUMN_NAME1") & "]"
|
||||||
|
|
||||||
|
'Dim Parent_ID = DT.Rows(0).Item(0)
|
||||||
|
'Dim Title = DT.Rows(0).Item(1)
|
||||||
|
'Dim Colname = "[" & ClassDatabase.Execute_Scalar("SELECT TOP 1 COLUMN_NAME1 from VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = " & CONSTRUCTORID & " AND FORM_ID = " & Parent_ID & " AND SCREEN_ID = " & CURRENT_SCREEN_ID, True) & "]"
|
||||||
'Load_GridViewParentEntity_Layout()
|
'Load_GridViewParentEntity_Layout()
|
||||||
If Not IsNothing(Parent_ID) And Not IsNothing(Colname) Then
|
If Not IsNothing(Parent_ID) And Not IsNothing(Colname) Then
|
||||||
|
Dim sql
|
||||||
If Colname = "[]" Then
|
If Colname = "[]" Then
|
||||||
sql = "select * from VWTEMP_PMO_FORM" & Parent_ID.ToString
|
Sql = "select * from VWTEMP_PMO_FORM" & Parent_ID.ToString
|
||||||
Else
|
Else
|
||||||
Try
|
Try
|
||||||
sql = "select [Record-ID], " & Colname & " from VWTEMP_PMO_FORM" & Parent_ID.ToString
|
Sql = "select [Record-ID], " & Colname & " from VWTEMP_PMO_FORM" & Parent_ID.ToString
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
sql = "select * from VWTEMP_PMO_FORM" & Parent_ID.ToString
|
Sql = "select * from VWTEMP_PMO_FORM" & Parent_ID.ToString
|
||||||
End Try
|
End Try
|
||||||
End If
|
End If
|
||||||
Dim DTGrid As DataTable = ClassDatabase.Return_Datatable(sql, "VariableSelect ParentEntity")
|
Dim DTGrid As DataTable = ClassDatabase.Return_Datatable(Sql, "VariableSelect ParentEntity")
|
||||||
GridControlParent.DataSource = Nothing
|
GridControlParent.DataSource = Nothing
|
||||||
GridViewParent.Columns.Clear()
|
GridViewParent.Columns.Clear()
|
||||||
'Databinding Neu
|
'Databinding Neu
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user