ZooFlow: Update ZooFlow Search

This commit is contained in:
Jonathan Jenne 2021-11-17 14:41:59 +01:00
parent 5d7398101c
commit eeb1930f29
8 changed files with 266 additions and 683 deletions

View File

@ -0,0 +1,8 @@
Public Class SearchCriteria
Public Property ParenLeft As String = ""
Public Property Key As String
Public Property Op As SearchToken.OperatorToken = SearchToken.OperatorToken.Equals
Public Property Value As Object
Public Property ParentRight As String = ""
End Class

View File

@ -0,0 +1,64 @@
Public Class SearchToken
Public Enum [ValueType]
AttributeName
AttributeValue
AttributeOperator
End Enum
Public Enum [InputMode]
[Default]
[Operator]
Value
End Enum
Public Enum [OperatorToken]
Equals
NotEquals
End Enum
Public MustInherit Class TokenValue
Public Value As Object
Public Type As [ValueType]
Public Overrides Function ToString() As String
Return Value.ToString()
End Function
End Class
Public Class AttributeKeyToken
Inherits TokenValue
Public Sub New(pValue As Object)
Value = pValue
Type = ValueType.AttributeName
End Sub
End Class
Public Class AttributeOperatorToken
Inherits TokenValue
Public Sub New(pValue As Object)
Value = pValue
Type = ValueType.AttributeOperator
End Sub
End Class
Public Class AttributeValueToken
Inherits TokenValue
Public Sub New(pValue As Object)
Value = pValue
Type = ValueType.AttributeValue
End Sub
End Class
Public Class DateToken
Inherits TokenValue
Public Sub New(pValue As Object)
Value = pValue
Type = ValueType.AttributeValue
End Sub
End Class
End Class

View File

