From 240823962b7c1604be887b11c35f7beb49204d9c Mon Sep 17 00:00:00 2001 From: Jonathan Jenne Date: Fri, 12 Feb 2021 14:05:03 +0100 Subject: [PATCH 1/2] LookupGrid: first version of LookupControl3 --- Controls.LookupGrid/LookupControl3.vb | 71 ++++++++++++------------- GUIs.Test.TestGUI/frmLookup.Designer.vb | 38 +------------ GUIs.Test.TestGUI/frmLookup.resx | 9 ---- GUIs.Test.TestGUI/frmLookup.vb | 4 +- 4 files changed, 37 insertions(+), 85 deletions(-) diff --git a/Controls.LookupGrid/LookupControl3.vb b/Controls.LookupGrid/LookupControl3.vb index 20ef0dd3..6cdd64fb 100644 --- a/Controls.LookupGrid/LookupControl3.vb +++ b/Controls.LookupGrid/LookupControl3.vb @@ -57,7 +57,6 @@ Public Class RepositoryItemLookupControl3 Public Property AllowAddNewValues 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 Event SelectedValuesChanged As SelectedValuesChangedHandler @@ -97,6 +96,12 @@ Public Class RepositoryItemLookupControl3 End Set End Property + Protected Overrides Sub RaiseQueryPopUp(e As CancelEventArgs) + If MultiSelect = True Then + MyBase.RaiseQueryPopUp(e) + End If + End Sub + Public Shared Sub RegisterLookupControl() Dim img As Image = Nothing Dim oClassInfo = New EditorClassInfo( @@ -128,7 +133,7 @@ Public Class RepositoryItemLookupControl3 FirstOrDefault() If oButton IsNot Nothing Then - oButton.Visible = pVisible + oButton.Enabled = pVisible End If End Sub @@ -149,8 +154,6 @@ Public Class RepositoryItemLookupControl3 Values.RemoveAll(Function(v) String.IsNullOrEmpty(v)) If MultiSelect = True Then - ' DataSource = Values - Select Case Values.Count Case 0 NullText = TEXT_NO_RECORDS @@ -161,7 +164,6 @@ Public Class RepositoryItemLookupControl3 End Select Else NullText = Values.FirstOrDefault() - OwnerEdit.Text = Values.FirstOrDefault() OwnerEdit.EditValue = Values.FirstOrDefault() End If @@ -170,6 +172,21 @@ Public Class RepositoryItemLookupControl3 RaiseEvent SelectedValuesChanged(Me, Values) 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 Dim oForm As New frmLookupGrid() With { .MultiSelect = MultiSelect, @@ -185,19 +202,18 @@ Public Class RepositoryItemLookupControl3 End Function Protected Overrides Sub RaiseButtonClick(e As ButtonPressedEventArgs) - Select Case e.Button.Tag - Case TAG_BUTTON_LOOKUP_FORM - Using oForm = GetLookupForm() - Dim oResult = oForm.ShowDialog() - - If oResult = Windows.Forms.DialogResult.OK Then - Dim oValues = oForm.SelectedValues - UpdateSelectedValues(oValues) - End If - End Using - Case Else - MyBase.RaiseButtonClick(e) - End Select + MyBase.RaiseButtonClick(e) + + If e.Button.Tag = TAG_BUTTON_LOOKUP_FORM Then + Using oForm = GetLookupForm() + Dim oResult = oForm.ShowDialog() + + If oResult = Windows.Forms.DialogResult.OK Then + Dim oValues = oForm.SelectedValues + UpdateSelectedValues(oValues) + End If + End Using + End If End Sub Public Overrides Sub Assign(item As RepositoryItem) @@ -212,23 +228,4 @@ Public Class RepositoryItemLookupControl3 EndUpdate() End Try 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 diff --git a/GUIs.Test.TestGUI/frmLookup.Designer.vb b/GUIs.Test.TestGUI/frmLookup.Designer.vb index 65a79e84..885d4a7f 100644 --- a/GUIs.Test.TestGUI/frmLookup.Designer.vb +++ b/GUIs.Test.TestGUI/frmLookup.Designer.vb @@ -28,22 +28,13 @@ Partial Class frmLookup Dim SerializableAppearanceObject3 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 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.GridView1 = New DevExpress.XtraGrid.Views.Grid.GridView() 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.LookupControl31View = New DevExpress.XtraGrid.Views.Grid.GridView() CType(Me.GridControl1, 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.LookupControl31View, System.ComponentModel.ISupportInitialize).BeginInit() Me.SuspendLayout() @@ -53,7 +44,6 @@ Partial Class frmLookup Me.GridControl1.Location = New System.Drawing.Point(12, 12) Me.GridControl1.MainView = Me.GridView1 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.TabIndex = 1 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.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 ' Me.LookupControl31.Location = New System.Drawing.Point(562, 116) Me.LookupControl31.Name = "LookupControl31" Me.LookupControl31.Properties.ActionButtonIndex = 1 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.DataSource = Nothing + 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.MultiSelect = False Me.LookupControl31.Properties.PopupView = Me.LookupControl31View Me.LookupControl31.Properties.PreventDuplicates = False @@ -126,8 +94,6 @@ Partial Class frmLookup Me.Text = "Form1" CType(Me.GridControl1, 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.LookupControl31View, System.ComponentModel.ISupportInitialize).EndInit() Me.ResumeLayout(False) @@ -136,8 +102,6 @@ Partial Class frmLookup Friend WithEvents GridControl1 As DevExpress.XtraGrid.GridControl Friend WithEvents GridView1 As DevExpress.XtraGrid.Views.Grid.GridView 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 LookupControl31View As DevExpress.XtraGrid.Views.Grid.GridView End Class diff --git a/GUIs.Test.TestGUI/frmLookup.resx b/GUIs.Test.TestGUI/frmLookup.resx index 583b20a8..4fb23b11 100644 --- a/GUIs.Test.TestGUI/frmLookup.resx +++ b/GUIs.Test.TestGUI/frmLookup.resx @@ -117,15 +117,6 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - AAEAAAD/////AQAAAAAAAAAMAgAAAJoBbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1u - ZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV0sIG1zY29ybGliLCBWZXJzaW9u - PTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQUB - AAAAMFN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkxpc3RgMVtbU3lzdGVtLlN0cmluZwMAAAAGX2l0 - ZW1zBV9zaXplCF92ZXJzaW9uBgAACAgCAAAACQMAAAAAAAAAAAAAABEDAAAAAAAAAAs= - - AAEAAAD/////AQAAAAAAAAAMAgAAAJoBbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1u diff --git a/GUIs.Test.TestGUI/frmLookup.vb b/GUIs.Test.TestGUI/frmLookup.vb index 904bbe12..7a4b3736 100644 --- a/GUIs.Test.TestGUI/frmLookup.vb +++ b/GUIs.Test.TestGUI/frmLookup.vb @@ -18,8 +18,8 @@ Public Class frmLookup Dim oFirstColumn = GridView1.Columns.First() Dim oEditor2 As New RepositoryItemLookupControl3() With { .DataSource = GetDatatable(10), - .[ReadOnly] = False, - .MultiSelect = False + .DisplayMember = "Col1", + .ValueMember = "Col1" } GridControl1.RepositoryItems.Add(oEditor2) From c67742ee5b2ac99c8de7eb1c4cab69a14e78e465 Mon Sep 17 00:00:00 2001 From: Jonathan Jenne Date: Fri, 12 Feb 2021 14:05:37 +0100 Subject: [PATCH 2/2] LookupGrid: Version 2.0.0 --- Controls.LookupGrid/My Project/AssemblyInfo.vb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Controls.LookupGrid/My Project/AssemblyInfo.vb b/Controls.LookupGrid/My Project/AssemblyInfo.vb index 35864f1c..fe4ee67c 100644 --- a/Controls.LookupGrid/My Project/AssemblyInfo.vb +++ b/Controls.LookupGrid/My Project/AssemblyInfo.vb @@ -12,7 +12,7 @@ Imports System.Runtime.InteropServices - + @@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices ' übernehmen, indem Sie "*" eingeben: ' - - + +