LookupGrid: first version of LookupControl3

This commit is contained in:
Jonathan Jenne 2021-02-12 14:05:03 +01:00
parent 403c87bde7
commit 240823962b
4 changed files with 36 additions and 84 deletions

View File

@ -57,7 +57,6 @@ Public Class RepositoryItemLookupControl3
Public Property AllowAddNewValues As Boolean Public Property AllowAddNewValues As Boolean
Public Property PreventDuplicates As Boolean Public Property PreventDuplicates As Boolean
Public Overloads Property DataSource As DataTable
Public Delegate Sub SelectedValuesChangedHandler(sender As Object, SelectedValues As List(Of String)) Public Delegate Sub SelectedValuesChangedHandler(sender As Object, SelectedValues As List(Of String))
Public Event SelectedValuesChanged As SelectedValuesChangedHandler Public Event SelectedValuesChanged As SelectedValuesChangedHandler
@ -97,6 +96,12 @@ Public Class RepositoryItemLookupControl3
End Set End Set
End Property End Property
Protected Overrides Sub RaiseQueryPopUp(e As CancelEventArgs)
If MultiSelect = True Then
MyBase.RaiseQueryPopUp(e)
End If
End Sub
Public Shared Sub RegisterLookupControl() Public Shared Sub RegisterLookupControl()
Dim img As Image = Nothing Dim img As Image = Nothing
Dim oClassInfo = New EditorClassInfo( Dim oClassInfo = New EditorClassInfo(
@ -128,7 +133,7 @@ Public Class RepositoryItemLookupControl3
FirstOrDefault() FirstOrDefault()
If oButton IsNot Nothing Then If oButton IsNot Nothing Then
oButton.Visible = pVisible oButton.Enabled = pVisible
End If End If
End Sub End Sub
@ -149,8 +154,6 @@ Public Class RepositoryItemLookupControl3
Values.RemoveAll(Function(v) String.IsNullOrEmpty(v)) Values.RemoveAll(Function(v) String.IsNullOrEmpty(v))
If MultiSelect = True Then If MultiSelect = True Then
' DataSource = Values
Select Case Values.Count Select Case Values.Count
Case 0 Case 0
NullText = TEXT_NO_RECORDS NullText = TEXT_NO_RECORDS
@ -161,7 +164,6 @@ Public Class RepositoryItemLookupControl3
End Select End Select
Else Else
NullText = Values.FirstOrDefault() NullText = Values.FirstOrDefault()
OwnerEdit.Text = Values.FirstOrDefault()
OwnerEdit.EditValue = Values.FirstOrDefault() OwnerEdit.EditValue = Values.FirstOrDefault()
End If End If
@ -170,6 +172,21 @@ Public Class RepositoryItemLookupControl3
RaiseEvent SelectedValuesChanged(Me, Values) RaiseEvent SelectedValuesChanged(Me, Values)
End Sub End Sub
Public Overrides Sub CreateDefaultButton()
MyBase.CreateDefaultButton()
Dim oLookupFormButtonm = New EditorButton() With {
.Kind = ButtonPredefines.Search,
.Tag = TAG_BUTTON_LOOKUP_FORM,
.Width = 20
}
Buttons.Item(0).Tag = TAG_DROPDOWN
Buttons.AddRange({oLookupFormButtonm})
ActionButtonIndex = 0
End Sub
Private Function GetLookupForm() As frmLookupGrid Private Function GetLookupForm() As frmLookupGrid
Dim oForm As New frmLookupGrid() With { Dim oForm As New frmLookupGrid() With {
.MultiSelect = MultiSelect, .MultiSelect = MultiSelect,
@ -185,8 +202,9 @@ Public Class RepositoryItemLookupControl3
End Function End Function
Protected Overrides Sub RaiseButtonClick(e As ButtonPressedEventArgs) Protected Overrides Sub RaiseButtonClick(e As ButtonPressedEventArgs)
Select Case e.Button.Tag MyBase.RaiseButtonClick(e)
Case TAG_BUTTON_LOOKUP_FORM
If e.Button.Tag = TAG_BUTTON_LOOKUP_FORM Then
Using oForm = GetLookupForm() Using oForm = GetLookupForm()
Dim oResult = oForm.ShowDialog() Dim oResult = oForm.ShowDialog()
@ -195,9 +213,7 @@ Public Class RepositoryItemLookupControl3
UpdateSelectedValues(oValues) UpdateSelectedValues(oValues)
End If End If
End Using End Using
Case Else End If
MyBase.RaiseButtonClick(e)
End Select
End Sub End Sub
Public Overrides Sub Assign(item As RepositoryItem) Public Overrides Sub Assign(item As RepositoryItem)
@ -212,23 +228,4 @@ Public Class RepositoryItemLookupControl3
EndUpdate() EndUpdate()
End Try End Try
End Sub End Sub
Public Overrides Sub CreateDefaultButton()
MyBase.CreateDefaultButton()
Dim oLookupFormButtonm = New EditorButton() With {
.Kind = ButtonPredefines.Search,
.Tag = TAG_BUTTON_LOOKUP_FORM,
.Width = 20
}
Buttons.Item(0).Tag = TAG_DROPDOWN
Buttons.AddRange({oLookupFormButtonm})
End Sub
Protected Overrides Sub RaiseQueryPopUp(e As CancelEventArgs)
If MultiSelect = True Then
MyBase.RaiseQueryPopUp(e)
End If
End Sub
End Class End Class

View File

@ -28,22 +28,13 @@ Partial Class frmLookup
Dim SerializableAppearanceObject3 As DevExpress.Utils.SerializableAppearanceObject = New DevExpress.Utils.SerializableAppearanceObject() Dim SerializableAppearanceObject3 As DevExpress.Utils.SerializableAppearanceObject = New DevExpress.Utils.SerializableAppearanceObject()
Dim SerializableAppearanceObject4 As DevExpress.Utils.SerializableAppearanceObject = New DevExpress.Utils.SerializableAppearanceObject() Dim SerializableAppearanceObject4 As DevExpress.Utils.SerializableAppearanceObject = New DevExpress.Utils.SerializableAppearanceObject()
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmLookup)) Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmLookup))
Dim EditorButtonImageOptions2 As DevExpress.XtraEditors.Controls.EditorButtonImageOptions = New DevExpress.XtraEditors.Controls.EditorButtonImageOptions()
Dim SerializableAppearanceObject5 As DevExpress.Utils.SerializableAppearanceObject = New DevExpress.Utils.SerializableAppearanceObject()
Dim SerializableAppearanceObject6 As DevExpress.Utils.SerializableAppearanceObject = New DevExpress.Utils.SerializableAppearanceObject()
Dim SerializableAppearanceObject7 As DevExpress.Utils.SerializableAppearanceObject = New DevExpress.Utils.SerializableAppearanceObject()
Dim SerializableAppearanceObject8 As DevExpress.Utils.SerializableAppearanceObject = New DevExpress.Utils.SerializableAppearanceObject()
Me.GridControl1 = New DevExpress.XtraGrid.GridControl() Me.GridControl1 = New DevExpress.XtraGrid.GridControl()
Me.GridView1 = New DevExpress.XtraGrid.Views.Grid.GridView() Me.GridView1 = New DevExpress.XtraGrid.Views.Grid.GridView()
Me.GridColumn1 = New DevExpress.XtraGrid.Columns.GridColumn() Me.GridColumn1 = New DevExpress.XtraGrid.Columns.GridColumn()
Me.RepositoryItemLookupControl34 = New DigitalData.Controls.LookupGrid.RepositoryItemLookupControl3()
Me.RepositoryItemLookupControl34View = New DevExpress.XtraGrid.Views.Grid.GridView()
Me.LookupControl31 = New DigitalData.Controls.LookupGrid.LookupControl3() Me.LookupControl31 = New DigitalData.Controls.LookupGrid.LookupControl3()
Me.LookupControl31View = New DevExpress.XtraGrid.Views.Grid.GridView() Me.LookupControl31View = New DevExpress.XtraGrid.Views.Grid.GridView()
CType(Me.GridControl1, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.GridControl1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.GridView1, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.GridView1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.RepositoryItemLookupControl34, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.RepositoryItemLookupControl34View, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.LookupControl31.Properties, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.LookupControl31.Properties, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.LookupControl31View, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.LookupControl31View, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout() Me.SuspendLayout()
@ -53,7 +44,6 @@ Partial Class frmLookup
Me.GridControl1.Location = New System.Drawing.Point(12, 12) Me.GridControl1.Location = New System.Drawing.Point(12, 12)
Me.GridControl1.MainView = Me.GridView1 Me.GridControl1.MainView = Me.GridView1
Me.GridControl1.Name = "GridControl1" Me.GridControl1.Name = "GridControl1"
Me.GridControl1.RepositoryItems.AddRange(New DevExpress.XtraEditors.Repository.RepositoryItem() {Me.RepositoryItemLookupControl34})
Me.GridControl1.Size = New System.Drawing.Size(452, 375) Me.GridControl1.Size = New System.Drawing.Size(452, 375)
Me.GridControl1.TabIndex = 1 Me.GridControl1.TabIndex = 1
Me.GridControl1.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.GridView1}) Me.GridControl1.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.GridView1})
@ -71,35 +61,13 @@ Partial Class frmLookup
Me.GridColumn1.Visible = True Me.GridColumn1.Visible = True
Me.GridColumn1.VisibleIndex = 0 Me.GridColumn1.VisibleIndex = 0
' '
'RepositoryItemLookupControl34
'
Me.RepositoryItemLookupControl34.ActionButtonIndex = 1
Me.RepositoryItemLookupControl34.AllowAddNewValues = False
Me.RepositoryItemLookupControl34.AutoHeight = False
Me.RepositoryItemLookupControl34.Buttons.AddRange(New DevExpress.XtraEditors.Controls.EditorButton() {New DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Search, "", 20, True, True, False, EditorButtonImageOptions1, New DevExpress.Utils.KeyShortcut(System.Windows.Forms.Keys.None), SerializableAppearanceObject1, SerializableAppearanceObject2, SerializableAppearanceObject3, SerializableAppearanceObject4, "", "openLookupForm", Nothing, DevExpress.Utils.ToolTipAnchor.[Default]), New DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)})
Me.RepositoryItemLookupControl34.DataSource = Nothing
Me.RepositoryItemLookupControl34.MultiSelect = False
Me.RepositoryItemLookupControl34.Name = "RepositoryItemLookupControl34"
Me.RepositoryItemLookupControl34.PopupView = Me.RepositoryItemLookupControl34View
Me.RepositoryItemLookupControl34.PreventDuplicates = False
Me.RepositoryItemLookupControl34.ReadOnly = False
Me.RepositoryItemLookupControl34.SelectedValues = CType(resources.GetObject("RepositoryItemLookupControl34.SelectedValues"), System.Collections.Generic.List(Of String))
'
'RepositoryItemLookupControl34View
'
Me.RepositoryItemLookupControl34View.FocusRectStyle = DevExpress.XtraGrid.Views.Grid.DrawFocusRectStyle.RowFocus
Me.RepositoryItemLookupControl34View.Name = "RepositoryItemLookupControl34View"
Me.RepositoryItemLookupControl34View.OptionsSelection.EnableAppearanceFocusedCell = False
Me.RepositoryItemLookupControl34View.OptionsView.ShowGroupPanel = False
'
'LookupControl31 'LookupControl31
' '
Me.LookupControl31.Location = New System.Drawing.Point(562, 116) Me.LookupControl31.Location = New System.Drawing.Point(562, 116)
Me.LookupControl31.Name = "LookupControl31" Me.LookupControl31.Name = "LookupControl31"
Me.LookupControl31.Properties.ActionButtonIndex = 1 Me.LookupControl31.Properties.ActionButtonIndex = 1
Me.LookupControl31.Properties.AllowAddNewValues = False Me.LookupControl31.Properties.AllowAddNewValues = False
Me.LookupControl31.Properties.Buttons.AddRange(New DevExpress.XtraEditors.Controls.EditorButton() {New DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Search, "", 20, True, True, False, EditorButtonImageOptions2, New DevExpress.Utils.KeyShortcut(System.Windows.Forms.Keys.None), SerializableAppearanceObject5, SerializableAppearanceObject6, SerializableAppearanceObject7, SerializableAppearanceObject8, "", "openLookupForm", Nothing, DevExpress.Utils.ToolTipAnchor.[Default]), New DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)}) Me.LookupControl31.Properties.Buttons.AddRange(New DevExpress.XtraEditors.Controls.EditorButton() {New DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Search, "", 20, True, True, False, EditorButtonImageOptions1, New DevExpress.Utils.KeyShortcut(System.Windows.Forms.Keys.None), SerializableAppearanceObject1, SerializableAppearanceObject2, SerializableAppearanceObject3, SerializableAppearanceObject4, "", "openLookupForm", Nothing, DevExpress.Utils.ToolTipAnchor.[Default]), New DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)})
Me.LookupControl31.Properties.DataSource = Nothing
Me.LookupControl31.Properties.MultiSelect = False Me.LookupControl31.Properties.MultiSelect = False
Me.LookupControl31.Properties.PopupView = Me.LookupControl31View Me.LookupControl31.Properties.PopupView = Me.LookupControl31View
Me.LookupControl31.Properties.PreventDuplicates = False Me.LookupControl31.Properties.PreventDuplicates = False
@ -126,8 +94,6 @@ Partial Class frmLookup
Me.Text = "Form1" Me.Text = "Form1"
CType(Me.GridControl1, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.GridControl1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.GridView1, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.GridView1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.RepositoryItemLookupControl34, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.RepositoryItemLookupControl34View, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.LookupControl31.Properties, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.LookupControl31.Properties, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.LookupControl31View, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.LookupControl31View, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False) Me.ResumeLayout(False)
@ -136,8 +102,6 @@ Partial Class frmLookup
Friend WithEvents GridControl1 As DevExpress.XtraGrid.GridControl Friend WithEvents GridControl1 As DevExpress.XtraGrid.GridControl
Friend WithEvents GridView1 As DevExpress.XtraGrid.Views.Grid.GridView Friend WithEvents GridView1 As DevExpress.XtraGrid.Views.Grid.GridView
Friend WithEvents GridColumn1 As DevExpress.XtraGrid.Columns.GridColumn Friend WithEvents GridColumn1 As DevExpress.XtraGrid.Columns.GridColumn
Friend WithEvents RepositoryItemLookupControl34 As DigitalData.Controls.LookupGrid.RepositoryItemLookupControl3
Friend WithEvents RepositoryItemLookupControl34View As DevExpress.XtraGrid.Views.Grid.GridView
Friend WithEvents LookupControl31 As DigitalData.Controls.LookupGrid.LookupControl3 Friend WithEvents LookupControl31 As DigitalData.Controls.LookupGrid.LookupControl3
Friend WithEvents LookupControl31View As DevExpress.XtraGrid.Views.Grid.GridView Friend WithEvents LookupControl31View As DevExpress.XtraGrid.Views.Grid.GridView
End Class End Class

