This commit is contained in:
2020-09-01 14:46:50 +02:00
parent d96882ce77
commit 50b3bc8d9e
6 changed files with 413 additions and 283 deletions

View File

@@ -126,28 +126,18 @@ Public Class ClassControlCreator
Logger = My.LogConfig.GetLogger()
End Sub
Public Function CreateExistingDataGridView(row As DataRow, pXPosition As Integer, pYPosition As Integer) As DataGridView
Dim oDataGridView As DataGridView = CreateBaseControl(New DataGridView(), row, pXPosition, pYPosition)
Public Function CreateExistingCheckbox(pAttributeRow As DataRow, pXPosition As Integer, pYPosition As Integer) As CheckBox
Dim oCheckBox As CheckBox = CType(CreateBaseControl(New CheckBox(), pAttributeRow, pXPosition, pYPosition), CheckBox)
oDataGridView.Size = New Size(DEFAULT_WIDTH, DEFAULT_HEIGHT_GRIDVIEW)
oDataGridView.AllowUserToAddRows = False
oDataGridView.AllowUserToDeleteRows = False
oDataGridView.AllowUserToResizeColumns = False
oDataGridView.AllowUserToResizeRows = False
oDataGridView.AlternatingRowsDefaultCellStyle.BackColor = Color.Aqua
oCheckBox.AutoSize = True
Try
oCheckBox.Text = pAttributeRow.Item("ATTRIBUTE_TITLE")
Catch ex As Exception
oCheckBox.Text = "NO CAPTION AVAILABLE"
End Try
oCheckBox.CheckState = CheckState.Indeterminate
Dim col As New DataGridViewTextBoxColumn
col.HeaderText = ""
col.Name = "column1"
col.Width = oDataGridView.Width - 30
oDataGridView.Columns.Add(col)
'If Not designMode Then
' control.Enabled = Not row.Item("READ_ONLY")
' control.TabStop = Not row.Item("READ_ONLY")
'End If
Return oDataGridView
Return oCheckBox
End Function
Public Function CreateExistingDatepicker(pAttributeRow As DataRow, pXPosition As Integer, pYPosition As Integer) As DateEdit
Dim oDateControl As DateEdit = CType(CreateBaseControl(New DateEdit(), pAttributeRow, pXPosition, pYPosition), DateEdit)
@@ -191,8 +181,7 @@ Public Class ClassControlCreator
oView.OptionsView.NewItemRowPosition = NewItemRowPosition.None
oView.OptionsView.ShowAutoFilterRow = True
oView.OptionsView.EnableAppearanceEvenRow = True
oMyNewGridControl.Size = New Size(DEFAULT_WIDTH_GRIDVIEW, DEFAULT_HEIGHT_GRIDVIEW)
oMyNewGridControl.Size = New Size(CInt(pAttributeRow.Item("WIDTH")), CInt(pAttributeRow.Item("HEIGHT")))
' Add and configure navigator to delete rows
oMyNewGridControl.UseEmbeddedNavigator = True

View File