@ -1,171 +0,0 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()>
Partial Class frmSearch2021
Inherits DevExpress.XtraEditors.XtraForm
'Form overrides dispose to clean up the component list.
<System.Diagnostics.DebuggerNonUserCode()>
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
MyBase.Dispose(disposing)
End Sub
'Required by the Windows Form Designer
Private components As System.ComponentModel.IContainer
'NOTE: The following procedure is required by the Windows Form Designer
'It can be modified using the Windows Form Designer.
'Do not modify it using the code editor.
<System.Diagnostics.DebuggerStepThrough()>
Private Sub InitializeComponent()
Me.SearchControl2 = New DevExpress.XtraEditors.TokenEdit()
Me.ComboBoxEdit1 = New DevExpress.XtraEditors.ComboBoxEdit()
Me.PanelControl1 = New DevExpress.XtraEditors.PanelControl()
Me.SidePanel1 = New DevExpress.XtraEditors.SidePanel()
Me.NavBarControl1 = New DevExpress.XtraNavBar.NavBarControl()
Me.NavBarGroup1 = New DevExpress.XtraNavBar.NavBarGroup()
Me.NavBarItem1 = New DevExpress.XtraNavBar.NavBarItem()
Me.NavBarItem2 = New DevExpress.XtraNavBar.NavBarItem()
Me.NavBarItem3 = New DevExpress.XtraNavBar.NavBarItem()
Me.NavBarGroup2 = New DevExpress.XtraNavBar.NavBarGroup()
Me.NavBarGroup3 = New DevExpress.XtraNavBar.NavBarGroup()
CType(Me.SearchControl2.Properties, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.ComboBoxEdit1.Properties, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.PanelControl1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.PanelControl1.SuspendLayout()
Me.SidePanel1.SuspendLayout()
CType(Me.NavBarControl1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
'
'SearchControl2
'
Me.SearchControl2.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.SearchControl2.Location = New System.Drawing.Point(227, 5)
Me.SearchControl2.Name = "SearchControl2"
Me.SearchControl2.Properties.Appearance.BackColor = System.Drawing.Color.Transparent
Me.SearchControl2.Properties.Appearance.Font = New System.Drawing.Font("Segoe UI", 20.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.SearchControl2.Properties.Appearance.Options.UseBackColor = True
Me.SearchControl2.Properties.Appearance.Options.UseFont = True
Me.SearchControl2.Properties.BorderStyle = DevExpress.XtraEditors.Controls.BorderStyles.Simple
Me.SearchControl2.Properties.EditMode = DevExpress.XtraEditors.TokenEditMode.Manual
Me.SearchControl2.Properties.PopupFilterMode = DevExpress.XtraEditors.TokenEditPopupFilterMode.Contains
Me.SearchControl2.Properties.Separators.AddRange(New String() {",", "-", "ODER", "OR", "AND", "UND"})
Me.SearchControl2.Size = New System.Drawing.Size(894, 44)
Me.SearchControl2.TabIndex = 0
'
'ComboBoxEdit1
'
Me.ComboBoxEdit1.Location = New System.Drawing.Point(5, 5)
Me.ComboBoxEdit1.Name = "ComboBoxEdit1"
Me.ComboBoxEdit1.Properties.Appearance.BackColor = System.Drawing.Color.Transparent
Me.ComboBoxEdit1.Properties.Appearance.Font = New System.Drawing.Font("Segoe UI", 20.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.ComboBoxEdit1.Properties.Appearance.Options.UseBackColor = True
Me.ComboBoxEdit1.Properties.Appearance.Options.UseFont = True
Me.ComboBoxEdit1.Properties.BorderStyle = DevExpress.XtraEditors.Controls.BorderStyles.Simple
Me.ComboBoxEdit1.Properties.Buttons.AddRange(New DevExpress.XtraEditors.Controls.EditorButton() {New DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)})
Me.ComboBoxEdit1.Properties.Items.AddRange(New Object() {"Alle", "Belege", "Rechnungen", "Lieferscheine", "Aufträge", "Angebote", "Kunde Schaum", "Kunde medacom"})
Me.ComboBoxEdit1.Properties.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.DisableTextEditor
Me.ComboBoxEdit1.Size = New System.Drawing.Size(223, 44)
Me.ComboBoxEdit1.TabIndex = 1
'
'PanelControl1
'
Me.PanelControl1.AutoSize = True
Me.PanelControl1.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink
Me.PanelControl1.BorderStyle = DevExpress.XtraEditors.Controls.BorderStyles.NoBorder
Me.PanelControl1.Controls.Add(Me.ComboBoxEdit1)
Me.PanelControl1.Controls.Add(Me.SearchControl2)
Me.PanelControl1.Dock = System.Windows.Forms.DockStyle.Top
Me.PanelControl1.Location = New System.Drawing.Point(0, 0)
Me.PanelControl1.Name = "PanelControl1"
Me.PanelControl1.Size = New System.Drawing.Size(1126, 52)
Me.PanelControl1.TabIndex = 2
'
'SidePanel1
'
Me.SidePanel1.Controls.Add(Me.NavBarControl1)
Me.SidePanel1.Dock = System.Windows.Forms.DockStyle.Left
Me.SidePanel1.Location = New System.Drawing.Point(0, 52)
Me.SidePanel1.Name = "SidePanel1"
Me.SidePanel1.Size = New System.Drawing.Size(228, 566)
Me.SidePanel1.TabIndex = 3
Me.SidePanel1.Text = "SidePanel1"
'
'NavBarControl1
'
Me.NavBarControl1.ActiveGroup = Me.NavBarGroup1
Me.NavBarControl1.Dock = System.Windows.Forms.DockStyle.Fill
Me.NavBarControl1.Groups.AddRange(New DevExpress.XtraNavBar.NavBarGroup() {Me.NavBarGroup1, Me.NavBarGroup2, Me.NavBarGroup3})
Me.NavBarControl1.Items.AddRange(New DevExpress.XtraNavBar.NavBarItem() {Me.NavBarItem1, Me.NavBarItem2, Me.NavBarItem3})
Me.NavBarControl1.Location = New System.Drawing.Point(0, 0)
Me.NavBarControl1.Name = "NavBarControl1"
Me.NavBarControl1.OptionsNavPane.ExpandedWidth = 227
Me.NavBarControl1.Size = New System.Drawing.Size(227, 566)
Me.NavBarControl1.TabIndex = 0
Me.NavBarControl1.Text = "NavBarControl1"
'
'NavBarGroup1
'
Me.NavBarGroup1.Caption = "NavBarGroup1"
Me.NavBarGroup1.Expanded = True
Me.NavBarGroup1.ItemLinks.AddRange(New DevExpress.XtraNavBar.NavBarItemLink() {New DevExpress.XtraNavBar.NavBarItemLink(Me.NavBarItem1), New DevExpress.XtraNavBar.NavBarItemLink(Me.NavBarItem2), New DevExpress.XtraNavBar.NavBarItemLink(Me.NavBarItem3)})
Me.NavBarGroup1.Name = "NavBarGroup1"
'
'NavBarItem1
'
Me.NavBarItem1.Caption = "NavBarItem1"
Me.NavBarItem1.Name = "NavBarItem1"
'
'NavBarItem2
'
Me.NavBarItem2.Caption = "NavBarItem2"
Me.NavBarItem2.Name = "NavBarItem2"
'
'NavBarItem3
'
Me.NavBarItem3.Caption = "NavBarItem3"
Me.NavBarItem3.Name = "NavBarItem3"
'
'NavBarGroup2
'
Me.NavBarGroup2.Caption = "NavBarGroup2"
Me.NavBarGroup2.Name = "NavBarGroup2"
'
'NavBarGroup3
'
Me.NavBarGroup3.Caption = "NavBarGroup3"
Me.NavBarGroup3.Name = "NavBarGroup3"
'
'XtraForm1
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(1126, 618)
Me.Controls.Add(Me.SidePanel1)
Me.Controls.Add(Me.PanelControl1)
Me.Name = "XtraForm1"
Me.Text = "XtraForm1"
CType(Me.SearchControl2.Properties, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.ComboBoxEdit1.Properties, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.PanelControl1, System.ComponentModel.ISupportInitialize).EndInit()
Me.PanelControl1.ResumeLayout(False)
Me.SidePanel1.ResumeLayout(False)
CType(Me.NavBarControl1, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False)
Me.PerformLayout()
End Sub
Friend WithEvents SearchControl2 As DevExpress.XtraEditors.TokenEdit
Friend WithEvents ComboBoxEdit1 As DevExpress.XtraEditors.ComboBoxEdit
Friend WithEvents PanelControl1 As DevExpress.XtraEditors.PanelControl
Friend WithEvents SidePanel1 As DevExpress.XtraEditors.SidePanel
Friend WithEvents NavBarControl1 As DevExpress.XtraNavBar.NavBarControl
Friend WithEvents NavBarGroup1 As DevExpress.XtraNavBar.NavBarGroup
Friend WithEvents NavBarItem1 As DevExpress.XtraNavBar.NavBarItem
Friend WithEvents NavBarItem2 As DevExpress.XtraNavBar.NavBarItem
Friend WithEvents NavBarItem3 As DevExpress.XtraNavBar.NavBarItem
Friend WithEvents NavBarGroup2 As DevExpress.XtraNavBar.NavBarGroup
Friend WithEvents NavBarGroup3 As DevExpress.XtraNavBar.NavBarGroup
End Class

View File

@ -1,120 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@ -1,138 +0,0 @@
Imports DevExpress.Utils
Imports DevExpress.XtraEditors
Imports DevExpress.XtraEditors.Repository
Public Class frmSearch2021
Private ReadOnly TokenListAttributes As New Dictionary(Of String, Object) From {
{"Rechnungsnummer", New AttributeToken(7411)},
{"Rechnungsdatum", New AttributeToken(7412)},
{"Kundennummer", New AttributeToken(7413)}
}
Private ReadOnly TokenListAttrValues As New Dictionary(Of String, Object) From {
{"{1233}", New AttributeValueToken(1233)},
{"{1234}", New AttributeValueToken(1234)},
{"{1235}", New AttributeValueToken(1235)}
}
Private ReadOnly TokenListDate As New Dictionary(Of String, Object) From {
{"heute", New DateToken(Date.Now)},
{"gestern", New DateToken(Date.Now.AddDays(-1))},
{"letzte Woche", New DateToken(TimeSpan.FromDays(-7))},
{"letzter Monat", New DateToken(TimeSpan.FromDays(-30))}
}
Private TokenListDefault As Dictionary(Of String, Object)
Private TokenListAll As Dictionary(Of String, Object)
Private Sub XtraForm1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim TokenList As New Dictionary(Of String, Object)
TokenListAll = TokenList.
Concat(TokenListAttributes).
Concat(TokenListAttrValues).
Concat(TokenListDate).
ToDictionary(Function(a) a.Key, Function(a) a.Value)
TokenListDefault = TokenList.
Concat(TokenListAttributes).
Concat(TokenListDate).
ToDictionary(Function(a) a.Key, Function(a) a.Value)
AddTokens(SearchControl2, TokenListDefault)
ComboBoxEdit1.SelectedIndex = 0
End Sub
Public Enum [ValueType]
AttributeName
AttributeValue
End Enum
Public Enum [InputMode]
[Default]
Value
End Enum
Public Class TokenValue
Public Value As Object
Public Type As [ValueType]
Public Overrides Function ToString() As String
Return Value.ToString()
End Function
End Class
Public Class AttributeToken
Inherits TokenValue
Public Sub New(pValue As Object)
Value = pValue
Type = ValueType.AttributeName
End Sub
End Class
Public Class AttributeValueToken
Inherits TokenValue
Public Sub New(pValue As Object)
Value = pValue
Type = ValueType.AttributeValue
End Sub
End Class
Public Class DateToken
Inherits TokenValue
Public Sub New(pValue As Object)
Value = pValue
Type = ValueType.AttributeValue
End Sub
End Class
Private Sub AddTokens(Editor As TokenEdit, Tokens As Dictionary(Of String, Object))
For Each oToken In Tokens
Editor.Properties.Tokens.Add(New DevExpress.XtraEditors.TokenEditToken With {
.Description = oToken.Key,
.Value = oToken.Value
})
Next
End Sub
Private Sub SearchControl2_Properties_TokenAdded(sender As Object, e As DevExpress.XtraEditors.TokenEditTokenAddedEventArgs) Handles SearchControl2.Properties.TokenAdded
Dim oEditor As TokenEdit = sender
SetNewTokens(oEditor)
End Sub
Private Sub SearchControl2_Properties_TokenRemoved(sender As Object, e As TokenEditTokenRemovedEventArgs) Handles SearchControl2.Properties.TokenRemoved
Dim oEditor As TokenEdit = sender
SetNewTokens(oEditor)
End Sub
Private Sub SetNewTokens(pEditor As TokenEdit)
Dim oLastToken = pEditor.GetTokenList().LastOrDefault()
pEditor.Properties.BeginUpdate()
If oLastToken IsNot Nothing Then
pEditor.Properties.Tokens.Clear()
Select Case oLastToken.Value.GetType
Case GetType(AttributeToken)
AddTokens(pEditor, TokenListAttrValues)
Case GetType(AttributeValueToken)
AddTokens(pEditor, TokenListAll)
Case Else
AddTokens(pEditor, TokenListDefault)
End Select
pEditor.Properties.EndUpdate()
Else
pEditor.Properties.Tokens.Clear()
AddTokens(pEditor, TokenListDefault)
End If
End Sub
End Class

View File

@ -23,26 +23,14 @@ Partial Class frmSearchNeu
'Do not modify it using the code editor.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
Me.cmbOperator = New DevExpress.XtraEditors.ComboBoxEdit()
Me.LayoutControl1 = New DevExpress.XtraLayout.LayoutControl()
Me.cmbMandator = New DevExpress.XtraEditors.ComboBoxEdit()
Me.lookupAttribute = New DevExpress.XtraEditors.SearchLookUpEdit()
Me.SearchLookUpEdit2View = New DevExpress.XtraGrid.Views.Grid.GridView()
Me.lookupValue = New DevExpress.XtraEditors.SearchLookUpEdit()
Me.SearchLookUpEdit1View = New DevExpress.XtraGrid.Views.Grid.GridView()
Me.SimpleButton1 = New DevExpress.XtraEditors.SimpleButton()
Me.Root = New DevExpress.XtraLayout.LayoutControlGroup()
Me.LayoutControlItem1 = New DevExpress.XtraLayout.LayoutControlItem()
Me.EmptySpaceItem1 = New DevExpress.XtraLayout.EmptySpaceItem()
Me.LayoutControlItem2 = New DevExpress.XtraLayout.LayoutControlItem()
Me.LayoutControlItem4 = New DevExpress.XtraLayout.LayoutControlItem()
Me.LayoutControlItem3 = New DevExpress.XtraLayout.LayoutControlItem()
Me.LayoutControlItem5 = New DevExpress.XtraLayout.LayoutControlItem()
Me.NavBarControl1 = New DevExpress.XtraNavBar.NavBarControl()
Me.NavBarGroup1 = New DevExpress.XtraNavBar.NavBarGroup()
Me.SplitContainerControl1 = New DevExpress.XtraEditors.SplitContainerControl()
Me.SplitContainerControl2 = New DevExpress.XtraEditors.SplitContainerControl()
Me.SplitContainerControl3 = New DevExpress.XtraEditors.SplitContainerControl()
Me.Button1 = New System.Windows.Forms.Button()
Me.cmbSelect = New DevExpress.XtraEditors.ComboBoxEdit()
Me.SearchControl2 = New DevExpress.XtraEditors.TokenEdit()
Me.GridControl1 = New DevExpress.XtraGrid.GridControl()
Me.GridView1 = New DevExpress.XtraGrid.Views.Grid.GridView()
Me.colParenLeft = New DevExpress.XtraGrid.Columns.GridColumn()
@ -57,21 +45,6 @@ Partial Class frmSearchNeu
Me.RibbonPageGroup2 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibbonStatusBar1 = New DevExpress.XtraBars.Ribbon.RibbonStatusBar()
Me.RibbonPage2 = New DevExpress.XtraBars.Ribbon.RibbonPage()
CType(Me.cmbOperator.Properties, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.LayoutControl1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.LayoutControl1.SuspendLayout()
CType(Me.cmbMandator.Properties, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.lookupAttribute.Properties, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.SearchLookUpEdit2View, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.lookupValue.Properties, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.SearchLookUpEdit1View, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.Root, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.LayoutControlItem1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.EmptySpaceItem1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.LayoutControlItem2, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.LayoutControlItem4, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.LayoutControlItem3, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.LayoutControlItem5, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.NavBarControl1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.SplitContainerControl1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SplitContainerControl1.SuspendLayout()
@ -79,168 +52,13 @@ Partial Class frmSearchNeu
Me.SplitContainerControl2.SuspendLayout()
CType(Me.SplitContainerControl3, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SplitContainerControl3.SuspendLayout()
CType(Me.cmbSelect.Properties, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.SearchControl2.Properties, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.GridControl1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.GridView1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.RibbonControl1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
'
'cmbOperator
'
Me.cmbOperator.Location = New System.Drawing.Point(410, 12)
Me.cmbOperator.Name = "cmbOperator"
Me.cmbOperator.Properties.Appearance.Font = New System.Drawing.Font("Tahoma", 11.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.cmbOperator.Properties.Appearance.Options.UseFont = True
Me.cmbOperator.Properties.Buttons.AddRange(New DevExpress.XtraEditors.Controls.EditorButton() {New DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)})
Me.cmbOperator.Properties.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.DisableTextEditor
Me.cmbOperator.Size = New System.Drawing.Size(234, 24)
Me.cmbOperator.StyleController = Me.LayoutControl1
Me.cmbOperator.TabIndex = 1
'
'LayoutControl1
'
Me.LayoutControl1.Controls.Add(Me.cmbMandator)
Me.LayoutControl1.Controls.Add(Me.lookupAttribute)
Me.LayoutControl1.Controls.Add(Me.lookupValue)
Me.LayoutControl1.Controls.Add(Me.cmbOperator)
Me.LayoutControl1.Controls.Add(Me.SimpleButton1)
Me.LayoutControl1.Dock = System.Windows.Forms.DockStyle.Fill
Me.LayoutControl1.Location = New System.Drawing.Point(0, 0)
Me.LayoutControl1.Name = "LayoutControl1"
Me.LayoutControl1.Root = Me.Root
Me.LayoutControl1.Size = New System.Drawing.Size(984, 55)
Me.LayoutControl1.TabIndex = 8
Me.LayoutControl1.Text = "LayoutControl1"
'
'cmbMandator
'
Me.cmbMandator.EditValue = "Mandant"
Me.cmbMandator.Location = New System.Drawing.Point(12, 12)
Me.cmbMandator.Name = "cmbMandator"
Me.cmbMandator.Properties.Appearance.Font = New System.Drawing.Font("Tahoma", 11.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.cmbMandator.Properties.Appearance.Options.UseFont = True
Me.cmbMandator.Properties.Buttons.AddRange(New DevExpress.XtraEditors.Controls.EditorButton() {New DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)})
Me.cmbMandator.Properties.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.DisableTextEditor
Me.cmbMandator.Size = New System.Drawing.Size(105, 24)
Me.cmbMandator.StyleController = Me.LayoutControl1
Me.cmbMandator.TabIndex = 6
'
'lookupAttribute
'
Me.lookupAttribute.Location = New System.Drawing.Point(121, 12)
Me.lookupAttribute.Name = "lookupAttribute"
Me.lookupAttribute.Properties.Appearance.Font = New System.Drawing.Font("Tahoma", 11.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.lookupAttribute.Properties.Appearance.Options.UseFont = True
Me.lookupAttribute.Properties.Buttons.AddRange(New DevExpress.XtraEditors.Controls.EditorButton() {New DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)})
Me.lookupAttribute.Properties.NullText = ""
Me.lookupAttribute.Properties.PopupView = Me.SearchLookUpEdit2View
Me.lookupAttribute.Size = New System.Drawing.Size(285, 24)
Me.lookupAttribute.StyleController = Me.LayoutControl1
Me.lookupAttribute.TabIndex = 5
'
'SearchLookUpEdit2View
'
Me.SearchLookUpEdit2View.FocusRectStyle = DevExpress.XtraGrid.Views.Grid.DrawFocusRectStyle.RowFocus
Me.SearchLookUpEdit2View.Name = "SearchLookUpEdit2View"
Me.SearchLookUpEdit2View.OptionsSelection.EnableAppearanceFocusedCell = False
Me.SearchLookUpEdit2View.OptionsView.ShowGroupPanel = False
'
'lookupValue
'
Me.lookupValue.EditValue = ""
Me.lookupValue.Location = New System.Drawing.Point(648, 12)
Me.lookupValue.Name = "lookupValue"
Me.lookupValue.Properties.Appearance.Font = New System.Drawing.Font("Tahoma", 11.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.lookupValue.Properties.Appearance.Options.UseFont = True
Me.lookupValue.Properties.Buttons.AddRange(New DevExpress.XtraEditors.Controls.EditorButton() {New DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)})
Me.lookupValue.Properties.CloseUpKey = New DevExpress.Utils.KeyShortcut(System.Windows.Forms.Keys.F5)
Me.lookupValue.Properties.NullText = ""
Me.lookupValue.Properties.PopupView = Me.SearchLookUpEdit1View
Me.lookupValue.Properties.ShowClearButton = False
Me.lookupValue.Properties.ShowFooter = False
Me.lookupValue.Size = New System.Drawing.Size(188, 24)
Me.lookupValue.StyleController = Me.LayoutControl1
Me.lookupValue.TabIndex = 2
'
'SearchLookUpEdit1View
'
Me.SearchLookUpEdit1View.FocusRectStyle = DevExpress.XtraGrid.Views.Grid.DrawFocusRectStyle.RowFocus
Me.SearchLookUpEdit1View.Name = "SearchLookUpEdit1View"
Me.SearchLookUpEdit1View.OptionsSelection.EnableAppearanceFocusedCell = False
Me.SearchLookUpEdit1View.OptionsView.ShowGroupPanel = False
'
'SimpleButton1
'
Me.SimpleButton1.Appearance.Font = New System.Drawing.Font("Tahoma", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.SimpleButton1.Appearance.Options.UseFont = True
Me.SimpleButton1.Location = New System.Drawing.Point(840, 12)
Me.SimpleButton1.Name = "SimpleButton1"
Me.SimpleButton1.Size = New System.Drawing.Size(115, 24)
Me.SimpleButton1.StyleController = Me.LayoutControl1
Me.SimpleButton1.TabIndex = 7
Me.SimpleButton1.Text = "SimpleButton1"
'
'Root
'
Me.Root.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.[True]
Me.Root.GroupBordersVisible = False
Me.Root.Items.AddRange(New DevExpress.XtraLayout.BaseLayoutItem() {Me.LayoutControlItem1, Me.EmptySpaceItem1, Me.LayoutControlItem2, Me.LayoutControlItem4, Me.LayoutControlItem5, Me.LayoutControlItem3})
Me.Root.Name = "Root"
Me.Root.Size = New System.Drawing.Size(967, 58)
Me.Root.TextVisible = False
'
'LayoutControlItem1
'
Me.LayoutControlItem1.Control = Me.cmbMandator
Me.LayoutControlItem1.Location = New System.Drawing.Point(0, 0)
Me.LayoutControlItem1.Name = "LayoutControlItem1"
Me.LayoutControlItem1.Size = New System.Drawing.Size(109, 28)
Me.LayoutControlItem1.TextSize = New System.Drawing.Size(0, 0)
Me.LayoutControlItem1.TextVisible = False
'
'EmptySpaceItem1
'
Me.EmptySpaceItem1.AllowHotTrack = False
Me.EmptySpaceItem1.Location = New System.Drawing.Point(0, 28)
Me.EmptySpaceItem1.Name = "EmptySpaceItem1"
Me.EmptySpaceItem1.Size = New System.Drawing.Size(828, 10)
Me.EmptySpaceItem1.TextSize = New System.Drawing.Size(0, 0)
'
'LayoutControlItem2
'
Me.LayoutControlItem2.Control = Me.lookupValue
Me.LayoutControlItem2.Location = New System.Drawing.Point(636, 0)
Me.LayoutControlItem2.Name = "LayoutControlItem2"
Me.LayoutControlItem2.Size = New System.Drawing.Size(192, 28)
Me.LayoutControlItem2.TextSize = New System.Drawing.Size(0, 0)
Me.LayoutControlItem2.TextVisible = False
'
'LayoutControlItem4
'
Me.LayoutControlItem4.Control = Me.lookupAttribute
Me.LayoutControlItem4.Location = New System.Drawing.Point(109, 0)
Me.LayoutControlItem4.Name = "LayoutControlItem4"
Me.LayoutControlItem4.Size = New System.Drawing.Size(289, 28)
Me.LayoutControlItem4.TextSize = New System.Drawing.Size(0, 0)
Me.LayoutControlItem4.TextVisible = False
'
'LayoutControlItem3
'
Me.LayoutControlItem3.Control = Me.cmbOperator
Me.LayoutControlItem3.Location = New System.Drawing.Point(398, 0)
Me.LayoutControlItem3.Name = "LayoutControlItem3"
Me.LayoutControlItem3.Size = New System.Drawing.Size(238, 28)
Me.LayoutControlItem3.TextSize = New System.Drawing.Size(0, 0)
Me.LayoutControlItem3.TextVisible = False
'
'LayoutControlItem5
'
Me.LayoutControlItem5.Control = Me.SimpleButton1
Me.LayoutControlItem5.Location = New System.Drawing.Point(828, 0)
Me.LayoutControlItem5.Name = "LayoutControlItem5"
Me.LayoutControlItem5.Size = New System.Drawing.Size(119, 38)
Me.LayoutControlItem5.TextSize = New System.Drawing.Size(0, 0)
Me.LayoutControlItem5.TextVisible = False
'
'NavBarControl1
'
Me.NavBarControl1.ActiveGroup = Me.NavBarGroup1
@ -249,7 +67,7 @@ Partial Class frmSearchNeu
Me.NavBarControl1.Location = New System.Drawing.Point(0, 0)
Me.NavBarControl1.Name = "NavBarControl1"
Me.NavBarControl1.OptionsNavPane.ExpandedWidth = 163
Me.NavBarControl1.Size = New System.Drawing.Size(163, 196)
Me.NavBarControl1.Size = New System.Drawing.Size(163, 193)
Me.NavBarControl1.TabIndex = 4
Me.NavBarControl1.Text = "NavBarControl1"
'
@ -267,7 +85,7 @@ Partial Class frmSearchNeu
Me.SplitContainerControl1.Panel1.Controls.Add(Me.NavBarControl1)
Me.SplitContainerControl1.Panel1.Text = "Panel1"
Me.SplitContainerControl1.Panel2.Text = "Panel2"
Me.SplitContainerControl1.Size = New System.Drawing.Size(984, 196)
Me.SplitContainerControl1.Size = New System.Drawing.Size(984, 193)
Me.SplitContainerControl1.SplitterPosition = 163
Me.SplitContainerControl1.TabIndex = 7
'
@ -275,13 +93,13 @@ Partial Class frmSearchNeu
'
Me.SplitContainerControl2.Dock = System.Windows.Forms.DockStyle.Fill
Me.SplitContainerControl2.Horizontal = False
Me.SplitContainerControl2.Location = New System.Drawing.Point(0, 89)
Me.SplitContainerControl2.Location = New System.Drawing.Point(0, 94)
Me.SplitContainerControl2.Name = "SplitContainerControl2"
Me.SplitContainerControl2.Panel1.Controls.Add(Me.SplitContainerControl3)
Me.SplitContainerControl2.Panel1.Text = "Panel1"
Me.SplitContainerControl2.Panel2.Controls.Add(Me.SplitContainerControl1)
Me.SplitContainerControl2.Panel2.Text = "Panel2"
Me.SplitContainerControl2.Size = New System.Drawing.Size(984, 496)
Me.SplitContainerControl2.Size = New System.Drawing.Size(984, 493)
Me.SplitContainerControl2.SplitterPosition = 290
Me.SplitContainerControl2.TabIndex = 8
'
@ -292,7 +110,9 @@ Partial Class frmSearchNeu
Me.SplitContainerControl3.IsSplitterFixed = True
Me.SplitContainerControl3.Location = New System.Drawing.Point(0, 0)
Me.SplitContainerControl3.Name = "SplitContainerControl3"
Me.SplitContainerControl3.Panel1.Controls.Add(Me.LayoutControl1)
Me.SplitContainerControl3.Panel1.Controls.Add(Me.Button1)
Me.SplitContainerControl3.Panel1.Controls.Add(Me.cmbSelect)
Me.SplitContainerControl3.Panel1.Controls.Add(Me.SearchControl2)
Me.SplitContainerControl3.Panel1.Text = "Panel1"
Me.SplitContainerControl3.Panel2.Controls.Add(Me.GridControl1)
Me.SplitContainerControl3.Panel2.Text = "Panel2"
@ -300,6 +120,49 @@ Partial Class frmSearchNeu
Me.SplitContainerControl3.SplitterPosition = 55
Me.SplitContainerControl3.TabIndex = 9
'
'Button1
'
Me.Button1.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.Button1.Location = New System.Drawing.Point(886, 6)
Me.Button1.Name = "Button1"
Me.Button1.Size = New System.Drawing.Size(95, 44)
Me.Button1.TabIndex = 5
Me.Button1.Text = "Suchen"
Me.Button1.UseVisualStyleBackColor = True
'
'cmbSelect
'
Me.cmbSelect.Location = New System.Drawing.Point(3, 6)
Me.cmbSelect.Name = "cmbSelect"
Me.cmbSelect.Properties.Appearance.BackColor = System.Drawing.Color.Transparent
Me.cmbSelect.Properties.Appearance.Font = New System.Drawing.Font("Segoe UI", 20.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.cmbSelect.Properties.Appearance.Options.UseBackColor = True
Me.cmbSelect.Properties.Appearance.Options.UseFont = True
Me.cmbSelect.Properties.BorderStyle = DevExpress.XtraEditors.Controls.BorderStyles.Simple
Me.cmbSelect.Properties.Buttons.AddRange(New DevExpress.XtraEditors.Controls.EditorButton() {New DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)})
Me.cmbSelect.Properties.Items.AddRange(New Object() {"Alle", "Belege", "Rechnungen", "Lieferscheine", "Aufträge", "Angebote", "Kunde Schaum", "Kunde medacom"})
Me.cmbSelect.Properties.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.DisableTextEditor
Me.cmbSelect.Size = New System.Drawing.Size(113, 44)
Me.cmbSelect.TabIndex = 4
'
'SearchControl2
'
Me.SearchControl2.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.SearchControl2.Location = New System.Drawing.Point(115, 6)
Me.SearchControl2.Name = "SearchControl2"
Me.SearchControl2.Properties.Appearance.BackColor = System.Drawing.Color.Transparent
Me.SearchControl2.Properties.Appearance.Font = New System.Drawing.Font("Segoe UI", 20.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.SearchControl2.Properties.Appearance.Options.UseBackColor = True
Me.SearchControl2.Properties.Appearance.Options.UseFont = True
Me.SearchControl2.Properties.BorderStyle = DevExpress.XtraEditors.Controls.BorderStyles.Simple
Me.SearchControl2.Properties.EditMode = DevExpress.XtraEditors.TokenEditMode.Manual
Me.SearchControl2.Properties.EditValueType = DevExpress.XtraEditors.TokenEditValueType.List
Me.SearchControl2.Properties.PopupFilterMode = DevExpress.XtraEditors.TokenEditPopupFilterMode.Contains
Me.SearchControl2.Properties.Separators.AddRange(New String() {",", "-", "ODER", "OR", "AND", "UND"})
Me.SearchControl2.Size = New System.Drawing.Size(772, 44)
Me.SearchControl2.TabIndex = 3
'
'GridControl1
'
Me.GridControl1.Dock = System.Windows.Forms.DockStyle.Fill
@ -319,6 +182,7 @@ Partial Class frmSearchNeu
'colParenLeft
'
Me.colParenLeft.Caption = "("
Me.colParenLeft.FieldName = "ParentLeft"
Me.colParenLeft.Name = "colParenLeft"
Me.colParenLeft.Visible = True
Me.colParenLeft.VisibleIndex = 0
@ -326,6 +190,7 @@ Partial Class frmSearchNeu
'colAttribute
'
Me.colAttribute.Caption = "Attribut"
Me.colAttribute.FieldName = "Key"
Me.colAttribute.Name = "colAttribute"
Me.colAttribute.Visible = True
Me.colAttribute.VisibleIndex = 1
@ -333,6 +198,7 @@ Partial Class frmSearchNeu
'colOperator
'
Me.colOperator.Caption = "Operand"
Me.colOperator.FieldName = "Op"
Me.colOperator.Name = "colOperator"
Me.colOperator.Visible = True
Me.colOperator.VisibleIndex = 2
@ -340,6 +206,7 @@ Partial Class frmSearchNeu
'colValue
'
Me.colValue.Caption = "Wert"
Me.colValue.FieldName = "Value"
Me.colValue.Name = "colValue"
Me.colValue.Visible = True
Me.colValue.VisibleIndex = 3
@ -347,6 +214,7 @@ Partial Class frmSearchNeu
'colParenRight
'
Me.colParenRight.Caption = ")"
Me.colParenRight.FieldName = "ParenRight"
Me.colParenRight.Name = "colParenRight"
Me.colParenRight.Visible = True
Me.colParenRight.VisibleIndex = 4
@ -361,7 +229,7 @@ Partial Class frmSearchNeu
Me.RibbonControl1.Name = "RibbonControl1"
Me.RibbonControl1.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.RibbonPage1})
Me.RibbonControl1.ShowApplicationButton = DevExpress.Utils.DefaultBoolean.[False]
Me.RibbonControl1.Size = New System.Drawing.Size(984, 89)
Me.RibbonControl1.Size = New System.Drawing.Size(984, 94)
Me.RibbonControl1.StatusBar = Me.RibbonStatusBar1
'
'BarButtonItem1
@ -389,10 +257,10 @@ Partial Class frmSearchNeu
'
'RibbonStatusBar1
'
Me.RibbonStatusBar1.Location = New System.Drawing.Point(0, 585)
Me.RibbonStatusBar1.Location = New System.Drawing.Point(0, 587)
Me.RibbonStatusBar1.Name = "RibbonStatusBar1"
Me.RibbonStatusBar1.Ribbon = Me.RibbonControl1
Me.RibbonStatusBar1.Size = New System.Drawing.Size(984, 24)
Me.RibbonStatusBar1.Size = New System.Drawing.Size(984, 22)
'
'RibbonPage2
'
@ -411,21 +279,6 @@ Partial Class frmSearchNeu
Me.Ribbon = Me.RibbonControl1
Me.StatusBar = Me.RibbonStatusBar1
Me.Text = "frmSearchNeu"
CType(Me.cmbOperator.Properties, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.LayoutControl1, System.ComponentModel.ISupportInitialize).EndInit()
Me.LayoutControl1.ResumeLayout(False)
CType(Me.cmbMandator.Properties, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.lookupAttribute.Properties, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.SearchLookUpEdit2View, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.lookupValue.Properties, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.SearchLookUpEdit1View, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.Root, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.LayoutControlItem1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.EmptySpaceItem1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.LayoutControlItem2, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.LayoutControlItem4, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.LayoutControlItem3, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.LayoutControlItem5, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.NavBarControl1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.SplitContainerControl1, System.ComponentModel.ISupportInitialize).EndInit()
Me.SplitContainerControl1.ResumeLayout(False)
@ -433,6 +286,8 @@ Partial Class frmSearchNeu
Me.SplitContainerControl2.ResumeLayout(False)
CType(Me.SplitContainerControl3, System.ComponentModel.ISupportInitialize).EndInit()
Me.SplitContainerControl3.ResumeLayout(False)
CType(Me.cmbSelect.Properties, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.SearchControl2.Properties, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.GridControl1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.GridView1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.RibbonControl1, System.ComponentModel.ISupportInitialize).EndInit()
@ -440,14 +295,8 @@ Partial Class frmSearchNeu
Me.PerformLayout()
End Sub
Friend WithEvents cmbOperator As DevExpress.XtraEditors.ComboBoxEdit
Friend WithEvents lookupValue As DevExpress.XtraEditors.SearchLookUpEdit
Friend WithEvents SearchLookUpEdit1View As DevExpress.XtraGrid.Views.Grid.GridView
Friend WithEvents NavBarControl1 As DevExpress.XtraNavBar.NavBarControl
Friend WithEvents NavBarGroup1 As DevExpress.XtraNavBar.NavBarGroup
Friend WithEvents lookupAttribute As SearchLookUpEdit
Friend WithEvents SearchLookUpEdit2View As GridView
Friend WithEvents cmbMandator As ComboBoxEdit
Friend WithEvents SplitContainerControl1 As SplitContainerControl
Friend WithEvents SplitContainerControl2 As SplitContainerControl
Friend WithEvents SplitContainerControl3 As SplitContainerControl
@ -459,19 +308,13 @@ Partial Class frmSearchNeu
Friend WithEvents RibbonPageGroup2 As DevExpress.XtraBars.Ribbon.RibbonPageGroup
Friend WithEvents RibbonStatusBar1 As DevExpress.XtraBars.Ribbon.RibbonStatusBar
Friend WithEvents RibbonPage2 As DevExpress.XtraBars.Ribbon.RibbonPage
Friend WithEvents LayoutControl1 As DevExpress.XtraLayout.LayoutControl
Friend WithEvents SimpleButton1 As SimpleButton
Friend WithEvents Root As DevExpress.XtraLayout.LayoutControlGroup
Friend WithEvents LayoutControlItem1 As DevExpress.XtraLayout.LayoutControlItem
Friend WithEvents EmptySpaceItem1 As DevExpress.XtraLayout.EmptySpaceItem
Friend WithEvents LayoutControlItem2 As DevExpress.XtraLayout.LayoutControlItem
Friend WithEvents LayoutControlItem4 As DevExpress.XtraLayout.LayoutControlItem
Friend WithEvents LayoutControlItem3 As DevExpress.XtraLayout.LayoutControlItem
Friend WithEvents LayoutControlItem5 As DevExpress.XtraLayout.LayoutControlItem
Friend WithEvents BarButtonItem1 As DevExpress.XtraBars.BarButtonItem
Friend WithEvents colParenLeft As Columns.GridColumn
Friend WithEvents colAttribute As Columns.GridColumn
Friend WithEvents colOperator As Columns.GridColumn
Friend WithEvents colValue As Columns.GridColumn
Friend WithEvents colParenRight As Columns.GridColumn
Friend WithEvents Button1 As Button
Friend WithEvents cmbSelect As ComboBoxEdit
Friend WithEvents SearchControl2 As TokenEdit
End Class

View File

@ -1,32 +1,132 @@
Imports DevExpress.XtraEditors
Imports System.Collections
Imports System.ComponentModel
Imports DevExpress.XtraEditors
Imports DigitalData.GUIs.ZooFlow.SearchToken
Public Class frmSearchNeu
Public Class Attribute
Public Name As String
Private ReadOnly TokenListAttributes As New Dictionary(Of String, Object) From {
{"Rechnungsnummer", New SearchToken.AttributeKeyToken("InvoiceNo")},
{"Rechnungsdatum", New SearchToken.AttributeKeyToken("InvoiceDate")},
{"Kundennummer", New SearchToken.AttributeKeyToken("CustNo")}
}
Private ReadOnly TokenListAttrValues As New Dictionary(Of String, Object) From {
{"1233", New SearchToken.AttributeValueToken(1233)},
{"1234", New SearchToken.AttributeValueToken(1234)},
{"1235", New SearchToken.AttributeValueToken(1235)},
{"4711", New SearchToken.AttributeValueToken(4711)},
{"4712", New SearchToken.AttributeValueToken(4712)}
}
Private ReadOnly TokenListDate As New Dictionary(Of String, Object) From {
{"heute", New SearchToken.DateToken(Date.Now)},
{"gestern", New SearchToken.DateToken(Date.Now.AddDays(-1))},
{"letzte Woche", New SearchToken.DateToken(TimeSpan.FromDays(-7))},
{"letzter Monat", New SearchToken.DateToken(TimeSpan.FromDays(-30))}
}
Private ReadOnly TokenListOperands As New Dictionary(Of String, Object) From {
{"gleich", New AttributeOperatorToken(OperatorToken.Equals)},
{"nicht gleich", New AttributeOperatorToken(OperatorToken.NotEquals)}
}
Private TokenListDefault As Dictionary(Of String, Object)
Public Overrides Function ToString() As String
Return Name
End Function
End Class
Private InputMode As InputMode = InputMode.Default
Private SearchQuery As New BindingList(Of SearchCriteria)
Private Sub frmSearchNeu_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim oSQL As String = "SELECT * FROM VWIDB_BE_ATTRIBUTE WHERE DEFAULT_SEARCH_ATTRIBUTE = 1 AND LANG_CODE = 'de-DE'"
Dim oAttributeList As DataTable = My.DatabaseIDB.GetDatatable(oSQL)
Private Sub XtraForm1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
TokenListDefault = TokenListAttributes
AddTokens(SearchControl2, TokenListDefault)
Dim oAttributes As New List(Of Attribute)
For Each oRow As DataRow In oAttributeList.Rows
Dim oAttr = New Attribute With {.Name = oRow.Item("ATTR_TITLE")}
oAttributes.Add(oAttr)
GridControl1.DataSource = SearchQuery
cmbSelect.SelectedIndex = 0
End Sub
cmbOperator.Properties.Items.Add(oAttr)
cmbOperator.Properties.Items.Add(oAttr)
Private Sub SetTokens(Editor As TokenEdit, Tokens As Dictionary(Of String, Object))
Editor.Properties.Tokens.Clear()
AddTokens(Editor, Tokens)
End Sub
Private Sub AddTokens(Editor As TokenEdit, Tokens As Dictionary(Of String, Object))
For Each oToken In Tokens
Dim oTokenEditToken = New TokenEditToken With {
.Description = oToken.Key,
.Value = oToken.Value
}
Editor.Properties.Tokens.Add(oTokenEditToken)
Next
End Sub
lookupValue.Properties.DataSource = oAttributes
lookupValue.Properties.DisplayMember = "TITLE"
Private Sub SearchControl2_Properties_TokenAdded(sender As Object, e As DevExpress.XtraEditors.TokenEditTokenAddedEventArgs) Handles SearchControl2.Properties.TokenAdded
Dim oEditor As TokenEdit = sender
SetNewTokens(oEditor)
End Sub
Private Sub SearchControl2_Properties_TokenRemoved(sender As Object, e As TokenEditTokenRemovedEventArgs) Handles SearchControl2.Properties.TokenRemoved
Dim oEditor As TokenEdit = sender
SetNewTokens(oEditor)
End Sub
lookupValue.Properties.DataSource = oAttributes
lookupValue.Properties.DisplayMember = "TITLE"
Private Sub SetNewTokens(pEditor As TokenEdit)
Dim oLastToken = pEditor.GetTokenList().LastOrDefault()
pEditor.Properties.BeginUpdate()
If oLastToken IsNot Nothing Then
Select Case oLastToken.Value.GetType
Case GetType(AttributeKeyToken)
' After the attribute key comes an operator
SetTokens(pEditor, TokenListOperands)
InputMode = InputMode.Operator
Case GetType(AttributeOperatorToken)
' After the attribute operator comes a value
SetTokens(pEditor, TokenListAttrValues)
InputMode = InputMode.Value
Case GetType(AttributeValueToken)
' After the attribute value comes another value
SetTokens(pEditor, TokenListAttrValues)
InputMode = InputMode.Value
Case Else
SetTokens(pEditor, TokenListDefault)
InputMode = InputMode.Default
End Select
Else
SetTokens(pEditor, TokenListDefault)
InputMode = InputMode.Default
End If
pEditor.Properties.EndUpdate()
End Sub
Private Sub SearchControl2_CustomDrawTokenGlyph(sender As Object, e As TokenEditCustomDrawTokenGlyphEventArgs) Handles SearchControl2.CustomDrawTokenGlyph
' Set Background according to token type
Select Case e.Value.GetType()
Case GetType(AttributeKeyToken)
e.Graphics.FillRectangle(New SolidBrush(ColorTranslator.FromHtml("#F87171")), e.Bounds)
Case GetType(AttributeOperatorToken)
e.Graphics.FillRectangle(New SolidBrush(ColorTranslator.FromHtml("#34D399")), e.Bounds)
Case GetType(AttributeValueToken)
e.Graphics.FillRectangle(New SolidBrush(ColorTranslator.FromHtml("#60A5FA")), e.Bounds)
Case Else
End Select
' Draw the glyph on top
' This fixes: https://supportcenter.devexpress.com/ticket/details/t215578/tokenedit-glyph-is-not-visible-when-customdrawtokentext-is-used
e.DefaultDraw()
End Sub
Private Sub SearchControl2_KeyUp(sender As Object, e As KeyEventArgs) Handles SearchControl2.KeyUp
If InputMode = InputMode.Value And e.KeyCode = Keys.Enter And e.Control = True Then
SearchQuery.Add(New SearchCriteria With {
.ParenLeft = False,
.Key = "test",
.Op = OperatorToken.Equals,
.Value = "test",
.ParentRight = False
})
End If
End Sub
End Class

View File

@ -70,6 +70,10 @@
<Reference Include="DevExpress.Data.v19.2" />
<Reference Include="DevExpress.DataAccess.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.DataAccess.v19.2.UI, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Images.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>D:\ProgramFiles\DevExpress 19.2\Components\Bin\Framework\DevExpress.Images.v19.2.dll</HintPath>
</Reference>
<Reference Include="DevExpress.Office.v19.2.Core, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Printing.v19.2.Core" />
<Reference Include="DevExpress.RichEdit.v19.2.Core, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
@ -346,14 +350,10 @@
<Compile Include="My Project\AssemblyInfo.vb" />
<Compile Include="MyApplication.vb" />
<Compile Include="Queries\ClassQueries.vb" />
<Compile Include="Search\SearchCriteria.vb" />
<Compile Include="Search\SearchFilter.vb" />
<Compile Include="Search\SearchToken.vb" />
<Compile Include="Search\State.vb" />
<Compile Include="Search\frmSearch2021.Designer.vb">
<DependentUpon>frmSearch2021.vb</DependentUpon>
</Compile>
<Compile Include="Search\frmSearch2021.vb">
<SubType>Form</SubType>
</Compile>
<EmbeddedResource Include="Administration\frmAdmin_ClipboardWatcher.resx">
<DependentUpon>frmAdmin_ClipboardWatcher.vb</DependentUpon>
</EmbeddedResource>
@ -421,9 +421,6 @@
<SubType>Designer</SubType>
<LastGenOutput>Resources.Designer.vb</LastGenOutput>
</EmbeddedResource>
<EmbeddedResource Include="Search\frmSearch2021.resx">
<DependentUpon>frmSearch2021.vb</DependentUpon>
</EmbeddedResource>
<None Include="App.config" />
<None Include="DBCW_Stammdaten.xsc">
<DependentUpon>DBCW_Stammdaten.xsd</DependentUpon>