LookupGrid: Add SelectedValuesChanged event

This commit is contained in:
Jonathan Jenne
2019-06-11 10:33:38 +02:00
parent 9b17c1fbcb
commit f50c795362
2 changed files with 22 additions and 2 deletions

View File

@@ -13,6 +13,9 @@ Imports DevExpress.XtraEditors.Controls
Public Class LookupControl2 Public Class LookupControl2
Inherits GridLookUpEdit Inherits GridLookUpEdit
Public Delegate Sub SelectedValuesChangedHandler(sender As Object, SelectedValues As List(Of String))
Public Event SelectedValuesChanged As SelectedValuesChangedHandler
Public Property MultiSelect As Boolean Public Property MultiSelect As Boolean
Public Property AllowAddNewValues As Boolean Public Property AllowAddNewValues As Boolean
Public Property PreventDuplicates As Boolean Public Property PreventDuplicates As Boolean
@@ -132,6 +135,12 @@ Public Class LookupControl2
Values.RemoveAll(Function(v) String.IsNullOrEmpty(v)) Values.RemoveAll(Function(v) String.IsNullOrEmpty(v))
' Update selected values before changing edit value
' in case EditValueChanged event is used to detect changes
_SelectedValues = Values
RaiseEvent SelectedValuesChanged(Me, Values)
If MultiSelect = True Then If MultiSelect = True Then
Properties.DataSource = Values Properties.DataSource = Values
@@ -148,8 +157,6 @@ Public Class LookupControl2
Text = Values.FirstOrDefault() Text = Values.FirstOrDefault()
EditValue = Nothing EditValue = Nothing
End If End If
_SelectedValues = Values
End Sub End Sub
Private Function GetLookupForm() As frmLookupGrid Private Function GetLookupForm() As frmLookupGrid

View File

@@ -16,8 +16,21 @@
LookupControl22.DataSource = oDatatable LookupControl22.DataSource = oDatatable
LookupControl22.SelectedValues = oSelectedValues LookupControl22.SelectedValues = oSelectedValues
LookupControl22.ReadOnly = False LookupControl22.ReadOnly = False
LookupControl22.MultiSelect = False
LookupControl22.SelectedValues = New List(Of String) From {"", Nothing, "LOL"} LookupControl22.SelectedValues = New List(Of String) From {"", Nothing, "LOL"}
AddHandler LookupControl.SelectedValuesChanged, Sub(_sender As Object, SelectedValues As List(Of String))
MsgBox("Selected Values: " & String.Join(",", SelectedValues.ToArray))
End Sub
AddHandler LookupControl21.SelectedValuesChanged, Sub(_sender As Object, SelectedValues As List(Of String))
MsgBox("Selected Values: " & String.Join(",", SelectedValues.ToArray))
End Sub
AddHandler LookupControl22.SelectedValuesChanged, Sub(_sender As Object, SelectedValues As List(Of String))
MsgBox("Selected Values: " & String.Join(",", SelectedValues.ToArray))
End Sub
End Sub End Sub
Private Function GetDatatable() As DataTable Private Function GetDatatable() As DataTable