@@ -30,9 +30,10 @@ Partial Class frmSearchStart
Me.BarHeaderItem1 = New DevExpress.XtraBars.BarHeaderItem()
Me.BarEditItem1 = New DevExpress.XtraBars.BarEditItem()
Me.RepositoryItemRadioGroup1 = New DevExpress.XtraEditors.Repository.RepositoryItemRadioGroup()
Me.BarButtonItem1 = New DevExpress.XtraBars.BarButtonItem()
Me.BarButtonItem3 = New DevExpress.XtraBars.BarButtonItem()
Me.RibbonPage1 = New DevExpress.XtraBars.Ribbon.RibbonPage()
Me.RibbonPageGroup1 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibbonPageGroup2 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibbonStatusBar1 = New DevExpress.XtraBars.Ribbon.RibbonStatusBar()
Me.Panel1 = New System.Windows.Forms.Panel()
Me.cmbProfile = New System.Windows.Forms.ComboBox()
@@ -40,6 +41,7 @@ Partial Class frmSearchStart
Me.WindowsUIButtonPanel1 = New DevExpress.XtraBars.Docking2010.WindowsUIButtonPanel()
Me.XtraTabControl1 = New DevExpress.XtraTab.XtraTabControl()
Me.XtraTabPage1 = New DevExpress.XtraTab.XtraTabPage()
Me.TokenEdit1 = New DevExpress.XtraEditors.TokenEdit()
Me.XtraTabPage2 = New DevExpress.XtraTab.XtraTabPage()
Me.XtraTabPage3 = New DevExpress.XtraTab.XtraTabPage()
Me.XtraTabPage4 = New DevExpress.XtraTab.XtraTabPage()
@@ -49,20 +51,20 @@ Partial Class frmSearchStart
Me.XtraTabPage8 = New DevExpress.XtraTab.XtraTabPage()
Me.XtraTabPage9 = New DevExpress.XtraTab.XtraTabPage()
Me.XtraTabPage10 = New DevExpress.XtraTab.XtraTabPage()
Me.BarButtonItem1 = New DevExpress.XtraBars.BarButtonItem()
CType(Me.RibbonControl1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.RepositoryItemRadioGroup1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.Panel1.SuspendLayout()
CType(Me.XtraTabControl1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.XtraTabControl1.SuspendLayout()
CType(Me.TokenEdit1.Properties, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
'
'RibbonControl1
'
Me.RibbonControl1.ExpandCollapseItem.Id = 0
Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.RibbonControl1.SearchEditItem, Me.BarButtonItemNewSearch, Me.BarButtonItem2, Me.BarHeaderItem1, Me.BarEditItem1, Me.BarButtonItem1})
Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.RibbonControl1.SearchEditItem, Me.BarButtonItemNewSearch, Me.BarButtonItem2, Me.BarHeaderItem1, Me.BarEditItem1, Me.BarButtonItem1, Me.BarButtonItem3})
Me.RibbonControl1.Location = New System.Drawing.Point(0, 0)
Me.RibbonControl1.MaxItemId = 6
Me.RibbonControl1.MaxItemId = 7
Me.RibbonControl1.Name = "RibbonControl1"
Me.RibbonControl1.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.RibbonPage1})
Me.RibbonControl1.RepositoryItems.AddRange(New DevExpress.XtraEditors.Repository.RepositoryItem() {Me.RepositoryItemRadioGroup1})
@@ -103,9 +105,23 @@ Partial Class frmSearchStart
'
Me.RepositoryItemRadioGroup1.Name = "RepositoryItemRadioGroup1"
'
'BarButtonItem1
'
Me.BarButtonItem1.Caption = "Suche leeren"
Me.BarButtonItem1.Id = 5
Me.BarButtonItem1.ImageOptions.Image = CType(resources.GetObject("BarButtonItem1.ImageOptions.Image"), System.Drawing.Image)
Me.BarButtonItem1.ImageOptions.LargeImage = CType(resources.GetObject("BarButtonItem1.ImageOptions.LargeImage"), System.Drawing.Image)
Me.BarButtonItem1.Name = "BarButtonItem1"
'
'BarButtonItem3
'
Me.BarButtonItem3.Caption = "BarButtonItem3"
Me.BarButtonItem3.Id = 6
Me.BarButtonItem3.Name = "BarButtonItem3"
'
'RibbonPage1
'
Me.RibbonPage1.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup1, Me.RibbonPageGroup2})
Me.RibbonPage1.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup1})
Me.RibbonPage1.Name = "RibbonPage1"
Me.RibbonPage1.Text = "Start"
'
@@ -117,12 +133,6 @@ Partial Class frmSearchStart
Me.RibbonPageGroup1.Name = "RibbonPageGroup1"
Me.RibbonPageGroup1.Text = "RibbonPageGroup1"
'
'RibbonPageGroup2
'
Me.RibbonPageGroup2.AllowTextClipping = False
Me.RibbonPageGroup2.Name = "RibbonPageGroup2"
Me.RibbonPageGroup2.Text = "Aktuelle Filter"
'
'RibbonStatusBar1
'
Me.RibbonStatusBar1.Location = New System.Drawing.Point(0, 574)
@@ -195,6 +205,19 @@ Partial Class frmSearchStart
Me.XtraTabPage1.Size = New System.Drawing.Size(872, 274)
Me.XtraTabPage1.Text = "Search#1"
'
'TokenEdit1
'
Me.TokenEdit1.Location = New System.Drawing.Point(191, 60)
Me.TokenEdit1.MenuManager = Me.RibbonControl1
Me.TokenEdit1.Name = "TokenEdit1"
Me.TokenEdit1.Properties.Appearance.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer), CType(CType(128, Byte), Integer))
Me.TokenEdit1.Properties.Appearance.Font = New System.Drawing.Font("Tahoma", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.TokenEdit1.Properties.Appearance.Options.UseBackColor = True
Me.TokenEdit1.Properties.Appearance.Options.UseFont = True
Me.TokenEdit1.Properties.Separators.AddRange(New String() {","})
Me.TokenEdit1.Size = New System.Drawing.Size(683, 22)
Me.TokenEdit1.TabIndex = 0
'
'XtraTabPage2
'
Me.XtraTabPage2.Name = "XtraTabPage2"
@@ -249,19 +272,12 @@ Partial Class frmSearchStart
Me.XtraTabPage10.Size = New System.Drawing.Size(872, 274)
Me.XtraTabPage10.Text = "Search#10"
'
'BarButtonItem1
'
Me.BarButtonItem1.Caption = "Suche leeren"
Me.BarButtonItem1.Id = 5
Me.BarButtonItem1.ImageOptions.Image = CType(resources.GetObject("BarButtonItem1.ImageOptions.Image"), System.Drawing.Image)
Me.BarButtonItem1.ImageOptions.LargeImage = CType(resources.GetObject("BarButtonItem1.ImageOptions.LargeImage"), System.Drawing.Image)
Me.BarButtonItem1.Name = "BarButtonItem1"
'
'frmSearchStart
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(874, 601)
Me.Controls.Add(Me.TokenEdit1)
Me.Controls.Add(Me.XtraTabControl1)
Me.Controls.Add(Me.WindowsUIButtonPanel1)
Me.Controls.Add(Me.Panel1)
@@ -278,6 +294,7 @@ Partial Class frmSearchStart
Me.Panel1.PerformLayout()
CType(Me.XtraTabControl1, System.ComponentModel.ISupportInitialize).EndInit()
Me.XtraTabControl1.ResumeLayout(False)
CType(Me.TokenEdit1.Properties, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False)
Me.PerformLayout()
@@ -307,6 +324,7 @@ Partial Class frmSearchStart
Friend WithEvents BarHeaderItem1 As DevExpress.XtraBars.BarHeaderItem
Friend WithEvents BarEditItem1 As DevExpress.XtraBars.BarEditItem
Friend WithEvents RepositoryItemRadioGroup1 As DevExpress.XtraEditors.Repository.RepositoryItemRadioGroup
Friend WithEvents RibbonPageGroup2 As DevExpress.XtraBars.Ribbon.RibbonPageGroup
Friend WithEvents BarButtonItem1 As DevExpress.XtraBars.BarButtonItem
Friend WithEvents TokenEdit1 As DevExpress.XtraEditors.TokenEdit
Friend WithEvents BarButtonItem3 As DevExpress.XtraBars.BarButtonItem
End Class

View File

@@ -163,25 +163,24 @@
</data>
<data name="BarButtonItem1.ImageOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAAJXRFWHRUaXRsZQBDbGVhcjtF
cmFzZTtSZW1vdmU7QmFycztSaWJib247h4CDcwAAAKVJREFUOE+lzMENwjAMQNHOhDhmAA5swB2uTICE
xIkNGIAJWIOdzHcUV4ljQoHDq1rX35OI/CUceimlrYr+dQOvxLeiO9J8eC42u3qnCWosRvEdgpPtdaFi
YRSbfOTXWJ27AwxXOGJR3BxgqPG+sCPDeD7AsI7NFcM4H2AYxRc88cDb2A6sEcVGj4Sxyg8W7IiP1cFH
tfmFxY0LP8YqHH4jHC4n0wurkEbWwnScwwAAAABJRU5ErkJggg==
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAldEVYdFRpdGxlAENsZWFyO0VyYXNlO1JlbW92ZTtC
YXJzO1JpYmJvbjuHgINzAAAApUlEQVQ4T6XMwQ3CMAxA0c6EOGYADmzAHa5MgITEiQ0YgAlYg53MdxRX
iWNCgcOrWtffk4j8JRx6KaWtiv51A6/Et6I70nx4Lja7eqcJaixG8R2Ck+11oWJhFJt85NdYnbsDDFc4
YlHcHGCo8b6wI8N4PsCwjs0VwzgfYBjFFzzxwNvYDqwRxUaPhLHKDxbsiI/VwUe1+YXFjQs/xiocfiMc
LifTC6uQRtbCdJzDAAAAAElFTkSuQmCC
</value>
</data>
<data name="BarButtonItem1.ImageOptions.LargeImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAAJXRFWHRUaXRsZQBDbGVhcjtF
cmFzZTtSZW1vdmU7QmFycztSaWJib247h4CDcwAAAT9JREFUWEfFjsFNAzEURFNHykC5ZQ8UQB3hSgVI
SJzoIAVQAW2kJ2cG7Y/s7/Fie3fN4UXrif68OYQQ/hUZjkSGI5HhGqZpeiHqP4UMe5nl15mqETLswcmr
R8iwFYqcOGZxhAxboMAJFcURMqyFxU5U4hu8q44sqAWFLfIwk41IHrWgqEcuRyTFNaBgjdx4tr5MsAQO
t5B/xJ2JYAkcbi4nyaMEDs9AyTxNcpIFHhw+gQt4A0pqNMuJDA0cmtwojeiSExkSHHp5aUS3nMgQhyW5
YSNWyUkW4PAvufEFlJhUyUnywGGt/BPcwA/olpPHBw5b5UY8oklOfn9weARK5vHyeESznDw+UHACSmqU
5OQ1Lm0heaCoNGIXOckCFPoRu8mJDFFsI3aVExkSCDhCickmciLDkchwJDIciQzHEQ53bCSwNhgc18QA
AAAASUVORK5CYII=
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAldEVYdFRpdGxlAENsZWFyO0VyYXNlO1JlbW92ZTtC
YXJzO1JpYmJvbjuHgINzAAABP0lEQVRYR8WOwU0DMRREU0fKQLllDxRAHeFKBUhInOggBVABbaQnZwbt
j+zv8WJ7d83hReuJ/rw5hBD+FRmORIYjkeEapml6Ieo/hQx7meXXmaoRMuzByatHyLAVipw4ZnGEDFug
wAkVxREyrIXFTlTiG7yrjiyoBYUt8jCTjUgetaCoRy5HJMU1oGCN3Hi2vkywBA63kH/EnYlgCRxuLifJ
owQOz0DJPE1ykgUeHD6BC3gDSmo0y4kMDRya3CiN6JITGRIcenlpRLecyBCHJblhI1bJSRbg8C+58QWU
mFTJSfLAYa38E9zAD+iWk8cHDlvlRjyiSU5+f3B4BErm8fJ4RLOcPD5QcAJKapTk5DUubSF5oKg0Yhc5
yQIU+hG7yYkMUWwjdpUTGRIIOEKJySZyIsORyHAkMhyJDMcRDndsJLA2GBzXxAAAAABJRU5ErkJggg==
</value>
</data>
<data name="WindowsUIButtonImageOptions1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">

View File

@@ -9,6 +9,7 @@ Public Class frmSearchStart
Private DTSearchProfiles As DataTable
Private TabSelected As XtraTabPage
Private PSEARCH_ID As Integer = 0
Private PSEARCH_BASE_RESULT_SQL As String
Public FormShown As Boolean = False
Private Const DEFAULT_X As Integer = 10
Private Const DEFAULT_Y As Integer = 10
@@ -34,8 +35,14 @@ Public Class frmSearchStart
End Sub
Public Sub AddSearchAttribute(pAttrID As String, pAttrTitle As String, pSearchTerm As String, Optional pCriteria As String = "=")
For Each oSearchTerm As DataRow In DTSearchTerms.Rows
If oSearchTerm.Item("AttrID") = pAttrID Then 'And oSearchTerm.Item("Criteria") = pCriteria And oSearchTerm.Item("SearchTerm") = pSearchTerm
oSearchTerm.Delete()
End If
Next
DTSearchTerms.Rows.Add(pAttrID, pAttrTitle, pCriteria, pSearchTerm)
DTSearchTerms.AcceptChanges()
AddToken(pAttrTitle & " " & pCriteria & " '" & pSearchTerm & "'")
End Sub
Public Sub SearchAttribute(pAttrID As String, pAttrTitle As String, pSearchTerm As String, Optional pCriteria As String = "=")
@@ -63,6 +70,7 @@ Public Class frmSearchStart
TabSelected = XtraTabControl1.TabPages(0)
TabSelected.PageVisible = True
PSEARCH_ID = DTSearchProfiles.Rows(0).Item("SEARCH_PROFILE_ID")
PSEARCH_BASE_RESULT_SQL = DTSearchProfiles.Rows(0).Item("RESULT_SQL")
TabSelected.Text = DTSearchProfiles.Rows(0).Item("TITLE")
Load_Search_Attributes()
BarButtonItemNewSearch.Visibility = DevExpress.XtraBars.BarItemVisibility.Never
@@ -77,64 +85,102 @@ Public Class frmSearchStart
Sub Load_Search_Attributes()
Dim oSQL = $"SELECT * FROM VWIDB_SEARCH_PROFILE_ATTRIBUTES WHERE SEARCH_PROFIL_ID = {PSEARCH_ID} ORDER BY [SEQUENCE]"
Dim oDT As DataTable = My.Database_IDB.GetDatatable(oSQL)
Dim oXPosition As Integer = 10
Dim oYPosition As Integer = 10
Dim oControlXPosition As Integer = 33
Dim oControlCount As Integer = 1
Dim oControlRow As Integer = 0
Dim oControls As New ClassControlCreator(TabSelected, Me)
Dim YMax As Integer = 0
Dim YActControlHeight As Integer = 0
Dim XActControlWidth As Integer = 0
Dim iList As New List(Of Integer)()
iList.Add(2)
iList.Add(3)
iList.Add(5)
iList.Add(6)
iList.Add(8)
iList.Add(9)
For Each oAttributeRow As DataRow In oDT.Rows
Dim oXPosition As Integer
Dim oYPositionControl As Integer
Dim oYPositionLabel As Integer
Dim oSingleResult As Boolean = False
Dim oAttriTitle As String = oAttributeRow.Item("ATTRIBUTE_TITLE").ToString
Dim oAttriID As String = oAttributeRow.Item("ATTRIBUTE_ID").ToString
Dim oAttriTYPE As String = oAttributeRow.Item("ATTRIBUTE_TYPE").ToString
If oControlCount = 1 Or oControlCount = 3 Or oControlCount = 5 Then
'linke Spalte
If oControlCount = 1 Or oControlCount = 5 Or oControlCount = 9 Then
oControlRow += 1
End If
Select Case oControlCount
Case 2
oXPosition = oXPosition + 150 + 15
End Select
Select Case oControlRow
Case 1
oYPosition = DEFAULT_Y
If oControlCount > 1 Then
oXPosition = DEFAULT_X + 170
End If
Case 2
oYPosition = DEFAULT_Y + 150 + 20
If oControlCount = 4 Then
oXPosition = DEFAULT_X + 170
End If
If oControlRow = 1 Then
If oControlCount = 1 Then
oXPosition = 10
oYPositionLabel = 10
oYPositionControl = oYPositionLabel + 20
End If
ElseIf oControlRow = 2 Then
If oControlCount = 5 Then
oXPosition = 10
oYPositionLabel = YActControlHeight + 10
oYPositionControl = oYPositionLabel + 20
End Select
End If
ElseIf oControlRow = 3 Then
If oControlCount = 9 Then
oXPosition = 10
End If
End If
Dim oControlHeight As Integer = CInt(oAttributeRow.Item("HEIGHT"))
Dim oControlWidth As Integer = CInt(oAttributeRow.Item("WIDTH"))
addLabel(oAttriTitle, oXPosition, oYPosition)
'Erst mal das Label hinzufügen
'If oAttriTYPE <> "BIT" Then
addLabel(oAttriTitle, oXPosition, oYPositionLabel)
'End If
'Nun das Control mit dem entsprechenden Abstand und der Größe
Dim oXDistance As Integer, oYDistance As Integer
Dim oCalcHeight As Integer
Dim oCalcWidth As Integer
If oAttriTYPE = "VARCHAR" Or oAttriTYPE = "BIG INTEGER" Then
oCalcHeight = oControlHeight + oYPositionControl
oCalcWidth = oControlWidth
ElseIf (oAttriTYPE = "DATE" Or oAttriTYPE = "BIT") Then
oCalcHeight = 20 + oYPositionControl
oCalcWidth = 100
End If
If oCalcHeight > YActControlHeight Then
YActControlHeight = oCalcHeight
End If
Dim oMyControl As Control
Select Case oAttriTYPE
Case "VARCHAR"
oMyControl = oControls.CreateExistingGridControl(oAttributeRow, oXPosition, oYPosition + 20)
Dim myDGV As GridControl = CType(oMyControl, GridControl)
Dim omyDTSource As DataTable = CType(myDGV.DataSource, DataTable)
Dim oView As DevExpress.XtraGrid.Views.Grid.GridView
oView = CType(myDGV.MainView, GridView)
AddHandler oView.FocusedRowChanged, AddressOf FocusedRowChanged
If omyDTSource.Rows.Count = 1 Then
oSingleResult = True
AddSearchAttribute(oAttriID, oAttriTitle, omyDTSource.Rows(0).Item(oAttriTitle).ToString)
End If
Case "DATE"
oMyControl = oControls.CreateExistingDatepicker(oAttributeRow, oXPosition, oYPosition + 20)
Dim myDTP As DateEdit = CType(oMyControl, DateEdit)
AddHandler myDTP.DisableCalendarDate, AddressOf DisableCalendarDate
End Select
If oAttriTYPE = "VARCHAR" Or oAttriTYPE = "BIG INTEGER" Then
oMyControl = oControls.CreateExistingGridControl(oAttributeRow, oXPosition, oYPositionControl)
Dim myDGV As GridControl = CType(oMyControl, GridControl)
Dim omyDTSource As DataTable = CType(myDGV.DataSource, DataTable)
Dim oView As DevExpress.XtraGrid.Views.Grid.GridView
oView = CType(myDGV.MainView, GridView)
AddHandler oView.FocusedRowChanged, AddressOf FocusedRowChanged
If omyDTSource.Rows.Count = 1 Then
oSingleResult = True
AddSearchAttribute(oAttriID, oAttriTitle, omyDTSource.Rows(0).Item(oAttriTitle).ToString)
End If
ElseIf oAttriTYPE = "DATE" Then
oMyControl = oControls.CreateExistingDatepicker(oAttributeRow, oXPosition, oYPositionControl)
Dim myDTP As DateEdit = CType(oMyControl, DateEdit)
AddHandler myDTP.DisableCalendarDate, AddressOf DisableCalendarDate
ElseIf oAttriTYPE = "BIT" Then
oMyControl = oControls.CreateExistingCheckbox(oAttributeRow, oXPosition, oYPositionControl)
Dim myCheckBox As CheckBox = CType(oMyControl, CheckBox)
AddHandler myCheckBox.CheckedChanged, AddressOf CheckBox_CheckedChanged
End If
oControlCount += 1
TabSelected.Controls.Add(oMyControl)
oXPosition += oControlWidth + 20
Next
End Sub
@@ -185,7 +231,14 @@ Public Class frmSearchStart
End If
End Sub
Private Sub CheckBox_CheckedChanged(sender As Object, e As EventArgs)
If FormShown = False Then Exit Sub
Dim oCurrentCB As CheckBox = DirectCast(sender, CheckBox)
Dim oChecked = oCurrentCB.Checked
Dim oAttrID = DirectCast(oCurrentCB.Tag, ClassControlCreator.ControlMetadata).AttrID
Dim oAttrTitle = DirectCast(oCurrentCB.Tag, ClassControlCreator.ControlMetadata).AttrTitle
AddSearchAttribute(oAttrID, oAttrTitle, oChecked.ToString)
End Sub
Private Sub frmSearchStart_Shown(sender As Object, e As EventArgs) Handles Me.Shown
FormShown = True
End Sub
@@ -214,18 +267,81 @@ Public Class frmSearchStart
Next
Return oIsValid
End Function
Private Sub Clear_token()
Try
TokenEdit1.Properties.BeginUpdate()
Dim oCount As Int16 = 1
For Each oRow As DataRow In DTSearchTerms.Rows
TokenEdit1.RemoveItem($"criteria{oCount}")
oCount += 1
Next
TokenEdit1.Properties.EndUpdate()
Catch ex As Exception
End Try
End Sub
Private Sub BarButtonItem1_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem1.ItemClick
Try
Clear_token()
DTSearchTerms.Clear()
Catch ex As Exception
MsgBox("Unexpected Error in Clearing Search Items: " & ex.Message, MsgBoxStyle.Critical)
End Try
For Each oControl As Control In TabSelected.Controls
Select Case oControl.GetType.ToString
Case ""
End Select
Next
TabSelected.Controls.Clear()
End Sub
Private Sub BarButtonItem3_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem3.ItemClick
TokenEdit1.Properties.BeginUpdate()
'TokenEdit1.Properties.Tokens.AddToken("Column1 = 'Value1'", "criteria1")
TokenEdit1.Properties.Tokens.AddToken("Column1 = 'Value1'", "criteria1")
TokenEdit1.Properties.Tokens.AddToken("Column2 > 20", "criteria2")
TokenEdit1.Properties.Tokens.AddToken("Column3 <> 'Harry'", "criteria3")
TokenEdit1.EditValue = "criteria1, criteria2, criteria3"
' ... add more tokens
TokenEdit1.Properties.EndUpdate()
End Sub
Private Sub AddToken(CriteriaString As String)
Try
Clear_token()
TokenEdit1.Properties.BeginUpdate()
''oRow.Item("AttrTitle") & " " & oRow.Item("Criteria") & " '" & oRow.Item("SearchTerm") & "'"
Dim oCount As Int16 = 1
For Each oRow As DataRow In DTSearchTerms.Rows
Try
Dim oCriteriaString = oRow.Item("AttrTitle") & " " & oRow.Item("Criteria") & " '" & oRow.Item("SearchTerm") & "'"
TokenEdit1.Properties.Tokens.AddToken(CriteriaString, "criteria" + oCount.ToString)
Catch ex As Exception
End Try
oCount += 1
Next
' Dim oTokenCount = DTSearchTerms.Rows.Count
'TokenEdit1.Properties.BeginUpdate()
'TokenEdit1.Properties.Tokens.AddToken(CriteriaString, "criteria" + oCount.ToString)
Dim otokenEditString = ""
oCount = 1
For Each oRow As DataRow In DTSearchTerms.Rows
If oCount = 1 Then
otokenEditString = "criteria1"
Else
otokenEditString &= $", criteria{oCount}"
End If
oCount += 1
Next
TokenEdit1.EditValue = otokenEditString
' ... add more tokens
TokenEdit1.Properties.EndUpdate()
Catch ex As Exception
MsgBox("Unexpected Error in AddToken: " & ex.Message, MsgBoxStyle.Critical)
Logger.Warn("Unexpected Error in AddToken: " & ex.Message)
End Try
End Sub
End Class