Merge branch 'master' of http://172.24.11.74:90/scm/git/RecordOrganizer
This commit is contained in:
commit
7e14b60c8d
139
app/DD-Record-Organizer/ClassPosGrid.vb
Normal file
139
app/DD-Record-Organizer/ClassPosGrid.vb
Normal file
@ -0,0 +1,139 @@
|
||||
Imports DevExpress.XtraEditors.Controls
|
||||
Imports DevExpress.XtraEditors.Repository
|
||||
Imports DevExpress.XtraGrid.Columns
|
||||
Imports DevExpress.XtraGrid.Views.Grid
|
||||
|
||||
Public Class ClassPosGrid
|
||||
|
||||
Private Shared Sub FormatDateColumn(grid As GridView, column As GridColumn, dateEdit As RepositoryItemDateEdit)
|
||||
column.ColumnEdit = dateEdit
|
||||
End Sub
|
||||
|
||||
Private Shared Sub FormatBooleanColumn(grid As GridView, column As GridColumn, checkboxEdit As RepositoryItemCheckEdit)
|
||||
column.ColumnEdit = checkboxEdit
|
||||
End Sub
|
||||
|
||||
Private Shared Sub FormatComboColumn(grid As GridView, column As GridColumn, comboEdit As RepositoryItemComboBox, sqlCommand As String, staticList As String)
|
||||
Dim comboItems As ComboBoxItemCollection = comboEdit.Items
|
||||
|
||||
If staticList <> "" Then
|
||||
Dim staticListItems() As String = staticList.Split(";")
|
||||
|
||||
comboItems.BeginUpdate()
|
||||
Try
|
||||
For Each item In staticListItems
|
||||
comboItems.Add(item)
|
||||
Next
|
||||
Finally
|
||||
comboItems.EndUpdate()
|
||||
End Try
|
||||
ElseIf sqlCommand <> "" Then
|
||||
Dim DT As DataTable
|
||||
|
||||
Try
|
||||
DT = ClassDatabase.Return_Datatable(sqlCommand)
|
||||
Catch ex As Exception
|
||||
ClassLogger.Add("Error in FormatComboColumn: " & ex.Message)
|
||||
Exit Sub
|
||||
End Try
|
||||
|
||||
comboItems.BeginUpdate()
|
||||
Try
|
||||
For Each row As DataRow In DT.Rows
|
||||
Dim value As String = row.Item(0)
|
||||
comboItems.Add(value)
|
||||
Next
|
||||
Finally
|
||||
comboItems.EndUpdate()
|
||||
End Try
|
||||
End If
|
||||
|
||||
column.ColumnEdit = comboEdit
|
||||
End Sub
|
||||
|
||||
Private Shared Sub FormatTextColumn(grid As GridView, column As GridColumn, controlId As Integer)
|
||||
Dim format As String = ClassDatabase.Execute_Scalar("SELECT FORMAT_TYPE FROM TBPMO_CONTROL WHERE GUID = " & controlId)
|
||||
|
||||
If IsNothing(format) Then
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
If (format = "Currency") Then
|
||||
column.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Custom
|
||||
column.DisplayFormat.FormatString = "c"
|
||||
ElseIf (format = "Decimal") Then
|
||||
column.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Numeric
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Shared Sub FormatColumns(grid As GridView, formId As Integer)
|
||||
Dim SQL As String = String.Format("SELECT CONTROL_ID, CONTROL_COL_NAME, CTRLTYPE_ID, CONTROL_SQLCOMMAND_1 AS CONTROL_SQL, CONTROL_STATIC_LIST, CONTROL_SHOW_COLUMN FROM VWPMO_CONTROL_SCREEN WHERE CTRLTYPE_ID IN (3,4,10,11) AND FORM_ID = {0}", formId)
|
||||
Dim DT As DataTable = ClassDatabase.Return_Datatable(SQL)
|
||||
|
||||
Dim dateEdit As New RepositoryItemDateEdit()
|
||||
Dim comboEdit As New RepositoryItemComboBox()
|
||||
Dim checkboxEdit = New RepositoryItemCheckEdit()
|
||||
|
||||
' Spalteneditoren dem Grid hinzufügen
|
||||
grid.GridControl.RepositoryItems.AddRange({dateEdit, comboEdit, checkboxEdit})
|
||||
|
||||
For Each row As DataRow In DT.Rows
|
||||
Dim typeId = row.Item("CTRLTYPE_ID")
|
||||
Dim controlId = row.Item("CONTROL_ID")
|
||||
Dim columnName = row.Item("CONTROL_COL_NAME")
|
||||
Dim sqlCommand = row.Item("CONTROL_SQL")
|
||||
Dim staticList = row.Item("CONTROL_STATIC_LIST")
|
||||
Dim showColumn = row.Item("CONTROL_SHOW_COLUMN")
|
||||
|
||||
Dim column As GridColumn = grid.Columns.Item(columnName)
|
||||
|
||||
' Überprüfen, ob der Spaltenname exisitiert
|
||||
If IsNothing(column) Then
|
||||
Resume Next
|
||||
End If
|
||||
|
||||
' Spalten ausblenden, die nicht angezeigt werden sollen
|
||||
If (showColumn = False) Then
|
||||
column.Visible = False
|
||||
Resume Next
|
||||
End If
|
||||
|
||||
' Editoren zuweisen
|
||||
Select Case typeId
|
||||
Case 2 'Textbox
|
||||
FormatTextColumn(grid, column, controlId)
|
||||
Case 3 'Combobox
|
||||
FormatComboColumn(grid, column, comboEdit, sqlCommand, staticList)
|
||||
Case 4 'Datum
|
||||
FormatDateColumn(grid, column, dateEdit)
|
||||
Case 10, 11 'Checkbox & Radiobutton
|
||||
FormatBooleanColumn(grid, column, checkboxEdit)
|
||||
End Select
|
||||
Next
|
||||
|
||||
' Spalten Statisch Verstecken
|
||||
HideColumnIfExists(grid.Columns.Item("Record-ID"))
|
||||
HideColumnIfExists(grid.Columns.Item("Form-ID"))
|
||||
HideColumnIfExists(grid.Columns.Item("ROW_COLOR"))
|
||||
HideColumnIfExists(grid.Columns.Item("files?"))
|
||||
HideColumnIfExists(grid.Columns.Item("file count"))
|
||||
|
||||
' Spalten Statisch ReadOnly Machen
|
||||
MakeReadOnlyIfExists(grid.Columns.Item("AddedWho"))
|
||||
MakeReadOnlyIfExists(grid.Columns.Item("AddedWhen"))
|
||||
MakeReadOnlyIfExists(grid.Columns.Item("ChangedWho"))
|
||||
MakeReadOnlyIfExists(grid.Columns.Item("ChangedWhen"))
|
||||
End Sub
|
||||
|
||||
Private Shared Sub HideColumnIfExists(column As GridColumn)
|
||||
If Not IsNothing(column) Then
|
||||
column.Visible = False
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Shared Sub MakeReadOnlyIfExists(column As GridColumn)
|
||||
If Not IsNothing(column) Then
|
||||
column.OptionsColumn.AllowEdit = False
|
||||
End If
|
||||
End Sub
|
||||
End Class
|
||||
@ -288,6 +288,7 @@
|
||||
<Compile Include="ClassMoreMetadata.vb" />
|
||||
<Compile Include="ClassNodeNavigation.vb" />
|
||||
<Compile Include="ClassNodes.vb" />
|
||||
<Compile Include="ClassPosGrid.vb" />
|
||||
<Compile Include="ClassProxy.vb" />
|
||||
<Compile Include="ClassRecordCommands.vb" />
|
||||
<Compile Include="ClassRecordState.vb" />
|
||||
|
||||
@ -3131,83 +3131,6 @@ Public Class frmConstructor_Main
|
||||
Me.Close()
|
||||
End If
|
||||
|
||||
End Sub
|
||||
Sub Create_Grid_Editor(formId As Integer)
|
||||
Try
|
||||
Dim SQL As String = "SELECT CONTROL_COL_NAME,CONTROL_SQLCOMMAND_1,CONTROL_STATIC_LIST FROM VWPMO_CONTROL_SCREEN WHERE CTRLTYPE_ID = 3 AND FORM_ID = " & formId
|
||||
Dim ComboColumns As DataTable = ClassDatabase.Return_Datatable(SQL, True)
|
||||
|
||||
' Alle Checkboxen für aktuelle Ansicht heraussuchen
|
||||
Dim sqlcheck As String = "SELECT COL_NAME FROM TBPMO_CONTROL WHERE CONTROL_TYPE_ID in (10,11) AND FORM_ID = " & formId
|
||||
Dim dtcheck As DataTable = ClassDatabase.Return_Datatable(sqlcheck, True)
|
||||
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
|
||||
' Den Editor Initialisieren und Optionen setzen
|
||||
Dim CheckBoxEditorForDisplay = New RepositoryItemCheckEdit()
|
||||
CheckBoxEditorForDisplay.ValueChecked = 1
|
||||
CheckBoxEditorForDisplay.ValueUnchecked = 0
|
||||
' Alle Checkbox Spalten durchgehen und CheckBoxEditor zuweisen
|
||||
For Each col As String In listcheck
|
||||
grvwGridPos.GridControl.RepositoryItems.Add(CheckBoxEditorForDisplay)
|
||||
|
||||
If Not IsNothing(grvwGridPos.Columns(col)) Then
|
||||
grvwGridPos.Columns(col).ColumnEdit = CheckBoxEditorForDisplay
|
||||
End If
|
||||
Next
|
||||
|
||||
|
||||
For Each col As DataRow In ComboColumns.Rows
|
||||
Dim colName As String = col.Item(0)
|
||||
|
||||
Dim hasSqlCommand = col.Item(1).ToString() <> ""
|
||||
Dim hasStaticList = col.Item(2).ToString() <> ""
|
||||
|
||||
If hasStaticList = True Then
|
||||
Dim comboEdit1 As New RepositoryItemComboBox()
|
||||
Dim comboItems1 As ComboBoxItemCollection = comboEdit1.Items
|
||||
Dim staticListItems = col.Item(2).ToString.Split(";")
|
||||
comboItems1.BeginUpdate()
|
||||
Try
|
||||
For Each item In staticListItems
|
||||
comboItems1.Add(item)
|
||||
Next
|
||||
Finally
|
||||
comboItems1.EndUpdate()
|
||||
End Try
|
||||
GridControlPos.RepositoryItems.Add(comboEdit1)
|
||||
If Not IsNothing(grvwGridPos.Columns(colName)) Then
|
||||
grvwGridPos.Columns(colName).ColumnEdit = comboEdit1
|
||||
End If
|
||||
ElseIf hasSqlCommand = True Then
|
||||
SQL = col.Item(1).ToString()
|
||||
Dim dt As DataTable = ClassDatabase.Return_Datatable(SQL)
|
||||
Dim comboEdit2 As New RepositoryItemComboBox()
|
||||
Dim comboItems2 As ComboBoxItemCollection = comboEdit2.Items
|
||||
For Each row As DataRow In dt.Rows
|
||||
Dim value = row.Item(0)
|
||||
comboItems2.BeginUpdate()
|
||||
Try
|
||||
comboItems2.Add(value)
|
||||
Finally
|
||||
comboItems2.EndUpdate()
|
||||
End Try
|
||||
Next
|
||||
GridControlPos.RepositoryItems.Add(comboEdit2)
|
||||
If Not IsNothing(grvwGridPos.Columns(colName)) Then
|
||||
grvwGridPos.Columns(colName).ColumnEdit = comboEdit2
|
||||
End If
|
||||
End If
|
||||
Next
|
||||
Catch ex As Exception
|
||||
ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error", "Error in Create_Grid_Editor: ", ex.Message)
|
||||
End Try
|
||||
|
||||
End Sub
|
||||
|
||||
Sub Load_Pos_Data()
|
||||
@ -3223,9 +3146,10 @@ Public Class frmConstructor_Main
|
||||
Dim bs As New BindingSource
|
||||
bs.DataSource = DT_POS
|
||||
BindingNavigatorPOS.BindingSource = bs
|
||||
' --- Editoren laden für Combobox ---
|
||||
Create_Grid_Editor(POS_ENTITY)
|
||||
HideColumns_Pos(PARENT_RECORDID)
|
||||
' --- Editoren laden ---
|
||||
ClassPosGrid.FormatColumns(grvwGridPos, POS_ENTITY)
|
||||
'ClassPosGrid.CreateComboEditor(grvwGridPos, POS_ENTITY)
|
||||
'HideColumns_Pos(PARENT_RECORDID)
|
||||
End If
|
||||
End If
|
||||
Catch ex As Exception
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user