View File

@ -117,15 +117,6 @@
<resheader name="writer"> <resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
<data name="RepositoryItemLookupControl34.SelectedValues" mimetype="application/x-microsoft.net.object.binary.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAJoBbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1u
ZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV0sIG1zY29ybGliLCBWZXJzaW9u
PTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQUB
AAAAMFN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkxpc3RgMVtbU3lzdGVtLlN0cmluZwMAAAAGX2l0
ZW1zBV9zaXplCF92ZXJzaW9uBgAACAgCAAAACQMAAAAAAAAAAAAAABEDAAAAAAAAAAs=
</value>
</data>
<data name="LookupControl31.Properties.SelectedValues" mimetype="application/x-microsoft.net.object.binary.base64"> <data name="LookupControl31.Properties.SelectedValues" mimetype="application/x-microsoft.net.object.binary.base64">
<value> <value>
AAEAAAD/////AQAAAAAAAAAMAgAAAJoBbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1u AAEAAAD/////AQAAAAAAAAAMAgAAAJoBbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1u

View File

@ -18,8 +18,8 @@ Public Class frmLookup
Dim oFirstColumn = GridView1.Columns.First() Dim oFirstColumn = GridView1.Columns.First()
Dim oEditor2 As New RepositoryItemLookupControl3() With { Dim oEditor2 As New RepositoryItemLookupControl3() With {
.DataSource = GetDatatable(10), .DataSource = GetDatatable(10),
.[ReadOnly] = False, .DisplayMember = "Col1",
.MultiSelect = False .ValueMember = "Col1"
} }
GridControl1.RepositoryItems.Add(oEditor2) GridControl1.RepositoryItems.Add(oEditor2)