jj 23.05 datatable performance
This commit is contained in:
parent
b141e20f58
commit
49e5e40b54
@ -405,10 +405,13 @@
|
||||
stopwatch.Start()
|
||||
End Sub
|
||||
|
||||
Public Sub Done()
|
||||
Public Function Done() As Long
|
||||
stopwatch.Stop()
|
||||
Console.WriteLine("{0} took {1} milliseconds to complete", label, stopwatch.ElapsedMilliseconds)
|
||||
End Sub
|
||||
Dim message = String.Format("{0} took {1} milliseconds to complete", label, stopwatch.ElapsedMilliseconds)
|
||||
Console.WriteLine(message)
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(message, False)
|
||||
Return stopwatch.ElapsedMilliseconds
|
||||
End Function
|
||||
|
||||
|
||||
End Class
|
||||
|
||||
@ -221,7 +221,7 @@ Public Class frmConstructor_Main
|
||||
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' " & _
|
||||
"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_CONSTRUCT_VIEW = ClassDatabase.Return_Datatable("SELECT * FROM TBPMO_FORM_CONSTRUCTOR WHERE GUID = " & CONSTRUCTORID)
|
||||
If DT_CONSTRUCT_VIEW.Rows.Count = 1 Then
|
||||
@ -241,7 +241,6 @@ Public Class frmConstructor_Main
|
||||
'System.Windows.Forms.MessageBox.Show(ex.Message)
|
||||
End Try
|
||||
Me.Cursor = Cursors.Default
|
||||
|
||||
End Sub
|
||||
|
||||
#Region "Layout"
|
||||
@ -565,28 +564,6 @@ Public Class frmConstructor_Main
|
||||
|
||||
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)
|
||||
Try
|
||||
If GRID_TYPE = GridType.Grid Then
|
||||
@ -594,19 +571,13 @@ Public Class frmConstructor_Main
|
||||
_VIEWNAME = "VWTEMP_PMO_FORM" & FormId.ToString
|
||||
_ENTITYSQL = "SELECT T.* FROM VWTEMP_PMO_FORM" & FormId.ToString & " T"
|
||||
Else 'Tiles und Carousel bekommen Quick View
|
||||
' Define the filter
|
||||
Dim DT As DataTable = DT_VWPMO_CONSTRUCTOR_FORMS
|
||||
Dim filter As String = "FORM_ID = " & FormId & " AND SCREEN_ID = " & CURRENT_SCREEN_ID
|
||||
' Filter the rows using Select() method of DataTable
|
||||
Dim FilteredRows As DataRow() = DT.Select(filter)
|
||||
' LINQ für Zugriff auf DT_VWPMO_CONSTRUCTOR_FORMS
|
||||
Dim query = From form In DT_VWPMO_CONSTRUCTOR_FORMS.AsEnumerable()
|
||||
Select form
|
||||
Where form.Item("FORM_ID") = FormId
|
||||
|
||||
For Each row As DataRow In FilteredRows
|
||||
_ENTITYSQL = row("SQL_QUICK_VIEW")
|
||||
' ListBox1.Items.Add(String.Format("{0}, {1}", row("CompanyName"), row("City")))
|
||||
Next
|
||||
_ENTITYSQL = query.Single().Item("SQL_QUICK_VIEW")
|
||||
|
||||
' _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
|
||||
_ENTITYSQL = "SELECT T.* FROM VWTEMP_PMO_FORM" & FormId.ToString & " T"
|
||||
If IS_SINGLE_RECORD = True Or FORM_TYPE = 5 Then
|
||||
@ -1018,26 +989,24 @@ Public Class frmConstructor_Main
|
||||
End Sub
|
||||
|
||||
Sub Load_Tree_View(ConstructorId As Integer)
|
||||
Dim sw As New Stopwatch
|
||||
sw.Start()
|
||||
Dim sw As New SW("Load_Tree_View")
|
||||
|
||||
TreeViewMain.Nodes.Clear()
|
||||
Dim SQL As String
|
||||
Dim DT, DT2, DT3 As DataTable
|
||||
|
||||
' Daten für Level1 Nodes Laden
|
||||
SQL = String.Format("SELECT *, [dbo].[FNPMO_GETOBJECTCAPTION]('{0}','FORMVIEW_TITLE' + CONVERT(VARCHAR(5), FORM_VIEW_ID), {1}) AS 'CAPTION' " & _
|
||||
"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)
|
||||
DT = ClassDatabase.Return_Datatable(SQL)
|
||||
' LINQ für Zugriff auf DT_VWPMO_CONSTRUCTOR_FORMS
|
||||
Dim query1 = From form In DT_VWPMO_CONSTRUCTOR_FORMS.AsEnumerable()
|
||||
Select form
|
||||
Order By form.Item("SEQUENCE")
|
||||
Where form.Item("PARENT_ID") = 0
|
||||
|
||||
If DT Is Nothing Then
|
||||
Exit Sub
|
||||
End If
|
||||
Dim Rows1 = query1.ToList()
|
||||
|
||||
For Each Row1 In Rows1
|
||||
|
||||
If DT.Rows.Count >= 1 Then
|
||||
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
|
||||
|
||||
@ -1046,20 +1015,21 @@ Public Class frmConstructor_Main
|
||||
LEVEL1_NODE.Tag = LEVEL1_ID
|
||||
|
||||
' TreeView Rootnode einfügen
|
||||
|
||||
TreeViewMain.Nodes.Add(LEVEL1_NODE)
|
||||
Dim SQL2 As String
|
||||
' Daten für Level2 Nodes Laden
|
||||
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
|
||||
For Each row As DataRow In DT2.Rows
|
||||
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")
|
||||
' LINQ für Zugriff auf DT_VWPMO_CONSTRUCTOR_FORMS
|
||||
Dim query2 = From form In DT_VWPMO_CONSTRUCTOR_FORMS.AsEnumerable()
|
||||
Select form
|
||||
Order By form.Item("SEQUENCE")
|
||||
Where form.Item("PARENT_ID") = LEVEL1_ID
|
||||
|
||||
Dim Rows2 = query2.ToList()
|
||||
|
||||
For Each Row2 In Rows2
|
||||
|
||||
Dim LEVEL2_TITLE As String = Row2.Item("CAPTION").ToString
|
||||
Dim LEVEL2_ID As Integer = Row2.Item("FORM_ID")
|
||||
Dim LEVEL2_PARENT_ID As Integer = Row2.Item("PARENT_ID")
|
||||
|
||||
' Node erstellen..
|
||||
LEVEL2_NODE = New TreeNode(LEVEL2_TITLE)
|
||||
@ -1067,39 +1037,35 @@ Public Class frmConstructor_Main
|
||||
' ..und einfügen
|
||||
LEVEL1_NODE.Nodes.Add(LEVEL2_NODE)
|
||||
|
||||
' Daten für Level3 Nodes laden
|
||||
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)
|
||||
' 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
|
||||
|
||||
For Each subrow As DataRow In DT3.Rows
|
||||
Dim LEVEL3_TITLE As String = subrow.Item("CAPTION")
|
||||
Dim LEVEL3_ID As Integer = subrow.Item("FORM_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
|
||||
|
||||
End If
|
||||
|
||||
|
||||
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()
|
||||
|
||||
sw.Done()
|
||||
End Sub
|
||||
Sub Load_Tree_View_Data()
|
||||
Dim sw As New Stopwatch
|
||||
@ -1122,8 +1088,14 @@ Public Class frmConstructor_Main
|
||||
Else
|
||||
ACT_EBENE = 1
|
||||
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
|
||||
elapsed = sw.Elapsed.TotalSeconds
|
||||
@ -1145,6 +1117,12 @@ Public Class frmConstructor_Main
|
||||
Dim PARENT_ID As Integer
|
||||
Dim TYPE_ID As Integer
|
||||
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 DT As DataTable = ClassDatabase.Return_Datatable(sql, "ShowNodeAmounts")
|
||||
PARENT_ID = DT.Rows(0).Item(0)
|
||||
@ -1827,9 +1805,8 @@ Public Class frmConstructor_Main
|
||||
End Sub
|
||||
Sub Load_Entity_Data(ClickedLevel As Integer)
|
||||
Try
|
||||
Dim sw As New Stopwatch
|
||||
sw.Start()
|
||||
Dim elapsed As Double
|
||||
Dim sw As New SW("Load_Entity_Data")
|
||||
|
||||
Me.Cursor = Cursors.WaitCursor
|
||||
RECORD_CHANGED = False
|
||||
RECORD_ID = 0
|
||||
@ -1837,14 +1814,28 @@ Public Class frmConstructor_Main
|
||||
'Setzen von Rechten
|
||||
'GetSet_Rights()
|
||||
'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)
|
||||
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)
|
||||
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
|
||||
GRID_TYPE_ID = VIEW_ID_RUNTIME
|
||||
Else
|
||||
@ -1870,8 +1861,15 @@ Public Class frmConstructor_Main
|
||||
End Select
|
||||
SELECTED_RECORD_ID = 0
|
||||
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
|
||||
MsgBox("Error in GetParentID for selectedNode - Check Logfile", MsgBoxStyle.Exclamation)
|
||||
Exit Sub
|
||||
@ -1879,8 +1877,7 @@ Public Class frmConstructor_Main
|
||||
|
||||
'Abhängig von der Entität die Selektierungs-Daten laden
|
||||
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
|
||||
ENTITY_RECORD_COUNT = ClassDatabase.Execute_Scalar("SELECT COUNT(*) FROM TBPMO_RECORD where FORM_ID = " & ENTITY_ID, True)
|
||||
Select Case ClickedLevel
|
||||
@ -1902,7 +1899,13 @@ Public Class frmConstructor_Main
|
||||
'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 = " & 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 = ""
|
||||
EBENE3_COLUMNNAME = ""
|
||||
EBENE2_GRID_RESULT = Nothing
|
||||
@ -1949,7 +1952,12 @@ Public Class frmConstructor_Main
|
||||
' End If
|
||||
'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 = ""
|
||||
EBENE2_GRID_RESULT = Nothing
|
||||
EBENE3_GRID_RESULT = Nothing
|
||||
@ -1959,7 +1967,12 @@ Public Class frmConstructor_Main
|
||||
ACT_EBENE_STRING = EBENE3_ENTITY
|
||||
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
|
||||
If EBENE2_RECID > 0 Then
|
||||
'Parent-ID setzen
|
||||
@ -1995,8 +2008,7 @@ Public Class frmConstructor_Main
|
||||
EBENE3_GRID_RESULT = Nothing
|
||||
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
|
||||
PARENT_ID = PARENT_RECORDID
|
||||
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.Stop()
|
||||
sw.Reset()
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" >> Load_Entity_Data took " & Format(elapsed, "0.000000000") & " seconds", False)
|
||||
sw.Done()
|
||||
|
||||
If ENTITY_RELOAD_AFT_CONTROL_LOAD = True Then
|
||||
Reload_Entity_while_Control_Load()
|
||||
End If
|
||||
@ -4669,16 +4679,28 @@ Public Class frmConstructor_Main
|
||||
|
||||
Dim sw As Stopwatch = Stopwatch.StartNew()
|
||||
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
|
||||
If dt.Rows.Count >= 1 Then
|
||||
' LINQ für Zugriff auf DT_VWPMO_CONSTRUCTOR_FORMS
|
||||
Dim result = From form In DT_VWPMO_CONSTRUCTOR_FORMS.AsEnumerable()
|
||||
Select form
|
||||
Order By form.Item("SEQUENCE")
|
||||
Where form.Item("PARENT_ID") = 0
|
||||
|
||||
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
|
||||
sw.Stop()
|
||||
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()
|
||||
Try
|
||||
' 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' " & _
|
||||
"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 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)
|
||||
'Dim DT As DataTable = ClassDatabase.Return_Datatable(sql, "Parent-Data")
|
||||
|
||||
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) & "]"
|
||||
' TODO: LINQ für Zugriff auf DT_VWPMO_CONSTRUCTOR_FORMS
|
||||
Dim result = (From form In DT_VWPMO_CONSTRUCTOR_FORMS.AsEnumerable()
|
||||
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()
|
||||
If Not IsNothing(Parent_ID) And Not IsNothing(Colname) Then
|
||||
Dim sql
|
||||
If Colname = "[]" Then
|
||||
sql = "select * from VWTEMP_PMO_FORM" & Parent_ID.ToString
|
||||
Sql = "select * from VWTEMP_PMO_FORM" & Parent_ID.ToString
|
||||
Else
|
||||
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
|
||||
sql = "select * from VWTEMP_PMO_FORM" & Parent_ID.ToString
|
||||
Sql = "select * from VWTEMP_PMO_FORM" & Parent_ID.ToString
|
||||
End Try
|
||||
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
|
||||
GridViewParent.Columns.Clear()
|
||||
'Databinding Neu
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user