2019-03-14 17:00:39 +01:00

68 lines
2.4 KiB
VB.net

Imports DevExpress.XtraEditors
Imports DevExpress.XtraLayout
Public Class frmFormDesigner
Private Const CONTROL_TEXTEDIT = "TextBox"
Private Const CONTROL_MEMOEDIT = "Memoedit"
Private Const CONTROL_COMBOEDIT = "Combobox"
Private Const CONTROL_CHECKEDIT = "Checkbox"
Private Const CONTROL_RADIOEDIT = "Radiobutton"
Private Const CONTROL_DATEEDIT = "Datepicker"
Private Sub frmFormDesigner_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim oFormId As Int64 = 104
My.Channel.CreateDatabaseRequest("Load Controls", True)
Dim oSQL As String = $"SELECT * FROM VWICM_FORMCONTROL WHERE FORMID = {oFormId}"
Dim oResult = My.Channel.ReturnDatatable(oSQL)
Dim oTable = oResult.Table
If Not oResult.OK Then
ShowErrorMessage(New ApplicationException(oResult.ErrorMessage))
End If
My.Channel.CloseDatabaseRequest()
LoadControls(oTable)
End Sub
Private Sub LoadControls(Datatable As DataTable)
For Each oRow As DataRow In Datatable.Rows
Dim oEditor As BaseEdit = Nothing
Dim oCaption As String = oRow.Item("COLNAME")
Dim oControlType As String = oRow.Item("CTRLTYPE")
Dim oControlId As String = oRow.Item("RECORD_ID").ToString
Select Case oControlType
Case CONTROL_TEXTEDIT
Dim oTextEdit As New TextEdit() With {.Name = oControlId}
oEditor = oTextEdit
Case CONTROL_MEMOEDIT
Dim oMemoEdit As New MemoEdit() With {.Name = oControlId}
oEditor = oMemoEdit
Case CONTROL_DATEEDIT
Dim oDateEdit As New DateEdit() With {.Name = oControlId}
oEditor = oDateEdit
Case CONTROL_CHECKEDIT
Dim oCheckEdit As New CheckEdit() With {.Name = oControlId}
oEditor = oCheckEdit
Case CONTROL_COMBOEDIT
Dim oComboEdit As New ComboBoxEdit() With {.Name = oControlId}
oEditor = oComboEdit
Case Else
End Select
If oEditor Is Nothing Then
Continue For
End If
LayoutControlGroupMain.AddItem(oCaption, oEditor)
Next
LayoutControlGroupMain.AddItem(New EmptySpaceItem())
End Sub
End Class